The Art of DevOps
By Brett Hofer, Global DevOps Practice Lead, Dynatrace
The famous Chinese manuscript, The Art of War, has been an inspiration for winning methodologies around the globe for over a thousand years. Today, digital performance experts can use this historic text as a metaphor to explain what has been proven in the battlefields of application development, testing, and operations—and what we can learn from the long arduous processes that have been tried and have failed over time.
To position your DevOps team for a win, you need to maintain focus on continuous frontline monitoring, total situational awareness, and ongoing communication between the troops responsible for development, operations, and deployment in the field.
You need a best practices approach to equip your team with the necessary tools to execute these three elements efficiently, and there are three areas where the art of DevOps comes into play:
- Islands of development
- Staging grounds
- Operational battlegrounds
Islands of Development
Figure 1: The islands of development
In the development zone engineers, programmers, and software architects respond to orders to research, build, and fix or change applications. Adding advanced performance monitoring technology to your arsenal can prevent problems from infiltrating code after it is checked in. Good tracking and release management systems like JIRA, Agile, TestTrack, and Caliber provide line of sight to weaker troops and assets so orders can be more easily tracked through each delivery sprint.
To mitigate risk, you need to find and solve any problems before they're causing problems in the field. One way is to leverage advanced application performance management (APM) technologies to provide your team visual representations of transaction flows, comparison analysis between prior builds or operational builds, and other advanced performance insights. Pinpointing issues at the earliest possible moment reduces the need for numerous break-points and line-by-line debugging.
Not only does APM prevent risky code check-ins, but it allows designers (solution engineers and architects) to perform visual architecture validations rather than tedious full code reviews.
Figure 2: Staging grounds
Here, you'll prepare for battle, and determine if you're ready to proceed to the front lines. To ensure a successful frontline deployment, supplement manual tests with automated testing, and arm your environment with advanced performance monitoring. Advanced performance technology empowers your team to test exhaustively, efficiently, and intelligently to evaluate battle readiness of each build.
Technology can be a winning asset in this stage as well, to assess how each addition or change in a sprint will affect the overall operation of your product. So, automated testing needs to be in place. Test automation reduces issue identification time, and enables troops to focus manual test cases on specific scenarios. Then, you're ready to move into advanced performance monitoring with services such as synthetic monitoring, which leverages a global network of machines to simulate a vast number of end-users with a diverse set of desktop configurations and mobile devices. High traffic and other patterns can be re-created to understand how your product performs in the real world.
Automated testing, combined with highly focused manual testing provides, is the best approach to identifying any issues of concern before the stakes are raised in deployment. With solid testing you know what to expect, you understand your weak points, and you can fix them or bring in enforcements before deploying.
Figure 3: Operational batttlegrounds
These are the production frontlines—where your product is put to the ultimate test. Here, you need to quickly identify and prevent casualties of poor performance. Best-in-class communications are crucial, as is advanced performance monitoring. These are the linchpins to good situational awareness as the world of users converges into the environment of the application, pushing it to sometimes-unexpected extremes.
Winning the war means keeping customers happy with an exceptionally good end-user experience no matter what extremes the application is up against. So, the same APM tools and metrics used in development and testing are very valuable here. The intelligence this provides gives your virtual command center the insight it needs to make smart decisions for the entire team in real-time.
You don't want to win battles but lose the war. So, embrace a DevOps approach if you haven't already, and consider all the facets to be sure the entire team is working in lock step. When everyone works closely, informed by strategic business goals and metrics, sprints align with business value. Smooth paths of communication with a common perspective shared among Dev, Test, and Ops make everything happen more efficiently, which accelerates time to market and delivery of a high-performing product.
Ultimately, you're driving to ensure your team is working smart and not just hard—a well-oiled machine, with each group performing optimally and supporting the performance of the others. Your goal is to deliver a bullet-proof application without requiring war room scenarios where firefighting and damage control are in the forefront instead of moving forward to conquer your next goal. By mastering the Art of DevOps, you'll be equipped to win with the best-trained leaders and troops working hand-in-hand, the ideal tools and proven best practice approaches. This is fundamental to ensuring that your team is set up to win.
For a deeper dive into this topic, you can read more here.
About The Author
|Brett Hofer is as passionate about DevOps as he is about music and art. Specializing in delivering complex mission-critical software under methodologies such as Agile, Lean, and Waterfall (to name a few), his success at managing and delivering projects with complex technical and political challenges is almost legendary. More than twenty years of broad software/IT experience—from product designer and solution architect to senior management—has given him a unique 360° perspective on IT that has earned the respect of customers and peers alike. Tweet him at @brett_solarch|