Welcome!

@DevOpsSummit Authors: Zakia Bouachraoui, Stackify Blog, Jnan Dash, Liz McMillan, Janakiram MSV

Related Topics: @DevOpsSummit, Microservices Expo, Linux Containers, Containers Expo Blog

@DevOpsSummit: Article

DevOps and App Supportability | @DevOpsSummit #DevOps #Microservices

Thoughts from an outback breakdown

On a recent road trip I was reminded about the importance of DevOps feedback loops and application supportability.

I enjoy driving into the Australian outback. This probably explains why I prefer to take the back roads. On my last trip I did just that; forgoing the fast highway for a more sedate but picturesque route. Deciding to fill up at a small country town gas station on my way home I hit a snag. The marvelous electronic park brake system wouldn't disengage. It was late and I was stuck up that proverbial creak without a paddle - 200+ miles from home.

Once the profanities had subsided and the cold realization that I was stuck took hold, I started some problem solving.

Being bushwhacked by lousy support
Following numerous failed attempts to disengage the electronic parking brake I thought it best to read the supporting documentation. Lo and behold, opening the glove compartment revealed a 500+ page owner's manual - all hail the documentation gods!

Sadly my euphoria subsided and the cursing returned - buried half way through the manual was a rude awakener - "in the event of a parking brake malfunction we recommend you contact your nearest dealer for an inspection." Solid advice, but the nearest dealer was 200 miles away and that'd involve a costly tow.

Lessons learned - by nature, software applications are complex, but supporting them doesn't have to be. As we develop more intricate applications put yourselves in the shoes of some poor schmuck who's being dragged out of bed at 3:00am to fix up a problem. Like me, they'll benefit from clearer documentation, instrumentation and monitoring methods that guide them to a solution in context of their position or role.

Always beware of automation myopia
Usually there are lots of decent folks who offer help when your car breaks down. In my case that involved a number of real and pseudo mechanics. The funny thing was that every one of them (me included) focused their attention on the offending electronic system; never once considering a workaround. So after much scratching of heads, the general consensus was - "dude, once you have an electronic problem like this you're sort of stuffed."

Lessons learned - in the fast-paced digital world we increasingly put our faith in automation. So much so that we've lost touch with our tech skills and experience developed over many years - it's become atrophied. Automation is fine, but just like pilots who rely too much on autopilot, we can make errors when confronted with unexpected conditions. Therefore tools should be capable of being enhanced by the skilled folks who use them and also help broaden skills.

In high praise of feedback loops
When you're faced with spending a night in an off-track motel you get kind of inventive. For me that meant checking out some mechanical forums from the one bar of mobile service on my smartphone. After a couple of attempts I found a site that laid out all the steps involved in manually disengaging the park brake system. The site even pointed me to a tool in the luggage compartment that was specifically designed to address this problem. Finally after some manual effort (and more cursing) I turned off the system and could drive the car.

Lessons learned - establishing and feeding back information and knowledge across teams is essential to improve the quality of software applications. In my predicament I only managed to acquire knowledge when one specialist had taken the time to document and publish it. Sadly in IT, knowledge is often withheld or the tools we use fail to leverage it in software development, testing and release processes.

Turning up the volume doesn't work
I have to admit that I did get prior warning about problems. Weeks before the malfunction I had been plagued with intermittent alarms that I'd ignored by cranking up the radio volume. Then after they subsided, I convinced myself that everything was fine.

Lessons learned - in IT operations, staff are constantly dealing with alerts. Too often persistent alarms are ignored because they fall within established baselines, but over time they lead to systemic problems. This is due to operator "alarm fatigue," exacerbated by monitoring systems lacking the fine-grained analytical capabilities needed to distinguish real problems from false positives.

Modern applications are a lot like modern cars. They're complex to a point that no one likes looking under the hood when things go wrong. Never forget that in the quest for delivery speed, application supportability and continuous improvement through knowledge feedback is critical to success.

More Stories By Pete Waterhouse

Pete Waterhouse, Senior Strategist at CA Technologies, is a business technologist with 20+ years’ experience in development, strategy, marketing and executive management. He is a recognized thought leader, speaker and blogger – covering key trends such as DevOps, Mobility, Cloud and the Internet of Things.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@DevOpsSummit Stories
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developers don't think about, but you can even use Docker with ASP.NET.
If you are part of the cloud development community, you certainly know about “serverless computing,” almost a misnomer. Because it implies there are no servers which is untrue. However the servers are hidden from the developers. This model eliminates operational complexity and increases developer productivity. We came from monolithic computing to client-server to services to microservices to the serverless model. In other words, our systems have slowly “dissolved” from monolithic to function-by-function. Software is developed and deployed as individual functions – a first-class object and cloud runs it for you. These functions are triggered by events that follow certain rules. Functions are written in a fixed set of languages, with a fixed set of programming models and cloud-specific syntax and semantics. Cloud-specific services can be invoked to perform complex tasks. So for cloud-na...
Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally built by Google, leveraging years of experience with managing container workloads, and is now a Cloud Native Compute Foundation (CNCF) project. Kubernetes has been widely adopted by the community, supported on all major public and private cloud providers, and is gaining rapid adoption in enterprises. However, Kubernetes may seem intimidating and complex to learn. This is because Kubernetes is more of a toolset than a ready solution. Hence it’s essential to know when and how to apply the appropriate Kubernetes constructs.
In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many (23 percent) are employing the AWS Lambda serverless computing framework. It's clear: serverless is here to stay. The adoption does come with some needed changes, within both application development and operations. That means serverless is also changing the way we leverage public clouds. Truth-be-told, many enterprise IT shops were so happy to get out of the management of physical servers within a data center that many limitations of the existing public IaaS clouds were forgiven. However, now that we've lived a few years with public IaaS clouds, developers and CloudOps pros are giving a huge thumbs down to the...
To enable their developers, ensure SLAs and increase IT efficiency, Enterprise IT is moving towards a unified, centralized approach for managing their hybrid infrastructure. As if the journey to the cloud - private and public - was not difficult enough, the need to support modern technologies such as Containers and Serverless applications further complicates matters. This talk covers key patterns and lessons learned from large organizations for architecting your hybrid cloud in a way that: Supports self-service, "public cloud" experience for your developers that's consistent across any infrastructure. Gives Ops peace of mind with automated management of DR, scaling, provisioning, deployments, etc.