Freedom of choice – Three Ways DevOps is Revolutionizing Enterprise Software

“I’m free to do what I want, any old time”

– “I’m Free” – Rolling Stones

Here comes the Revolution

Anyone reading the tech news today these days can see that something profound is happening with enterprise software. Venture capital money is flowing into enterprise startups (including Sumo Logic). Old stalwarts like Dell and BMC are likely to be taken private in order to rework their business models. The stock of other software titans are being punished for clinging to old, proprietary models. Most of the old school crowd are trying to improve their image by buying younger, more attractive companies – like IBM with Urbancode. So, exactly what is happening?

Some of it is clearly not new. The big fish in the enterprise pond are always gobbling up Looking upthe small innovators, hopefully improving the lot of the larger company. Why then are some calling this the Golden Age of Enterprise Software? Many will point to BYOD, Cloud, Big Data, DevOps, etc. Personally, I think there is a more subtle trend here. More than ever before, software developers have tools at their fingertips that allow them to deliver software quickly and efficiently, and conversely they are also being held more responsible for the performance of that application.

In the best case scenarios, this has led to highly disruptive and innovative practices that shatter the enterprise software model (take Etsy and NetFlix as two prominent examples). Instead of an operations team passively receiving poorly tested code from unengaged developers, you get highly automated, constantly adapting architectures deftly driven forward by highly-skilled, and highly-motivated DevOps teams. I am not saying something new here. What I personally find interesting here is the disruptive effect this is having on enterprise software, in general. Here are three general trends I see:

 

1. The Rebirth of Automation

This is the DevOps trend that most point to, which is dominated by Puppet Labs and OpsCode (Chef). It seems 90%+ of DevOps discussions start here. The deft combination of flexibility, expandability, and community appeal to the development mindset already conditioned by the open source movement. The idea of “Infrastructure as Code” is a natural extension of first virtualization, then cloud computing. It is so easy to create new “servers” now, that there is no excuse not to completely automated the build and maintenance of those servers.

2. The “Re-discovery” of the Customer

The proven theories of lean manufacturing have long stalked IT in the form of concepts like lean software software development and six-sigma. And some of the DevOps community is trying hard to bring these concepts to IT Operations. Underlying this is the trend towards the importance of consumer and user satisfaction. The switching costs are so low, and the modes of feedback so verbose, that companies can no longer afford to ignore their users. This means that the lessons learned by the automotive industry – eliminate everything that doesn’t provide value to the customer – are now essential for the IT industry. This is not good news for legacy software companies associated with the image of uncaring, passive IT departments. It is also fueling the rise of cost-effective solutions like SaaS (are million dollar software solutions gathering dust providing customer value?).

3. Measure Everything

Example Etsy GraphAs the DevOps movement takes on more of Lean thinking, then the importance of measurement rises. In the seminal book on DevOps – “The Phoenix Project” – monitoring is a central theme. We see this in the real world with Etsy’s efforts. They are monitoring thousand of metrics with statsd, providing insight into every part of their application. So, what’s different here? In the old world, what you monitor is dictated to you by software vendors who deliver generic metrics to fit all customers. In the new world order, developers can add metrics directly into their logs, or through a tool like statsd, and monitor exactly what they want to. In the spirit of open-source, it is more important to get what you need (custom, relevant metrics), rather than get it in a pretty package. In essence, this means that the old Application Performance Monitoring (APM) tools may be headed for a rude awakening. Why do you even need an APM tool, if you can pump custom metrics to a generic graphing tool, or a log analysis tool? Well, I am not sure that you do…

These points are only one small part of what is changing, and I don’t claim to know exactly what the future bodes for IT software vendors. What is obvious, though, is that the barriers to entry for innovation are low, and the money willing to chase it is plentiful, so this is definitely a golden age – just not for the old school, perhaps…

* Picture of statsd graph from Etsy’s blog – Code as Craft

Advertisements

Users want Conversations, not Monologues – How does that change DevOps and APM?

My blog last week about the new reign of the end-user has started some interesting discussions, both online and off. In particular, I had a Google Hangout with some of my colleagues, and we got on to topic of end-user monitoring and DevOps. Chris Dancy (@servicesphere) riffed off of my comment about the low switching costs of moving from one web app to another, and talked about empowering users. Users (That is ME, YOU, US) are no longer dependent on their business’ IT department, their ISP, or techie neighbor to get what they need from technology. If we don’t get what we want from our provider, we will do it ourselves, or got to a “competitor”. The “walls” to personal innovation just aren’t there anymore.

I made the comment that what we really need is “End User Activity Monitoring”, which my good friend Dave Williams has talked about extensively. The basic idea is that, to give the user the experience they really want, we need to be able to measure that experience no matter where they are or what device they are using. We can extend that “monitoring” in a more human way by asking “questions” as opposed to just monitoring bits and bytes. Jason Frye (@fryfrye) responded to this in the Google Hangout with the great observation that we can take it one step further and show them their own data. The provider can be proactive and let the user know that there are problems, and that a solution is being worked.

So, as I was thinking about this, it really came together with one idea. Humans want to converse, not be talked at. I was amazed to learn that my 18-month learns language not simply by hearing it, but by listening to, and watching, a human speak it. She want to talk WITH me, even before she can actually speak. And I think it goes to technology as well. I want my world to respond to me. My experience with certain brands (like Amazon.com and Apple) has become almost familial (which makes Kindle and iPad seem like a slightly awkward argument over dinner). When Amazon asks for my review, I feel included. Even though I am annoyed when a shipment is delayed – telling me somehow makes it less annoying. Even with consumer gadgets, it applies. I love my Garmin watch when I run, not because I really do anything with all that GPS data. I just love the second by second feedback on my performance.

So, what does this all have to do with DevOps and App Performance Management (APM)? Well, I think it is very easy to thinking of the relationship with the “user” as a one-way relationship. Even when trying to make the user happy, it is more a push, then persuasion. So, what is DevOps tools could take not only live APM data on the measurement of end-user performance, but also more subjective data from the user, into account. What if the application proactively warns you of trouble, and makes suggestions. What if the application actually suggests other things you might like (like other applications). I think this concept is pretty well understood in retail (like with Amazon.com or Zappos.com), but I am not sure that it has really made its way into the thought behind DevOps and APM. The Social IT revolution is no less powerful than the DevOps movement, and it is in our (IT professionals) best interest to bring them together. User not only need a relationship with the help desk – they need relationships with IT operations staff, Developers, and all the other powers behind the curtains. Clearly some internet companies have mastered parts of this, but I would really like to see this interactive empowering of the end-user to work its deeper in IT. We are ALL users after all, aren’t we? So we should understand how they feel.

IT has been deposed – Long Live King User

Most of us (if you are reading this, you are a self-selected subset) are fascinated with trends in technology and IT, which is great. The problem is that, with all the activity and progress going, it is easy to miss the forest for the trees. I think it is really instructive to take a step back sometimes and ask the big questions. Like this one – Are some of the major technology trends of our day – Cloud, DevOps, App Performance Mgmt (APM), Smart Phone and Tablets, etc. – completely separate trends, or all part of a larger narrative? I don’t ask that to reduce the power of those trends – I just think that it is worth asking if something more seismic is going on.

So, to answer my own annoyingly rhetorical question – I think there is a bigger trend. The user, in whatever context in which he, or she, operates, wields more power today than ever before. Entire industries are being built for the sole purposes of making users happy – or least making them think they are happy. And for those verticals that aren’t so obviously pandering, any competitor that ignores the experience of their end-users is bound to crash and burn. And I am not just talking about reverse voyeurism of over-sharing Facebook users and the beauty of Apple products. Staid and complacent industries everywhere are being shaken to their core as users demand the same level of experience in the business world that they experience when interacting with applications in their personal lives. So, here are a few of the trends I follow, and how I think this “mega-trend” ties them all in.

DevOps and Agile Development

One of the main purposes of Agile Development is delivering customer value. The first of the twelve principles of the Agile Manifesto is “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software“. Agile development puts the customer on a pedestal, and works to make the customer satisfied. Why? Because the customer pays the bills, that’s why. And not only do they pay the bills, in the world of the Internet users can quickly take their business elsewhere when they are not satisfied. At the end of the day, on the major objectives DevOpsis to push this maniacal focus on delivering customer value all the way into IT operations – where it is has been sorely lacking.

Application Operations and Application Performance Management (APM)

As the less hip and more staid cousin of DevOps, APM has an even easier case to make about the primacy of the end-user. In the past, APM has been primarily about bubbling up complex application performance data from a complex application architecture, and trying to make sense of it. While that kind of deep-dive analysis is important, it can be misleading and distracting. Recent trends in APM, particularly around those same Internet applications driving the DevOps movement, are focusing more and more on the end user. With the “switching costs” so low today, users will leave for the competitor’s site if there is on average a 250 ms or more difference in response time. That is 1/4 of one second. In only 2009, a study Forrester put the acceptable wait time at 2 seconds. Today, in the case of high-performance sites like Google, even 400 ms is too long. Bottom line, if your customers are receiving sub-par response times, you are probably losing them to competitors. It really is that simple. And if an IT department isn’t measuring end-user performance, they are essentially allow their company to stumble blind into a pool of sharks/end-users. Good job IT.

The Business User’s long sojourn in the wilderness of crappy IT support is over

This trend is probably the most disturbing to an IT department and most exhilarating for any IT user. Business IT users are no longer satisfied with flimsy laptops made by do-it-cheaply hardware manufacturers and web applications with appalling user interfaces, seemingly built for Windows 3.1. Apple, Google, Facebook, and others have taught them that technology can beautiful, easy to use, secure, AND effective. The IT departments’ insistence that the need for advanced functionality and security necessitates technology that induces suicidal thoughts and dulls the mind into oblivion, no longer stands. IT users want to be free. They want to bring their iPad, Android phone, and Mac Book to work. Most IT departments don’t really like the stuff they peddle anyway. Now they just need vendors that actually deliver them products that don’t make their users scream in frustration.

Social Media is the tool of User Domination

And how does King or Queen User rule? Through social collaboration tools. Social media is not just about showing pictures of your cute toddler (guilty…) or trying to remove tags from embarrassing photos anymore. Social media is about capturing the best ideas from the people who stand to benefit the most from their realization. It is about encouraging healthy competition and ego-boosting for the sake of information sharing and content creation. And, most of all, it is the platform of user rule – Social IT. And it can’t be ignored. Countries creating “fake internets” and companies with draconian IT policies won’t stop the change. Users always find a way to flaunt the rules, like they have since the dawn of time.

So, is this a good thing? I believe that it is. I think the the essential lesson here is that business has always been about delivering value for the customer. The difference now is that customers actually know how much value companies, organizations, and countries are delivering. Keeping “the man”, the president, and the boss accountable. That is definitely a good thing.