While the experts predict the future is IT on a cloud platform, IT departments should prepare to face major upheaval changing working practices to support cloud-first computing.
According to analyst Gartner, CIOs are expected to invest heavily in cloud computing in 2015
Although hosting applications on public infrastructure as a service is well understood, state-of-the-art cloud-based applications like Groupon, Netflix and taxi app Hailo are engineered in a fundamentally different way to most enterprise systems.
Such cloud-first applications comprise tens of internal and external cloud-based microservices and run on top of a cloud platform like Amazon Web Services.
IT service management expert Barclay Rae warned it is extremely difficult to manage an IT service that requires multiple external services.
More on next-generation cloud computing
"Generally, enterprise IT projects do not really consider the operational and supply chain of an on-going service," he said.
Despite the growth of external web services, Rae said it is very difficult for companies exploring how to open up their programming interfaces to third parties to build new products and services.
"This is why there is still so much internal IT infrastructure," he said.
According to Rae, the challenge for IT departments attempting to incorporate external cloud services into their own applications is that they need to manage the external suppliers in a way that will meet their own service levels.
Software development in cloud platforms
Social investment network eToro are in the process of moving services into the Microsoft Azure cloud, having previously used Microsoft technologies.
Vice-president of engineering Israel Kalush said this process was extremely complicated. "Getting development teams to move to a cloud paradigm is not a trivial thing. It took us took several months before we saw the first material result," he said.
While a traditional enterprise application often is built in a monolithic way, Kalush said the so-called elastic cloud model means developers need to think differently. "You have to design your applications and model your services and your data to support cloud elasticity," he said.
Even with a cloud service that offers 99.9% uptime, you need to assume there will be 0.1% downtime
Israel Kalush, eToro
Then there is the different approach to business continuity that a cloud-based application must take into account.
"Unlike the situation where you have full control on-premise, you are outsourcing some of the control," said Kalush. "Even with a cloud service that offers 99.9% uptime, you need to assume there will be 0.1% downtime."
As such, he said when building enterprise software for the cloud, the application needs to assume there will be breakages and failures.
Kalush added that the design of a cloud-based application requires a far more robust disaster recovery capability from day one compared to on-premise software.
"Every one of our services has to be fault-tolerant so I can failover to another datacentre with a single click. Data has to be in-sync and we create a trail to test failover," he said.
The company created several layers of fault tolerance.
"Everything has to be duplicated with a load balancer," said Kalush. "On top of this, we use the cloud service provider’s internal mechanism to check latency, along with our own monitoring to continuously test the service. If it is malfunctioning, we will failover from one datacentre in the cloud to another working in an active-active mode.”
Such configuration allows the service to carry on without disruption, should one of the services it uses fails.
Network integration between on-premise IT and a public cloud service is another major challenge for IT.
We need a robust connection between the Azure cloud and our on-premise system
Israel Kalush, eToro
The eToro hybrid cloud runs IT assets in a Telecity datacentre. But the company’s clients may connect to the on-premise application, directly to one of the cloud hosted services or to a cloud service via the on-premise application. "We need a robust connection between the Azure cloud and our on-premise system," said Kalush.
He added that a virtual private network would not be robust enough to satisfy the requirements of the business. Instead, working with Telecity and Microsoft, along with specialist network integrator AltoRoute, the company created a point-to-point link using Azure ExpressRoute and Telecity Cloud-IX to connect the on-premise system to the Microsoft cloud.
The result is a secure, reliable, high-performance connectivity between the on-premise part of eToro and Azure. But Kalush warned this network integration project was complex. "It took more than three months to get network integration up and running," he said.