Case Study: Applying modern DevOps concepts in AWS
About Law of the Jungle
Law of the Jungle solutions overcomes the gap between the business aim and the legal constraint for marketing compliance. Their solution increases the productivity for effective compliance, getting more done and reducing time to market. Bringing agile methodologies to marketing teams and guiding them through the compliance aspect using artificial intelligence on AWS.
Law of the Jungle was already running workloads in AWS, however with lots of configuration management and complex deployments. Already in the microservices path and leveraging security in AWS. Law of the jungle aims to reduce configuration management and align the deployments do DevOps culture, running containers in AWS was the solution chosen by DNX.
DNX Proposed Solution
Our solution proposed for this scenario is to modernize the current java microservices leveraging Docker containers and orchestrate them using AWS Elastic Container Service clusters. In order to reduce configuration management, the applications were modernised applying 12-factor concepts improving also the continuous deployment by using environment variables stored in SSM Parameter Stores. The ECS Service uses task definitions, it is a powerful tool to achieve immutability and run multiples containers across the cluster instances sharing the same file system, where EFS have mount targets across the different availability zones.
As most of the projects, at DNX we start deploying our AWS platform as it is the first layer of modernisation, the AWS Well-Architected Foundations built by DNX applying affective infrastructure code patterns, brings instant value to our clients, as it covers essentials aspects to an organization that has DevOps culture incorporated into their DNA.
You can check more details about our AWS Platform solution on this link.
Once we have the terrain prepared we start the modernisation phase, where DNX team prepare the microservices to the new cloud environment. With immutable concepts applied since the building stage into the Bitbucket pipelines to the applications production stage in AWS, the configuration management is eliminated. There is no need to access production or staging servers once they are up and running and if an exceptional need appears, the connection is secured executed by SSM Session manager as every EC2 instance has its agent installed.
It is important to mention that DNX uses spot instances for the ECS cluster, generating 70% cost reduction on average. Also, our solution implements a well-architected account topology in AWS. Where Law fo the Jungle can have testing and development environments identical to production with reduced or similar compute power. Adding a management account facilitates security and audit aspects, keeping non-prod and production environments secure and high available even during an audit process or security tests.
The container built during the building stage will be deployed across AWS accounts and environments. It ensures that the same application that is tested is deployed to production, providing consistency during bug fixes and new releases:
Application Docker Build and Push to ECR
Application ECS Blue-Green Deployment using AWS Code Deploy
Automatic deploy to QA / Staging
Automatic deploy to production with manual approval
It is worth to mention that during the whole project, DNX executes transfer knowledge sections with DNX AWS certified professionals to Law of the Jungle. DNX believes that is the right way to build a healthy relationship with customers and partners.
Some of the AWS Services provisioned:
AWS Elastic File System (EFS)
That is a stress-free environment built by DNX Solutions. A safe place for experimentations and faster new features time to market, as LOTJ solutions promote to their customers DNX provided the conditions and tooling in AWS to apply modern and efficient DevOps practices in the organization.
At DNX Solutions, we work to bring a better cloud and application experience for digital-native startups in Australia.
Our current focus areas are AWS, Well-Architected Solutions, Containers, ECS, Kubernetes, Continuous Integration/Continuous Delivery and Service Mesh.
We are constantly hiring cloud engineers for our Sydney office, focusing on cloud-native concepts.