Rapid development, delivery and cooperation based on trust
CloudPartners existing customer, Joe & The Juice, required a platform for a newly developed system to their loyalty program. The new system handles management and tracking of vouchers.
In order to keep the external developers from getting access to the full production account, the architecture proposed by CloudPartners implements best-practice multi-account setup with an IAM account and AssumeRole into production- and development- account.
Joe & The Juice is expanding rapidly internationally, which means that CloudPartners needed to architect a solution that was highly available and allowed for zero-downtime server updates and deployments.
The requirements we have mentioned, were realized by using a combination of Packer for creating custom AMI’s based on Ubuntu 16.04, AWS CloudFormation templates for describing resources.
- Amazon EC2 Auto Scaling Groups
- Elastic Load Balancing
- Amazon RDS configured for MultiAZ failover
- AWS Certificate Manager certificates
- Amazon Route 53 DNS records and Ansible to tie together- and deploy the AWS CloudFormation templates.
Secret management are handled utilizing ansible-vault and AWS Systems Manager Parameter Store.
For application deployment, CloudPartners setup AWS CodePipeline to support push-to-deploy from Github. This allowed the developers to deploy and to test as needed. The actual deployment is carried out using AWS CodeBuild- and AWS CodeDeploy steps in the AWS CodePipeline.
AWS CodePipeline and the associated resources (AWS Key Management Service keys, Amazon S3 buckets, policies, AWS CodeBuild project, AWS CodeDeploy Application et. al.) are also managed and deployed in AWS CloudFormation.
The resulting system allows automated cross-account deployments – where the external development team can conveniently initiate deployments, without allowing access for the developers to the production AWS account.
Joe & The Juice goes global
The scripted approach allows both DevOps- and developers to know for certain that the test systems and the production systems in the different accounts are functionally alike.
Automated consistent deployment methods enable the external developers to concentrate on writing code.
In the near future, CloudPartners will continue to improve the operational aspects of the solution. This is done by continuously improving monitoring and implementing ChatOps for a shared view of deployment pipeline status.
Furthermore zero-downtime deployment and patching allow Joe & The Juice to continue to expand and build brand loyalty globally, hence CloudPartners are fulfilling a requirement of the organization.
About Joe & The Juice
Since the startup in 2002, Joe & The Juice has grown to more than 230 juice bars in 11 countries.
Despite the growth, it is still the same basic principles that govern the company’s IT infrastructure and operations, namely Lean. Lean is also responsible for the entire business culture and the ability to do business.