Architecture Planning, Building CI/CD
The client sells pet food both online and offline, and his development team required DevOps guidance from a third-party. Our team’s main goals were to assist the dev team in building CI/CD, configuring environments & applications on AWS Beanstalk, and taking part in architecture planning.
The client required having a scalable environment with easy and clear deployment on AWS, development flow improvement, and decreasing the time between code commit and deploy.
All development processes before our intervention had been in manual mode that significantly affected the team performance. On the high pick load (about 150 concurrent sessions), the web app worked with very high response time.
As a cherry on top, the app’s architecture was of a monolith kind – it was redundant and obviously unprepared to be deployed to the scalable platform.
+ We’ve started with a deep audit and provided a new architecture scheme suited to AWS services.
+ Our team separated all components on independent AWS services – we chose EC2 for the main application on AWS Beanstalk, and the DB was moved on AWS RDS, data was kept on S3.
+ For CI, we used GitlabCI as a standard Corewide solution. For CD, we used the AWS CodeDeploy service. When implementing, we conducted load tests and security checks.
+ Our work’s main result was increasing the performance of the web application – we managed to increase concurrent sessions up to ~1500 without affecting response time and functionality.
+ We reduced the development cycle from push to deploy to ~10 min without downtime and configured rolling updates.
+ Among other things, we set up security policies/groups. Our team created a backup strategy and configured robust monitoring on AWS Cloudwatch.
+ All our activities were documented and provided to the customer.
+ Corewide still provides DevOps support services, and we are working on improvements regarding development needs.
#AWS #BeanStalk #Github #EC2 #CodeDeploy #GitlabCI #CloudWatch