Enabling Business Growth, Application Performance, and Rapid Software Delivery Capability on AWS for Simple.io
Simple.io required an ongoing managed service engagement to ensure the application and AWS underlying platform maintained performance, security and compliance requirements from both a business and a technical perspective
Increase in customer service experience and reliability
Improved cost optimisation, scalability application performance of Simple.io’s cloud environment
CMD Solutions provided detailed documentation, handover and upskilling of internal teams, building internal capabilities and ensuring knowledge transfer
Simple.io is an Australian based marketing software organisation. Their marketing operations platform helps to streamline companies’ marketing capabilities including the planning, creation and optimisation of all their marketing activities to deliver exceptional customer experiences across every marketing touchpoint. Their cloud-based platform provides a central workplace and source of truth that empowers marketing teams and their agencies with one view across all channels.
Simple.io were facing the following challenges:
- A lack of skill sets and internal capability in the cloud. This inhibited Simple.io’s ability to maintain, optimize and enhance the environment and improve security, performance and resilience posture in line with AWS best practice.
- Significant demand from business to adopt cloud technologies whilst maintaining business requirements and uplifting application performance
Third party applications or solutions used:
- Gitlab for CI/CD
- Packer for automated AMI builds
- Terraform for Infrastructure as Code
Fit-for-purpose AWS services were also used to ensure scalability, velocity of delivery, minimal operational burden, security and compliance. The solution included, but was not limited to, the following AWS services:
- AWS Systems Manager
- AWS Config
The project was split into two stages, V1 and V2. The first stage aimed to ‘re-engineer’ the environment and simplify the deployment process and make it consistent across environments and codify complex infrastructure.
Following this base work, V2 of the project established a new platform for the requirements specified by the new merchant. The Kubernetes platform would integrate infrastructure as code, automate deployment, have a customised ingress solution, log and monitor the entire platform and have a centralised secrets management solution in Hashicorp’s vault.
The team setup an entire new AWS platform using a combination of best-practice cloudformation and terraform, to meet a core component of the delivery – infrastructure-as-code.
CMD Solutions built multiple Amazon EKS environments across two different regions to provide cross-region failover capability. A standard EKS environment definition consisted of inherent autoscaling, spot instance support, monitoring via Prometheus and Grafana, and logging via elasticsearch. All workloads were deployed on spot instances to reduce costs, with the exception of production workloads. An elasticsearch domain was stood up, along with lifecycle and various management features within the EKS cluster, giving all clusters a central location for log management.
While building out the EKS cluster, several unique targets had to be met, including customised ingress controllers. There were several strict requirements by the merchant that included having fixed IP addresses (achieved by using global accelerators backed by NLB and nginx ingress controllers), and a hybrid ingress controller that utilised the ALB.
As the existing tooling was lacking critical features, CMD Solutions chose Gitlab (SaaS) for CICD tooling, incorporating the well-known three musketeers pattern (make, docker, docker-compose) to provide a consistent approach to building and deploying. Both infrastructure and development teams created their own distinct CICD pipelines. For containers, the build processes incorporated Jfrog artifactory for dependency scanning and sonarqube for code scanning. Abstracting away a lot of the logic inside makefiles gives the customer the freedom to not only choose a different CICD tool in the future if they want but also consistency in deployment approaches whether those be from the CICD tool or their laptops.
The CMD Solutions team promoted trunk-based development in both infrastructure and application deployments. This reduced complexity and gave teams better velocity in releasing to production.
CMD Solutions provided incident response coupled with Continuous Improvement to drive platform enhancements, protecting and enhancing the customers technology assets. The result of this engagement for Simple.io encompasses the following:
- Platform build and uplift, enabling access to cloud native services and other key benefits such as cost optimisation, scalability and uplifted application performance
- Detailed documentation, handover and upskilling activities ensuring effective knowledge transfer and build of internal capabilities.
- Repeatable deployment patterns to increase speed to value
- Improved security, availability and agility
Simple.io aims to be product leaders in the marketing operations software space. The aforementioned outcomes have helped and enabled Simple.io to provide stronger and more reliable customer experience, whilst driving stronger operational efficiencies.
CMD Solutions took on the management of Simple’s AWS environment with an initial focus on cost optimisation and improved environment stability through the introduction of high availability. These goals were achieved and completed as part of our monthly backlog creation and prioritisation through CMD Solutions’ next generation Managed Service offering. CMD Solutions also created a new Landing Zone following AWS best practice. Deployments were uplifted to enable the Simple.io development team to seamlessly deploy applications using automation, significantly reducing deployment times.
CMD’s Managed Service continues to drive improvements and uplift of the environment including the delivery of a Multi-Tenant solution.