You could be forgiven for believing that cloud computing floats on nothing (apart, perhaps, from the hot air emited by overexcited vendors), but it actually has a very solid base, otherwise known as infrastructure as a Service (IaaS).
IaaS comprises the most fundamental building blocks of any cloud service; the processing, storage and network infrastructure upon which all cloud applications are built.
In a typical IaaS scenario, the service provider delivers the server, storage and networking hardware and its virtualisation and then it's up the customer to implement the operating systems, middleware and applications they require.
Because IaaS provides access to a large pool of standardised computing power on an on-demand, self-provisioned basis, developers are able to access more processing power or more storage for their applications within minutes, rather than having to wait weeks for new servers or discs to arrive. This should mean faster development and applications that aren't constrained by a lack of computing resources.
And because IaaS is at heart a rental model, developers only pay for what they use, which means it can be more cost-effective than owning the infrastructure for an application that has very variable loads — one that gets very busy at one time of month or year, for example.
Building such an application in the traditional model would require owning all the infrastructure needed for the peak load, even if that infrastructure remained unused for the vast majority of time.
IaaS can been delivered either as a private cloud (where this infrastructure is kept in a company's own data centre) or in a public cloud (where a variety of organisations will share and reuse the same infrastructure), or in some combination of the two (increasingly common for large enterprises). But wherever it's hosted the main benefits of IaaS should remain the same: flexibility and scalability.
IaaS is the base of the cloud computing pyramid which also includes Platform as a Service (PaaS) and Software as a Service (SaaS) — the latter including line of business applications such as customer relationship management (CRM) or enterprise resource planning (ERP).
Analysts measure the cloud market in different ways, but what's clear is that IaaS remains a large and growing element. According to analyst firm 451 Research, IaaS generated just over half of public cloud revenue last year, with PaaS and SaaS infrastructure (which the analyst defines as cloud IT management and backup/recovery) each accounting for roughly a quarter of revenue.
The analyst puts a conservative value of about $5.7bn on the cloud market, with an estimated compound annual growth rate (CAGR) of around 36 percent. That means this market (not including SaaS) is likely to hit $19.5bn in 2016. Indeed, another leading analyst, Gartner, predicts that IaaS could soon be as big as SaaS.
Right now IaaS adoption is mostly focused on non-mission-critical test and development projects, but usage is widening to other applications.
"In a test and development you have this need for elasticity: one day you are testing four things the next day you are testing one, and you aren't testing things constantly, so you have variable demand. It makes sense only to allocate servers to that when you need it; when you're finished you just give it back to the provider and that means you stop paying for it," Gartner research director Gregor Petri told ZDNet.
The skills you need for IaaS
Just because IaaS is seen as the foundation of cloud, that doesn't mean it's lacking in flexibility; rather, because it allows developers to tweak the fundamentals of how applications handle storage and processing power, middleware and virtual machines, it requires a particularly complicated set of skills.
"It's a fairly technical platform — it's like running a server, so if you as a company over time have outsourced the management and configuration of your servers and don't have those skills in-house, there's a hurdle to moving to the cloud," Petri said.
In addition, as analyst Forrester points out, developer concerns that using PaaS may limit their flexibility, plus a perceived fear of lock-in due to the middleware and the difficulty in migrating on-premise code to the platform, all make IaaS more attractive.
"The programmer can say 'whenever my usage goes over 70 percent of this processor, then add another machine'. Many old applications were never designed like that, so they have more problems moving into the cloud."
— Gregor Petri, Gartner research analyst
Organisations looking at moving projects into the cloud need to take a long hard look at their skills base: if the dev team's strength is in scripting, web page design and form creation, an SaaS platform would provide the right abstraction. But for coders with skills around Java, C# or other languages, PaaS offerings let you build more complex applications, Forrester said, although a combination of the two is almost inevitable.
"Those who prefer PaaS often desire the freedom to drop down to the infrastructure layer when they feel the need for stronger configuration control," Forrester analyst James Staten said in a blogpost.
Different levels of access to IaaS will be more useful to different kinds of developers: rapid application developers, for example, rarely desire to write complex code, configure virtual infrastructure or manage middleware. Other coders may concentrate on building applications, but may occasionally dip into the infrastructure layer, while DevOps programmers are likely to want more control over the configuration of the platform, the application server, database and virtual infrastructure.
This is also fueling the rise of 'dev ops', where app development and operations start to merge.
"What we see is people combining that, so the developers also write some routines that manage the operation of the system," Petri said. "The developer not only says 'this is the functionality', they also programme in the management and the operations and the monitoring, so that the application starts to manage itself on the cloud. The programmer can say 'whenever my usage goes over 70 percent of this processor, then add another machine'. Many old applications were never designed like that, so they have more problems moving into the cloud."
Which workloads can be moved to the cloud?
And as organisations become more comfortable with IaaS, their usage of it will develop further, which is why most market-watchers are predicting growth in the IaaS spending. One typical workload...
(continues on next page)