While the TV and consumer industry is getting ready for its next wave of innovation called 3D, the IT industry has been going through a similar three dimensional transformation. Let’s have a closer look at this 3D journey of IT and how a good cloud strategy should support all three dimensions. And don’t worry; you won’t need to wear funny 3D glasses to read this blog.
This post was originally published as a column on ITSMportal
Cloud computing is not the first innovation to hit IT – although the amount of hype and blogs seem to indicate otherwise – ever since the first computer got carried into the building all the way to the latest generation of tablets, the way we use IT, the things we use IT for and IT itself has been changing profoundly. We can classify these changes along three dimensions: Extending IT’s reach to new users and into new functional areas, Abstracting problems so they can be managed at new conceptual levels and Sourcing solutions from specialists where it makes sense.
Dimension 1 – Extend your reach
Traditionally the computers and applications that IT managed were used exclusively by employees. For example general ledger and inventory systems were accessed by the bookkeeping and manufacturing departments. This exclusivity has long gone. Applications have extended their reach and are now directly used by customers, by employees of partners and subcontractors and in some cases our applications reach out directly to suppliers or even suppliers of suppliers. This extension of reach has made IT a lot more time critical. Any failure can directly impact the customers’ experience.
In some cases the line between what is the business and what is the supporting application is even blurring completely. For many people banking is their home banking application, the service the travel agent provides is an application to book tickets and hotels and Telco’s run software to connect people. More and more the digital process is the becoming the business process itself.
Extending the reach of applications also has a severe impact on who should be given access to our systems and applications. From a ‘simple’ list of employees with their roles and responsibilities we are moving to a situation where the list of potential users is endless. Security is becoming less about keeping people out and more about enabling the right people to do the right things with decisions about who and what are allowed taking place at increasingly granular levels of detail and subtlety.
The inherent network orientation of cloud computing provide a natural fit for enabling “extend your reach”, but “extend your reach” goes beyond having more and different people accessing ITs’ applications. It is also about extending into completely new application areas. Recent examples are convergence of traditional data processing based IT with voice and video and ventures into “big data”, where analysis of volumes of information – traditionally to large or too diverse to sensibly process – leads to new insights and advanced levels of optimization. These applications go far beyond the “traditional business IT” applications that essentially were limited to capturing and processing administrative facts about business processes, with processing that seldom became more complex than adding and subtracting and the occasional multiplication. Cloud computing can help IT extend into these new, more complex, areas.
Dimension 2 – Abstraction – IT moving up in the food chain
When IT first started, companies could not buy computers, they had to build their own. Later on computers could be bought but they did not come with any applications or even an operating system. Customers were expected to build these themselves, first in assembler, later in higher level languages, while nowadays many complete standard software applications are readily available. The point is that IT for years has been moving to higher levels of abstraction to enable them to move from extremely detailed technical work to higher level tasks.
Abstraction is basically the mechanism that makes modern IT possible. If we would still be required to manually manage every transistor on a modern chip, every register in a CPU or every disk in a content management system, IT would never get around to actually helping the business.
Abstraction occurs in programming, hardware and management. In programming we went from assembler via 3GLs and 4GLs to modern Object Oriented languages, where abstraction basically is the core concept. In storage we went from addressing blocks and spindles to disks to NAS or even content management systems. Similarly virtualization allows us to abstract from the underlying (detailed) physical implementation to a more standardized high level representation. And also in IT management we abstracted from managing individual components such as network, storage and processing to managing at higher conceptual levels such as services (ideally using some kind of service model).
Automation providing Abstraction
Abstractions have been around forever (in fact any spoken language can be seen as an abstraction describing underlying realities) but in IT they are often implemented through automation. We enable users to abstract to the higher level by “automating” all the tasks they traditionally had to execute at the lower level. Traditional programming was all about memory management, higher level languages take care of this automatically. Traditional data-processing was about running hundreds of sequential jobs across many sets of data in the right sequence, workload automation suites automated this away. SOA (Service Oriented Architectures) offer services that perform complex tasks “as a service” automatically. These automated services free the developer from having to manage or even understand the internal workings of the service he uses.
Automation is the engine that enables the user to manage processes at a higher, conceptual level. Having the right conceptual model is essential to success. Conceptual models come in many shapes and forms. A file system is such a conceptual model, so is a database. Programs, applications and services are another example of conceptual models covering different levels. A good conceptual model is close to the reality the user wants to manage and allows him to specify in the appropriate level of detail what the solution needs to do. Appropriate is the key word here. Assembler language does not provide a good model to implement General Ledger or CRM systems, but could be appropriate to define operating systems or microcode.
Appropriate cloud abstraction models
Traditionally conceptual models for new technologies closely resemble the old reality; remember how the first cars closely resembled carriages, but without the horses. The driver seat would be really high because he traditionally needed to be able to see over the horses ass. And even though the automobile had no horse anymore; the seat was still high up. Cloud computing is also still in search of the appropriate conceptual models to be managed through. Traditional datacenter management was about provisioning and starting and stopping servers and configuring networks. When using a private cloud to run applications a conceptual model around servers may be too detailed, a more appropriate model would be based on services not underlying machines.
In a similar fashion the industry will have to find conceptual models to manage the use of SaaS and PaaS cloud offerings. Initially people will try and manage these in the same was as we managed in house applications and development platforms, but over time we may move to higher more appropriate levels of abstraction. An interesting development here is the Service Measurement Index (created by the SMI consortium in cooperation with Carnegie Mellon University and hosted at cloudcommons.com) that aims to abstract the provided application services into a number of core characteristics that enable management at a higher abstraction level.
Dimension 3: Source – Divide and Conquer
The third dimension that IT has transformed itself along over the years is the sourcing dimension. As IT organizations moved on, they started to subcontract, outsource, offshore, procure as a service more and more tasks they traditionally did in-house.
To some extend abstraction and sourcing are related, they both result in the organizations not having to perform certain task themselves. But the two dimensions also tend to reinforce each other. The external providers perform their specialization at such scale that they are best equipped to automate their services up to a next level of abstraction. Many organizations that outsourced their service desk operations found that the provider rapidly moved from a Chinese army approach – where they processed millions of tickets manually – to offering automated remediation and self-service to make the support process more efficient. In-house teams simply did not have the time, skills or scale to set this up.
Sourcing also means letting go of control, no longer being able to step in and fix things yourself in case things go wrong. As a result any sourcing strategy should include an exit and a fail-over strategy. One CEO became acutely aware of these sourcing risks when he read about several companies ceasing service to Wikileaks. He asked his IT department how dependent they were on the IaaS (Infrastructure as a Service) vendor they sourced their capacity from. His IT department – always game for a good challenge – took up the gauntlet and 48 hours of non-stop programming, gallons of diet coke and tens of pizza boxes (containing cheese and salami, not CPU’s) later they had created the ability to automatically move their complete operations to another IaaS provider. Given the criticality of today’s IT from a business and personal perspective, every organization should consider such a divide and conquer strategy. By dividing the workload across multiple vendors or storing a shadow backup copy of critical data at an alternative vendor they can arrange instant failover and prevent themselves from being locked in.
Of course cloud computing has a distinct sourcing angle. In fact so much that many people see cloud computing basically as just another form of outsourcing. But the attractiveness of cloud computing is that it can further IT along all three dimensions. Extending ITs reach to new users and into new functional areas, abstracting problems so they can be managed at new conceptual levels and sourcing solutions from specialists where it makes send.
Such a 3D Cloud strategy enables you to Extend, Abstract and Source Your IT, something us acronym crazy IT folks maybe should call EASY IT.