Today’s modern deployment pipeline is arguably one of the most important aspects of an organization’s infrastructure. The ability to take source code and turn it into a production application that’s scalable, reliable and highly available has become an enormous undertaking due to the pervasiveness of modern application architectures, multi- or hybrid-cloud deployment strategies, container orchestration and the leftward movement of security into the pipeline.
In part one of this blog series, we walked through some examples related to identifying problem areas during the sprinting and development phases of the DevOps lifecycle that could contribute to lower overall software delivery performance. In this post, we will change the focus to CI/CD and, using our Continuous Intelligence for Atlassian Solution, provide some examples on how to get a holistic view of the deployment pipeline to isolate issues, uncover the underlying problems with logs and close the feedback loop, thus optimizing your team’s or organization’s software delivery performance.
The practice of implementing continuous integration as part of a broader pipeline architecture is becoming a bare minimum requirement in delivering reliable, secure software at a competitive pace. Ease of use to achieve the primary objective of fetching source code from version control, building an application and storing or caching build artifacts has improved significantly over the past few years. However, this has also led to different teams in the same organization leveraging different tools and/or techniques to build software, making it challenging to measure software delivery performance across each team individually and even more so at the organizational level. The Sumo Logic Atlassian Solution leverages Bitbucket for both version control and continuous integration to capture events that are used as part of the software delivery performance metrics like lead time and deployment frequency, making it easy to quickly view actionable insights across an entire organization.
As mentioned in the previous post, we covered the Bitbucket Overview dashboard. This dashboard provides team and organizational-level insights for issues, pull requests, builds and deployments. From a top down perspective, users can quickly get a snapshot of their recent build status (successful vs. failed), a summary of recent builds and even a seven day comparison of status to understand how their builds are trending.
Digging deeper, users can dive into the Bitbucket - Builds dashboard to get deeper insights into build status by repository and over time. Tabular views of recent builds allow teams to review current activity and drill directly into the build or commit info in Bitbucket. This workflow helps surface commits that led to build failures, thus reducing bottlenecks in the pipeline.
Users can also drill into Bitbucket issues by type, priority, assignee and project using the Bitbucket - Issues dashboard. These statistics are also useful in quickly surfacing regressions and blockers that are tied to build failures or delays.
Continuous Delivery and Deployment
Continuous Delivery evolved from Continuous Integration as organizations looked to automate the software release process in a repeatable manner, allowing engineers to release code with just a few manual processes (e.g. manual quality gates, manually triggering a production deployment). Some teams have taken the last step in automating software delivery by achieving Continuous Deployment. With Continuous Deployment, every change in source code results in a build that can be deployed to production with no manual intervention or approval.
The process of combining CI/CD together, along with various deployment strategies across different teams, makes it even more challenging for organizations to get real time observability into the deployment pipeline. This is a challenge we have tackled head-on with the Atlassian Solution. Regardless of the deployment strategy in place, the Sumo Logic platform is able to consume events from the deployment pipeline and automatically hydrate dashboards that allow teams to monitor the CI/CD process and dive into issues to perform root cause analysis and close the feedback loop to remove bottlenecks.
For example, teams can again review the Bitbucket Overview dashboard to review deployments by status across test, staging and production environments. Commit info is linked in the dashboard, allowing users to quickly trace commits to deployment issues.
For deeper insights that can help users perform root cause analysis, the solution provides a Bitbucket Deployments dashboard as well. This dashboard gives users real time metrics around deployment status across their environments, tabular data for recent deployments, one day build status comparisons and trend data for successful deployments. These four different views of how deployments are performing across an entire pipeline make it easy for teams to quickly identify and resolve deployment issues, leading to improved deployment frequency and lead time.
In the final part of the series, we’ll explore the remaining practices associated with the DevOps lifecycle around monitoring and operating applications and infrastructure in production.
To learn more about our existing Atlassian solution, you can check out our listing on the Atlassian marketplace. Stay tuned for future news on our Continuous Intelligence for Software Delivery Performance offerings!
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.