Automating build and release pipelines is one of the highest impact practices Mercury has adopted in the last...
Automation for builds, releases and health monitoring
When development and operations come together, they reduce waste and produce higher-quality software:
DevOps takes the “one person who knows how to build that app” out of the equation by letting the cloud do the work
Automated pipelines and testing create a more agile, productive development lifecycle and quicker time to release
More opportunities for feedback and iteration throughout development offers better outcomes (and no surprises) at delivery
Operating in automated, cloud-based infrastructures means it’s easy to scale when you need (and only pay for what you use).
DevOps Strategy Planning
As Jez Humble has been quoted, DevOps is “A never-ending process of continual improvement”. However, it does have a definite start – your first plan to forge a DevOps roadmap and transform your software release processes, visualize cloud operations and identify traceable metrics.
MercuryWorks’ DevOps consultants develop pragmatic plans to help transform your delivery organization. Achieve results by improving the way engineering and operations teams collaborate, select toolchains, adopt Agile software development practices and release software.
We start by assessing your existing DevOps practices (or pre-automated build/release/ops methods), analyze key points for process improvement and recommend both strategies and actionable tactics to simplify deployment and improve outcomes.
Build and Release Automation
Continuous integration/continuous deployment (CI/CD) is the first engineering cornerstone that enables the classic “Three Ways” of DevOps. When an engineering organization ties vertical-sliced work to short-lived branches and automated releases, software development flow and quality both make huge strides forward.
Imagine not only fast and reliable releases but also having each developer’s changes to an application automatically bug tested as they move through the pipeline. For organizations accustomed to manual releases, the immediate benefits of quick and frequent releases, infrastructure built with code and verified software releases is an incredibly empowering shift.
Code Health and Monitoring
In addition to the automated testing and build/release verification built into our CI/CD pipelines, ongoing code health checks and application monitoring and alerting are essential for in any end-to-end DevOps strategy. Using SonarQube/SonarCloud and similar commercial offerings, we include code health checks INTO the CI/CD pipeline to ensure test coverage, gauge ongoing code health and add the confidence that the multi-times-a-day released software is sound.
Ongoing monitoring, automated alerts, auto-failovers and auto-scaling maximize uptime and help anticipate future problems for continuous improvement and iteration. Microsoft Azure Monitor and particularly Application Insights are key tools that we use to make use aware of application performance, exceptions and/or outages.
The First Way
The First Way enables fast flow of work from development to operations and the user/customer. To maximize flow, we make work visible, reduce our batch sizes and build in quality by preventing upfront defects. By speeding up flow through the tech value stream, we reduce the lead time required to fulfill requests and boost our delivered value.
The Second Way
The Second Way enables fast and constant flow of feedback from operations and the customer back to development. By seeing and swarming on technical and functional problems as they occur, we continually shorten and amplify our feedback loops, a core tenet of virtually all modern process improvement methodologies.
The Third Way
The Third Way focuses on continual learning and experimentation – it enables a culture that supports a dynamic, disciplined and scientific approach to improvement and organizational learning. By continually shortening and amplifying our feedback loops, we create more resilient systems of work and are able to learn faster than the competition.