Continuous Integration / Continuous Delivery (CI/CD) Pipeline on AWS
The University of Auckland CI/CD Pipeline on AWS
About The University of Auckland
The University of Auckland is the largest university in New Zealand. Established in 1883 the university is made up of eight faculties over six campuses. It has more than 40,000 students and 2000 staff, nearly 10,000 of whom graduate annually.
The University of Auckland have identified that their current CI / CD Pipeline on-premises was unable to meet the requirements for their long term plans - support for hybrid and multi-clouds, scalability, elasticity, high availability, cost effectiveness, and modularity.
Consegna designed and implemented a CI / CD Pipeline using AWS services to leverage Jenkins in a master/slave configuration. The solution is fully containerised and AWS services such as ECS and ECR are used. Using EC2s Application Load Balancers and Auto Scaling Groups ensure the CI / CD pipeline is elastic and highly available with minimal downtime during pipeline deployments and underlying platform issues. Instances run as part of the pipeline use spot pricing to keep the overall cost of the solution manageable.
Deployment of the CI / CD pipeline uses Infrastructure-as-Code
The CI / CD pipeline is provisioned on AWS via Terraform scripts maintained in-house by The University of Auckland staff. Terraform is the Infrastructure-as-Code tool chosen by The University of Auckland to support their multi cloud strategy. It allows deployment to multiple platforms for different teams and different environments.
The CI/CD pipeline supports and integrates with the existing authentication system of the UoA
The University of Auckland leverages Shibboleth as their authentication system and it must be integrated with the CI / CD pipeline components. By creating their own customised Jenkins images based on the official one, The University of Auckland can easily integrate the CI / CD pipeline components with Shibboleth while at the same fully leverage IAM for permissions management.
The CI / CD pipeline must be highly available and scalable
The CI / CD pipeline architecture leverages EC2s Application Load Balancers, Auto Scaling Groups and ECS to ensure the Jenkins Master and its slaves are highly available. Appropriate CloudWatch alarms allow the AutoScaling group to scale in and out based on the number of jobs running in Jenkins. Via ECS, the Jenkins Master task is always up and running as the desired task is set to 1. In case of failure, ECS will replace the failed container with a fresh new one (tests showed that the downtime is less than 5 minutes).
About Consegna and AWS
Consegna continue to prove their ability to deliver exceptional customer Cloud integration outcomes. Working closely with AWS, we combine the best Amazon platform and infrastructure components to create fit for purpose services. We provide our clients with a tailored Cloud migration roadmap and formulate an outcomes focussed Cloud strategy, customised to their unique requirements. The partnership of Consegna and Amazon Web Services offers reliable, scalable, and inexpensive Cloud computing services for all business outcomes that can enable you to reduce TCO and maximise your benefits including agility and security.