Building code effectively in the cloud
￼￼Technical Viewpoint by Costa Christodoulou, Head of IT Systems, ZetaSafe
Efficiencies in DevOps in the cloud are key to agility. My last blog “Releasing into the clouds” described near zero impact moving from dev/test into production. In this example we needed to balance efficiency with strong validation as this is a higher risk operation.
However, the first stage (Commit > Build > Deploy) there is much less risk, so we want maximum efficiency. This allows our testers maximum pre-release headroom and our developers to keep right on coding the great new features. Additionally, when you need to do an urgent release to squash that little bug, we can respond effectively and fast; and that’s what our customers expect.
Ready, Steady, Go!
From the moment a developer hits commit, their code is built and deployed to our development environment and staging slots across multiple regions in less than four minutes. Barely enough time to brew the coffee.
(Above is a screen grab from our Codeship dashboard of the completed build times)
How we do this
Below are the three important components needed to achieve this with example code/script on my GitHub repository here.
- Github is our code repository; one repository for each microservice (Check out our Technical Director’s Chris Wiles blog “Upgrade to a Microservice Architecture“)
- Codeship is our CI/CD (Continuous Integration / Deployment & Delivery). It detects every Github commit and triggers a new code build and deploys to our development environment.
- Azure App Service’s zip deploy with Azure CLI. This is the chosen deployment method. Codeship will zip our microservice package then push it to our Azure App slots where Azure will unzip the package and start the service.
The added benefit of this method is that the build phase happens once in a central location ensuring that the identical package is deployed to multiple regions, reducing the possibility of a version conflict across our regions.
Trusted by 1000+ education, healthcare, local government and FM organisations; ZetaSafe is the leading cloud based compliance software for health, safety and environmental risk management. ZetaSafe will help you to remain compliant with any requirement but is regularly applied to manage areas such as: water safety, fire safety, emergency lighting, gas and electrical, security, lab QA, routine checking, HVAC and LOLER inspections. For more information visit www.zetasafe.com