DevOps Talks week of Feb 17-21

There were lots of webinars this week in the DevOps space. I am still pushing VnV DevOps for DevOps and IT Service Management consulting. This week, while still pushing forward, I paused to attend several webinars from TechStrong and Cloud Canaries. Part 3 in the “Friends” series from OpenText talked about “the one where automation gets ship done” and another webinar about an Edge AI success story around Sports Analytics. I love the Friends series because I really like what OpenText and Don Jackson (Field CTO, OpenText) is doing in his space around really linking the DevOps Infinity Loop together and minimizing the touchpoints or approvals required in the pipelines. For Edge AI, Latent AI has joined forces with FSP to unveil a unique use case for moving AI processing from the cloud to the edge.

Cloud Canaries (Mark Callahan and Helen Beals) spoke about observability and how Open Telemetry and Agentic AI can help. Their product, Cloud Canaries, allows you to deploy canaries to strengthen observability and monitoring. Two focal points from Mark were bringing a low-cost solution to the table and providing an agentic AI solution around monitoring and observability. Do I really have to learn something new, and can I remove some the old stuff? Agents allow you to “take over” other solutions. So, eventually, a roll-up of solutions could be on tap.

(Courtesy: Cloud Canaries)

Cloud Canaries works with DataBricks and Snowflake to connect to ML AI tools. They also have their own neural network to use for a price. For forecasting, we generally look for events, not deploys or releases. A ticketing system like ServiceNow can be notified. The workflow for that canary can be displayed in the dashboard in order to determine whether the “learning” is correct or if that “learning” needs to be modified.

In 2025, autonomous remediation with low-cost tooling will be the calling for cloud service users and application developers. Increasing observability and monitoring will be part of the equation.

Please subscribe to my blog by entering your email address in the bottom right corner.

State of Software Delivery and AI

Listening to the folks at Harness talk about how AI will impact Software Delivery in 2025 and beyond. 37 years ago, I had to take a course on AI as part of my Computer Engineering degree, but no one valued that course. Fast forward to today, AI is another “label” that everyone wants in on. Executives in various companies are willing to spend money for 1-2 quarters, to be able to tell their peers “We do AI.” Same thing happened with “DevOps” and “Testing”. No, you don’t do any of these “things” well.

Really good conversations with Dean Clark (GFT) about Shadow AI, Eric Baran (AWS) about CodeGen bottlenecks and what’s next in AI and SDLC with the great Gene Kim. Has AI helped reduce the time that developers use to actually write code? Yes and no. Now, it takes us less time to write mundane tasks, so that we can spend more time writing more meaningful things.

Loved the session and can’t wait to see more changes this year in 2025.

Managing releases remotely

It was the end of August 2017. The remnants of Hurricane Harvey were still hovering over the city of Houston. The water from the nearby bayous rushed into our buildings. The lobby had four feet of water and no one could get in or out of the building. My team was responsible for the Digital Transformation releases and back then, all releases were done on a Saturday. We’d all come into work at 8 AM. Breakfast and Lunch were brought in for the team. We’d all be lucky to go home on these Saturdays by 8 PM. The production deployment took about 3 hours, the rest was spent on production smoke tests and verification tests. This Saturday was different. The business decided that we would postpone the release by two weeks – this would allow people to get back to their homes and perhaps allow us to get back to the office to perform the release.

Unfortunately, it would be months before people could return to the office. The business made the decision to execute the software release mid-September, so we knew this release would have to be done remotely.

Sound familiar? With the COVID-19 pandemic impacting the world, all of your IT employees are staying safe at home. In times like these, software releases can become a challenge, unless you take steps to manage those releases remotely. Some of these steps take some planning and coordination but will get your teams releasing code into production much more efficiently and effectively.

  • Recruit a Release Manager – Notice I said “recruit” and not “hire”. Experienced Project Managers in the IT Operations space typically know how to manage large releases into production. The key is to have an individual who can coordinate and communicate effectively during the course of the release cycle. Release management is a relatively new but rapidly growing discipline within software engineering. As software systems, software development processes, and resources become more distributed, they invariably become more specialized and complex.

Organizations that have adopted agile software development are seeing higher quantities of releases. With the increasing popularity of agile development, a new approach to software releases knows as continuous delivery is starting to influence how software transitions from development to a release. One goal of Continuous Delivery and DevOps is to release more reliable applications fast and more frequently. Release Managers are beginning to utilize tools such as application release automation and continuous integration tools to help advance the process of Continuous Delivery and incorporate a culture of DevOps by automating a task so that it can be done more quickly, reliably, and is repeatable.

In organizations that manage IT Operations using the IT Service Management paradigm, specifically the ITIL framework, release management will be guided by ITIL concepts and principles. There are several formal ITIL processes that are related to release management, specifically the Release and Deployment Management process, which aims to plan, schedule, and control the movement of releases to test and production environments.

Having a Release Manager in place will help teams coordinate releases better when they are not face-to-face.

  • Create a plan and release template for current and all future releases – Having a release plan in place and allowing it to be visible will provide transparency to stakeholders and everyone in the organization. This can be as simple as an Excel spreadsheet with each row describing the task, planned start and end time of the task, the person responsible, and the actual start and end time of the task. During the release, the individual assigned to the task can call out on a conference bridge or via video to visually show the completion of the task. If there are any issues during the completion of the task, the Release Manager takes notes and ensures that an appropriate incident is filed and tracked to completion.

The Release Manager understands business needs and their priorities and under what circumstances those priorities can change. The Release Manager has a clear picture of development dependencies and how changes to one part of a product can affect the stability of the whole. These dependencies need to be clearly outlined in the release plan.

Large releases for programs or enterprise-wide initiatives typically will have breakout bridges or rooms for sidebar conversations during the course of the release. These should be planned for by the Release Manager in advance.

  • Utilize collaboration tools like Microsoft Teams – Audio conference bridges like GoToMeeting or WebEx are great for release day activities. However, in order to coordinate meetings heading up to the release and being able to save documents or create wiki pages for the release, there is no better tool than Microsoft Teams. Teams gives your organization the ability to collaborate and communicate effectively for releases.

 

  • Know existing issues in production – This sounds simple, but in my experience, has been the single reason that releases become non-trivial exercises involving tens and perhaps hundreds of people. On the day of the release, a verification / validation test script needs to be in place in order to verify and validate only those functions that were modified for the release. Over-zealous business analysts or business users stumble upon a problem in production and fail to realize the problem has existed in production before the current release was planned. If that’s not being fixed in this release, it should not be the focus of validation tests.

 

  • Use Release Management software – As a Release Manager, I have used several tools to manage deployments, releases and communications. Two that stand out are XebiaLabs’ XL Release and IBM’s Urbancode Release. These products allow for swimlanes for various teams and the ability to combine swimlanes into a cohesive release plan.

Remember the release that was supposed to happen at the end of August 2017, but was later pushed to mid-September? Well, we had a release plan in a spreadsheet and were able to complete the release in a little over 3 hours. Back then, we all used a conference bridge and my team helped with each step of the release. We knew the existing issues in production and therefore only validated the changes that were being made to the system during the release cycle.

Software releases can be managed remotely with the right coordination and collaboration between all stakeholders. If you would like to talk to me about managing releases remotely, please send me a note at sagar@vnvdevops.com.

What is release management?

LinkedIn – linkedin.com/in/sagarkarma

Twitter – @sagarvnvdevops