Migrate to AWS with ECS: ChargeMap case study
At Technofy, we're delighted to share with you the case of ChargeMap's migration to AWS. This article outlines the challenges they faced and the solutions we proposed as a trusted partner to ensure a smooth and efficient migration to AWS.
ChargeMap is a fast-growing French company offering electric vehicle drivers (businesses and private individuals) services such as geolocation of charging stations and payment solution.
ChargeMap had been experiencing recurring service availability problems with their previous cloud provider, causing significant operational disruption and hampering their ability to serve their customers effectively.
As a result, they were looking for a reliable and scalable solution capable of ensuring high availability and optimal uptime for their services.
Business Pain & Challenges
The company was facing the following challenges with their former cloud provider:
- Availability issues : Frequent disruptions were wreaking havoc on their operations.
- Scalability and flexibility struggles
- Support and expertise shortcomings from the former cloud provider.
- Migrate infrastructure composed by more than 175 microservices:
1. Workload: ensure all applications run smoothly in containers
2. Migrate data including databases, redis and Elastic Search, with minimal impact on services' uptime.
- Set seamless Automated deployment workflows (CI CD) for infrastructure and applications
- Manage all the infrastructure with Infrastructure-as-code tool (Terraform).
- Implement best practices related to AWS, DevOps and security.
- Ensure cost control : optimizing infrastructure for efficiency.
- Change management : support to Chargemap teams throughout the transition process, including training and procedure definition.
In order to provide a reliable and scalable solution, the following steps were taken:
1. A proof-of-concept with ECS: We validated the feasibility of containerizing and deploying ChargeMap's applications on AWS using Amazon Elastic Container Service (ECS).
2. In-Depth Infrastructure and Application Study: A thorough examination led to the creation of the target architecture and a migration plan.
3. Migration to AWS (Build)
4. Migration Procedures: Comprehensive procedures were defined for each component.
5. Knowledge Transfer and Ongoing support : We accompany ChargeMap's teams throughout the migration journey to ensure an efficient transfer.
The deployment process for ChargeMap begins with the developers tagging their code within the Git repository. This action triggers a series of automated procedures, including code compilation, archiving in ECR, and deployment within the ECS cluster.
A front-end load balancer distributes workload across cluster tasks and services, with ECS tasks able to access various AWS services like OpenSearch, Elasticache for Redis, and RDS Databases.
The AWS Organization consists of a primary / master / billing account, with additional accounts organized into teams within distinct Organizational Units.
Each environment operates on a separate account, complemented by a shared services account, to streamline resources across teams and environments.
The following technologies were used in the migration to AWS:
- Amazon Elastic Container Service (ECS): Used to manage and deploy containerized applications at scale.
- Amazon Relational Database Service* (RDS) : Used to host and manage relational databases in the cloud.
- Amazon CloudWatch: Used to monitor and manage AWS resources and applications.
- AWS Identity and Access Management (IAM): Used to manage access to AWS services and resources.
- Amazon SNS*: Simple Notification Service used to send notifications and alerts to subscribed endpoints or clients for microservice architecture.
- Amazon SQS*: Fully managed message queuing service used to decouple and scale distributed applications and microservices.
- Amazon DMS: Database Migration Service used to migrate databases from the former cloud provider to AWS RDS.
- Amazon OpenSearch*: Amazon OpenSearch is an open-source search and analytics engine, compatible with Elasticsearch, designed for efficient data indexing, search, and analysis within various applications and services.
- AWS Single Sign-On (AWS SSO) : simplifies user access to multiple AWS accounts and business applications with a single set of credentials, enhancing security and management efficiency.
- Amazon ECR : Elastic Container Registry used to store, manage, and deploy Docker container images.
- Terraform: Open-source infrastructure as code software tool used to build, change, and version infrastructure.
* components already used in original infrastructure
The migration to AWS across ChargeMap Teams is currently in progress, and after the implementation of a highly available architecture we expect the following results :
- Enhanced availability and uptime for the company's services
- Increased scalability and flexibility to meet changing business needs
- Fortified security and access control for sensitive data
- Improved monitoring and management of AWS resources and applications (notifications)
- Infrastructure management improved : version controlled and automated deployment
In conclusion, the move to AWS is anticipated to empower ChargeMap, enhancing operational standards, elevating customer service, and achieving business objectives with heightened efficiency and reliability.