AWS Supported Automated Deployment Process Brings Cost Savings and Decreased Time to Market for goTransverse
GoTransverse is a Financial Services company offering a full-stack subscription and usage-based billing platform for enterprise. Cloud-based platform delivers an intelligent billing solution for customers’ quote-to-cash. The platform addresses the challenges businesses face when they rapidly deploy new products and services with sophisticated pricing models at global scale.
It also helps companies automate billing, increase revenue, identify customer trends, and deepen customer loyalty. GoTransverse users can make information-driven decisions based on customer activity that positively impacts business results. They can use platform as REST API service and UI web client.
The GoTransverse platform is multi-tenant SaaS solution with core service and a set of microservices installed and configured on-demand.
The specific project goal was scalability. Production environments required automation of management procedures and consistency.
The main challenge was that all production environments were in different availability zones and different regions (according to multi-customers’ requests), and are multi-tenant.
GoTransverse created a fully automated deployment process across all environments and a ready-to-use environment via a “magic button”. Disaster recovery and rollback mechanisms have been also defined as key goals.
Additionally, the migration around managed container orchestration services from container clusters managed by Rancher 1.6. AWS EKS service became stable and PCI compliant only after the migration to AWS cloud. AWS EKS could be considered as a postponed solution only for the optimization phase.
The current phase of this project is about creating all the multi-client environments from scratch following AWS best practices, Infrastructure-as-Code principles, and using proper tools, techniques, and methodologies.
The project is using AWS cloud and typical AWS infrastructure, including EC2, RDS, VPC, Route53, ALB, ElastiCache, SQS, SNS, and S3. SoftServe guides goTransverse on AWS best practices, AWS well-architected framework and references, and using DevOps as a set of cultural principles, practices, and modern tools.
Using AWS and a multi-account strategy, GoTransverse and SoftServe teams were able to implement a multi-tenant SaaS solution with ability to easy develop and regularly update customers’ services and components without major issues.
Through a variety of approaches, from an Operational Excellence pillar to AWS Well-Architected Framework, GoTransverse and SoftServe overcame challenges and improved the collaborative experience.
The primary goal is to continue the integration of DevOps practices across the organization and improve collaboration between departments (developers, operations, implementations teams, etc.), as well as on-board modern approaches and technologies.
One of the key results was decreased time to market. The old approach took about five days to create a new environment. The new one, with the help of modern tools like Terraform (for IaC), takes only several hours.
Cost saving is another benefit – AWS managed services with enabled autoscaling features allows us to reduce costs and stop guessing as to required capacity.
Project outcomes include:
- "IaC" Infrastructure as code (Terraform, Ansible)
- Multi-tenant implementation via AWS multi-accounts
- Managing all resources from Management VPC
- Separate account for Management VPC and Shared Services (GitLab, Jenkins, etc.)
- Golden AMI Images pre-baked with all required packages, patches and updates installed
- Managing applications configuration via management service
GoTransverse and SoftServe have learned several lessons and are looking forward to the next improvements and optimization phases.
Key lessons learned:
- Optimization is a must after a Lift and Shift migration
- Optimization includes cost optimization and application re-architecture
- Proper tagging strategy allows us to automate workload
- Managed services should be used where possible to reduce operational risks. Issues and problems with outdated Rancher 1.6 with Cattle orchestration engine were solved by migrating to AWS EKS (PoC has been done). AWS Secret Manager and System Manager Parameter Store can be easily integrated with other AWS services and improve components from a security perspective
- Transit Gateway can simplify complicated network topology with the requirement for the connection of multiple VPCs
- CI/CD pipelines for Infrastructure-as-Code have to be implemented to reduce operational risks and negative impacts of untracked changes. It also allows us to improve change management approaches and procedures and enhance quality of documentation