I am unable to say “cloud” without adopting jazz hands and a faux-visionary tone of voice. “Cloud” is in the running for most overhyped tech buzzword of 2015, and because of that, it’s difficult to take seriously.
And yet, for all the hype, there are some great ideas in the cloud services, even if it is a broad and misunderstood category. I don’t claim to be the authority on what cloud really means, but here’s what it means for me.
In the beginning, there was the server
To understand what cloud is, we must understand what came before. In the 1990s and early 2000s, if you wanted a server, you bought a physical machine and installed an operating system on it. You chose Linux, Windows, or something else, and then you were stuck with that. If you had a Windows server and wanted to run some Linux software, you had two choices: buy a 2nd server, or try and make the software run on Windows.
Paving the way for the cloud revolution was “virtualisation”. Thanks to systems like VMWare and Xen, you didn’t need a separate physical server for each system: instead, you could run a number of virtual servers, each with their own operating system, on a single “host server”. In larger deployments, you can put multiple host servers into a pool and share virtual servers between them.
Cloud services take virtualisation to its logical extreme. They are large collections of data-centres operated by companies like AWS and Microsoft, who sell virtual servers on an as-needed basis.
So, you can provision virtual servers on short notice, as you need them. This seems convenient, but hardly revolutionary.
You could say the same thing about self-driving cars. “What’s the point in a self-driving car? I like to drive!” A self-driving car doesn’t just save you from the hassle of driving. It changes the economics of transport. For example, a taxi no longer needs a driver, which means that taxi services can become cheaper, to the point that car ownership is more optional. An asset—a car—dissolves into the services of transport. A change of economics can fundamentally change how people think about something.
Cloud services change the economics of computing, turning the asset of a server into the service of computing resource. The service becomes a commodity to be sourced from the most convenient provider, as it is needed. IT stops being about computers, so that we can focus on the services those computers provide.
The Everything Experts
IT departments have a difficult lot. They need to manage dozens, if not hundreds, of different platforms. It’s difficult enough to become in an expert in 1 system, let alone 100. Faced with this impossible task, IT departments apply some tricks such as these:
One-stop-shop enterprise vendors
Why buy from 50 different vendors when you can just pick the Microsoft (or IBM, or Oracle, or…) product? While this simplifies deployment, not even large vendors can be excellent at everything. The result is more use of poorly-suited or 2nd-rate tools (as anyone who has used Lotus Notes can attest to).
Sloppy deployments help no-one: the process must be robust. When you are managing many different systems with all sorts of deployment risks, this means designing a process for the lowest common denominator. Unfortunately, this can create a process that is bloated and poorly-suited for many applications. Ironically, such processes can increase the deployment risk by avoiding the use of techniques better suited to specific applications.
As a developer, I’ve worked with my share of “voodoo code”: the parts of the system that no-one quite understood and so everyone was afraid to touch. This can happen across systems too. The more systems you have to manage, the easier it is to just leave systems alone: “I don’t really know what will happen if we deploy, do we have to change it?” Avoiding change becomes easier than embracing change, but organisations can’t expect to succeed if they do this, as it stifles innovation and makes them less able to adapt in a competitive market.
Do one thing well
With decentralised computing resources under our belt, we can take the next step: decentralise the provisioning of business services. Rather than force IT to run everything, they can work with a number of vendors who each provide a complete application stack.
This is known as Software-as-a-Service, and it can go far beyond Google Apps and Trello. My view is that most IT services would benefit from shifting to the as-a-Service model. This shift would result in better applications, happier users, and a less-stressed IT department. But most importantly, it would result in organisations that are better able to achieve their most important goals.
If vendors are providing hosted & managed applications rather than providing the software, what does this mean for the modern IT department? Put simply, there is less focus on operations and more on governance.
Your operations work decreases, because vendors take on more of it themselves. For example, rather than getting your own personnel to resolve incidents, your service desk will notify vendors of incidents and most of those incidents will be resolved by the vendors. In many cases, other teams in the business will raise issues with vendors directly.
However, because vendors take more responsibility for ensuring that your business continues to function, robust governance of those relationships becomes more important too. Service levels, monitoring, backups, incident management, and approval chains may be looked after by the vendors. Application providers need to understand that “trust us, it’ll be fine!” isn’t going to cut it as an SLA for many customers.
SME-targeted SaaS applications are often brought into an organisation by other departments looking to bypass the red tape of IT. This brings some instant gratification but, in the long run, will lead to a tangled mess of 3rd party systems. If IT can bring coherence to an organisation’s ecosystem of SaaS apps, we can get the best of both worlds.
Often, websites will be hosted by the digital agency that built them. This is a variation on the Software-as-a-Service theme, but for many digital agencies, providing this level of operational support with higher SLAs can be a challenge and a distraction. In these cases, it may be better to work with platform providers that look after operations, while still giving the flexibility & responsiveness they need.
Practising what we preach
This philosophy drove us to create SilverStripe Platform. More than just a hosting package, we created a Platform-as-a-Service application stack that would fit with robust service management approaches. We work to help digital, marketing, and communications teams achieve their business goals in a way that IT departments can trust.
The cloud revolution helps us to do more for our customers, and because of that, it’s a buzzword we’ve learned to love.