Implementation of cloud infrastructure for Magic Commerce, based on microservices, containers and IaC approach
The Magic Commerce company is the developer of the Amano mobile application, which allows you to aggregate and monitor all online purchases, promotional offers and newsletters of online stores. In addition, the app is to eventually offer simplified returns for goods bought online. The company wants to improve users' post-purchase experience and improve the effectiveness of reaching customers with marketing content and improve retailers' conversions.
The beginning of the cooperation
Our cooperation with Magic Commerce began when the test version of the online store application was actually ready, and the client's intention was to prepare a cloud infrastructure for it, guaranteeing the proper operation of the application once it entered the market. The main assumptions included the construction of infrastructure as code (IaC), based on microservices architecture and containers, which will be capable of rapid scaling according to needs. Ultimately, the infrastructure is to be replicated in more AWS regions as the company expands globally. It is worth mentioning at this point that the investment was co-funded by Amazon Web Services' startup support program, and the value of the funding was $10,000.
Before starting the work, we performed an audit of the infrastructure within which the application was created, and the analysis of its results allowed us to choose the optimal solutions. The backbone of the entire infrastructure was auto-scalable Amazon ECS (Elastic Container Service and Amazon Aurora Serverless database. Our main task was to build an environment that works regardless of load, so we decided that in addition to containers, the database would also be scalable.
Infrastructure and security
Amazon S3 is responsible for handling static content, which, together with AWS Cloudfront, which is responsible for caching files, speeds up the application.
All images used, are stored in Amazon Elactic Container Registry (ECR) which sends them to Amazon Elastic Container Service (ECS), where containers are created. We implemented the whole thing in Terraform, following the CI/CD approach, while we used the Bit Bucket service for deployment. Thanks to this, the procedure of launching further environments and new functionalities of the client's application was shortened and simplified to the maximum.
Due to Magic Commerce's requirements, we implemented HIPAA COMPLIANCE security solutions. This includes encryption of traffic "on the fly" or encryption of disk contents. To connect to the infrastructure via bastion, we set up a VPN connection, while to monitor the infrastructure, we configured Dashboards on Amazon Cloudwatch.
In addition, we used Opensearch to collect application logs, whose data is visualized in Kibana (Open Search Dashboards). We also implemented Amazon SQS for sending and receiving emails, which is used in conjunction with Amazon SES and AWS Lambda to handle mailings.
Summary
We configured a scalable cloud infrastructure for Magic Commerce, based on containers, microservices and CI/CD approach. We secured the whole thing according to the HIPAA COMPLIANCE standard, ensuring proper encryption at every level. In addition, we implemented tools to monitor the new infrastructure and ensured that the client's team was properly trained, preparing them to work in the new environment.
Read also:
- Nationwide call center, based on Amazon Web Services
- Implementation and maintenance of cloud infrastructure in AWS for Displate
- Migration of DANONE applications and websites to Amazon Web Services
- Design and implementation of cloud infrastructure for optAd360, based on Kubernetes clusters and the IaC approach