Iain Gavin has been working at Amazon Web Services (AWS) since 2009. As the company’s UK and Ireland managing director, he spends a lot of his time building the account teams – solution architects, technical experts, professional services, partner teams, business development and marketing.
That said, AWS is remarkably small compared to the massive client-facing organisations at rivals such as Oracle, Microsoft and IBM.
Gavin recognises that it can't scale the business without a strong partner ecosystem, hence he is scaling up its partner teams and professional services teams.
"We have to look at what our customers need and what they are asking for," he says. "We are seeing more questions like, 'the cloud is the right way, now how can we do this?'"
Specifically, Gavin wants to bolster relationships with systems integrators and IT consultants, which are able to deliver transformational services.
"The consulting houses bring in the extra value of analysing what the customer has today, assessing what can be moved, helping them move, doing the migration, sometimes building the application and then managing the whole estate," he adds.
Scaling the enterprise
It is hard to deny that Amazon Web Services (AWS) is showing the established enterprise IT companies a thing or two about running massively scalable and highly resilient IT infrastructure.
Online retail arm Amazon is a customer of AWS. Iain Gavin, UK and Ireland managing director of AWS, says Amazon retail took four million orders online on Black Friday in 2013. In 2014, that figure rose to 5.5 million.
"It is a fantastic example of a scalable, service-oriented architecture," he says.
But Amazon is not the only business stretching the AWS cloud. BBC iPlayer runs 24TB of media transcoding per day on AWS. At the FT, AWS is the data warehouse powering the digital edition of the newspaper. Other examples include British Gas Hive, TFL’s Journey Planner, Hailo Cab and the ticketing system that powers the Royal Opera House.
Supporting the enterprise cloud
AWS has created 300 new jobs in Dublin to support enterprise customers.
Since its customers run many different application in the AWS cloud, the company needs to be able to support a complex environment.
So, in terms of supporting a heterogeneous implementation, Gavin says customers should call AWS first to help with the root cause analysis, and the AWS support team will then work with the other suppliers to make sure the case is being addressed.
"Ultimately, we want to help the customer get the issue resolved as quickly as possible," he adds.
While the customer can choose to run an application on AWS, Gavin says the software provider should take responsibility for support, wherever the application is deployed – on-premise or in the cloud.
When asked about how effective this support can be, given that the other suppliers often compete directly with AWS, Gavin says where a customer has chosen AWS for the cloud, the software supplier must ultimately support its customer because the licensing [contract] is with the customer.
From a customer contract perspective, unlike traditional IT suppliers, there is not the same level of frenetic activity to close deals, Gavin claims. "We are not there to close a deal at the end of a quarter because the customer determines when they use AWS and can come and go as they please," he says.
He claims this subscription-based business model gives the customer more flexibility about what they do with the technology, rather than having to justify a large upfront investment. "Customers just build and use as they go along, and pay only for what they use," says Gavin.
Built for scale and resilience
Arguably, there are two reasons to buy a cloud service like Amazon Web Services. The first is cost, since cloud deployments are significantly cheaper than on-premise. The second is the benefits of a webscale architecture.
It is a false economy to replicate everything because it becomes very expensive and it is not the ideal way to achieve resiliency
Iain Gavin, Amazon Web Services
"To build distributed systems for high availability, you have to design with failure in mind," says Gavin, "such as what to do if you can't get to an endpoint in Region 1. Can I make my application work by accessing Region 2 by having the data replicated there?
"It is unfortunate when anyone in the industry experiences disruption to their digital service because, ultimately, the customer suffers. We need to get people to build applications to work resiliently," he says.
Gavin argues that some applications have not been built for resilience, because previously it was not economically viable to build resilience into applications when companies used their own datacentres. Over time, however, more and more applications will be developed for resilience.
It boils down to scalability and duplication, he points out. "It is a false economy to replicate everything because it becomes very expensive and it is not the ideal way to achieve resiliency," says Gavin.
"Instead, you have to build in resiliency to deal with what happens if something fails – whether a service is not available or part of your application stack fails. It all about building a service-oriented architecture, with isolated components which get feeds in and out of different services."
He says the application needs to handle situations when one of those feeds is unavailable: "This is like a self-healing system. We can build these now and they are really cool."
More articles on AWS
As an example, Gavin says the Amazon homepage comprises 400 web services feeds. "If any of these web services do not respond within a very short period of time, the homepage will get the feed from somewhere else or that feed will totally be ignored. The homepage always loads, because if you have to wait too long you will take your hard-earned cash elsewhere."
In the past, an application did not need to take into account issues like network latency or external factors as they were houses in an enterprise's datacentre and were often internal-facing.
But Gavin says the problem has always existed, because even if you had your own computer systems or networks, people would throw in a lot of hardware for redundancy. Hardware can be pretty reliable, but a lot of failures were in the application stack.
In Gavin’s experience, exception handling in application software is often poor. "There needs to be an ongoing education process for all involved," he says.
AWS’s solution architects speak at conferences and talk one-on-one to customers about best practices in developing resilient applications for the cloud era of computing.
Given that AWS has been running for over eight years, Gavin says the company has the experience of developing webscale, which it can share with customers and partners.
AWS may not have the extensive account teams that CIOs are used to from the likes of IBM, Microsoft, Oracle and SAP, but it is increasingly becoming a key element in enterprise IT infrastructure, particularly as businesses look at addressing the scalability and resiliency that is not attainable with on-premise IT.