A few months back we delivered a DevOps Toolchain webinar. The idea was to explain DevOps by demonstrating how a business requirement, starting from the planning and definition stage, makes its way into a system via version control, is built, automatically tested, and then deployed to an environment for immediate feedback.
Because we believe that planning is the key to a proper Software Development Lifecycle (SDLC), our demo and message was heavily weighted in development activities and less on operational processes. The following is an example of an automated DevOps pipeline built for a Planit DevOps customer:
DevOps is to software development what Interchangeable Parts and Just-In-Time (JIT) are to manufacturing, and this is our assembly line. It is what enforces product quality and speeds up time to market. We believe in providing freedom for developers to release their inner creativity, with an added touch of behavioural enforcement.
Our pipeline follows a “build once, deploy many” paradigm. For a software change to be included here, it must have been previously developed in a feature branch and then pulled into the release branch via dev lead approval. Below is an oversimplified view of this branching strategy.
The path to production
Each time the product begins its journey on the path to production, the whole of the solution is built and pushed to a binary repository store like Artifactory. Next, the application is deployed in its entirety to a dev environment, with all environment specific configuration, including masked passwords, applied via an automation tool like Ansible.
A successful deployment kicks off a full regression suite of functional tests written with Tosca or the Robot Framework. A manual approval by team leads will move the application into a performance, stress, and volume test (PSVT) environment, where a tool like JMeter will carry out an automated performance test.
Another approval and the application is deployed to the user acceptance test (UAT) environment. Here the full regression suite is run again with the addition of manual and exploratory testing. After signoff from key business stakeholders, we deploy to Production and DR with confidence.
It’s important to note that deploying is a business decision. Even after the pipeline proves its worth in lowering defect leakage and enabling quick feedback loops, business never stops.
Our DevOps practice provides organisations with assured outcomes from capability assessments to enterprise-wide implementations. You may still spend the occasional Friday night participating in a deployment ritual, but you will do so with the click of a button and the confidence of success each and every time.
To find out how DevOps can benefit you, visit our DevOps Optimisation & Services page.