There is no doubt that public clouds like Amazon AWS, Microsoft Azure, and Google constitute rapidly growing and attractive alternatives to traditional on premise IT operations leading many organisations to conclude that they are “not IT companies” and or “do not want to be in the IT business”.
But few companies can escape the mandate to be present online, to conduct business online, and to deal with partners, suppliers, customers, and employees online. This mandate is causing companies to embark upon initiatives to “digitise” their businesses, which means to implement these crucial business functions in software.
So every company of any size has to use software to support and automate their crucial business processes. A smaller company may be able to make do with a set of applications and services delivered entirely on a SaaS basis (attractive SaaS options for things like sales force management, expense management, human resources management, and supply chain management have existed for quite some time).
But larger enterprises invariably end up purchasing software that they have to run someplace that is dedicated to their instance of that application, or building custom applications to support their crucial business processes. It is not unusual for a larger enterprise to have between 1,000 and 15,000 applications in total. These companies have to be in the business of supporting these applications no matter where they run (in a public cloud, in a hybrid cloud, or on premise in a private cloud).
Once an enterprise takes the step of implementing crucial business processes in software that affect the revenue of the company, its online reputation, or the retention and service of customers, the question of how to best ensure the performance and reliability of that those applications arises. As do the questions of how to ensure that their data (about the enterprises customers and business transactions) is properly protected.
These questions inevitably lead large enterprises to segment their applications. Tactical and transient applications are well suited for public clouds. Business critical applications need to be carefully architected to be “cloud ready”. See “Netflix Chaos Monkey” to see what Netflix did to ensure that their applications would be 100 per cent available in their public cloud environment. Few enterprises have the resources to take this approach with a broad set of their applications, and no one has the time to go back and build this kind of resilience into the existing set of applications that many businesses depend upon.
There is now a realisation dawning on many CIO’s that while the public cloud is an attractive and appropriate option for certain applications, it is not a viable option for all applications, and at the minimum you need a very robust IT function to be able to figure out which applications should reside where.
The mandate to “stay out of the newspapers and off of the news” along with the need to complete in terms of online application performance, functionality and reliability, then creates the need to have a real IT function inside of the company that can successfully execute upon the entire life cycle of many different applications.
IT operations gets relevant (again)
So once an enterprise comes to the realisation that a first class IT department is necessary in order to compete online, the question that must be addressed is how is a modern IT department different than the IT department that the business wanted to outsource because they did not want to be in the IT business. There are three basic aspects to this difference, people, processes and tools.
This is the single biggest challenge for most IT organisations. The growth of the software business has caused many talented technical people to choose to go work for the Internet giants (Google, Facebook, etc.), larger software companies (Microsoft, VMware, SAP, Salesforce.com) or the thousands of startups that offer a chance to change the world. For enterprises to compete with software companies for talent they need to think like software companies. And the number one thought is that your technical people are extremely valuable. They need to be cultivated, listened to, and motivated to do things that really make a difference to the business.
Historically the goal of IT processes were to ensure that things did not get broken. ITIL was largely invented to put a process around change management to ensure that changes did not break things. The effect of ITIL was to slow down the rate of change, causing IT to be perceived as being difficult to work with and unresponsive.
Today the goals for an IT organisation are exactly the opposite of slowing down the rate of change as much as possible. Today the goals are for the IT organisation to both innovate and respond to requests from the business as rapidly as possible. Agile Development and DevOps were both invented as process to allow IT to be more agile and responsive to the business than was previously the case. Today changes of software in production can happen many times an hour, and both reliability and performance need to be maintained in the face of this rapid rate of change.
The great news is that the software industry has responded with a tremendous number of innovations designed to help IT become more agile. Here is a list of just some of them:
- Data Centre Virtualisation – first just server virtualisation (popularised by VMware) and then virtualisation of networking and storage have combined to let IT be much more flexible and responsive when managing the compute infrastructure.
- Application Platforms – much effort has gone into making it easier for customers to get their software into production more quickly and to manage it more effectively. This started with the Java Virtual machine, and has been followed by things like PaaS frameworks (Cloud Foundry), containers (Docker), cloud automation software to automate deployments, automated operations software that automatically optimises the resource consumption in the environment, and most recently “serverless computing”, or “Function as a Service”.
- New Languages – it is not just a Java and .NET world anymore. New languages including Ruby, PHP, Python, Node-JS, Scala, and Go have all been invented to help developers solve problems more quickly, and more reliably.
- Monitoring Reinvented – the legacy frameworks from IBM, BMC, HP and CA are being replaced by a combination of open source tools, big data focused tools, and tools that do a great job tracing and monitoring the performance and operation of the actual transactions that the business depends upon.
IT is relevant again, demanded by business needs, and supported by new approaches to people, processes and tools.
Bernd Harzog, CEO and Founder, OpsDataStore
Image source: Shutterstock/violetkaipa