Amazon chief technology officer Werner Vogels used his keynote at the inaugural AWS re:Invent conference in Las Vegas to set out what he considers to be the “four commandments” to follow when developing application architectures in the cloud computing era.
“I like to believe in the old world, everything was constrained, whether it’s capital or capacity or whether it’s geography,” Vogels said. “If in the old world you needed to launch services in Japan, we needed to data centre negotiations there, multiple data centre negotiations...
“No matter how good an engineer you were, you were always constrained by the real resources, by the fact that resources were hardcore, hardware resources.”
Vogels used the example of Amazon’s online retail operations before its shift to Amazon Web Services, having to invest in hardware to meet peak demand without the elasticity to provision resources as demand swelled and dropped during Amazon.com’s weekly and annual retail cycles. Relying on its own physical data centres meant that on a weekly basis around 39% of Amazon.com’s computing capacity would be wasted. Accounting for surges, such as the annual Black Friday sale, meant that even more capacity would go unused.
But On 10 November 2010, Amazon was able to turn off its last physical Web server for the US retail operation, and on 31 October it switched off its last physical Web server in Dublin.
“Now we can scale on a single server basis. And that no matter what [retail] promotion we run, we are actually able to do it. We are no longer constrained at Amazon.com by resources.”
This is the “new world”: Enterprises building architectures that are unconstrained by a focus on resources (“except maybe [constrained] by [the] speed of light,” Vogels added. “Pretty sure that if you come back here in five years, we may have a solution for that one as well,” he joked.)
“21 century architectures” are those architectures “that you always wanted to build,” Vogels said. Those architectures are secure, scalable, fault tolerant, offer high performance and are cost effective. Taking the example of fault tolerance, Vogels said that “15 years ago we already knew what the architectures were for building fault tolerant systems. The algorithms were already there. The knowledge was already there. Research had already finished.
“We just never did it. And why did we not do it? Because it was just too hard. And it was only those [that could actually] gain scale that were able to actually implement fault tolerant systems. And so scale and fault tolerance were heavily linked.”
But today a small site can launch and be fault tolerant, Vogels said. “And the big concept behind that is everything now is a programmable resource... things that you needed to do by walking through the data centre, by hugging your server — and believe me, I’ve hugged servers enough in my life; they do not hug you back... all of these things are now a programmable resource. If I want to launch a service in Sydney tomorrow I can do that from my laptop here. There’s data centres, there’s networks, I can do VPC, I can control the network all over the world.”
The “new world” means IT can shift from a resource focus to a business focus. Resource-focused projects tend to fail due to inaccurate resource estimates (the “old world” mean resources would have to be estimated upfront, with no elasticity), changes in requirements, unmanaged risk or increasing complexity.
Architectures in the cloud era should follow “four commandments”: They are controllable (the business can control the architecture), they are resilient, they are adaptive (“meaning you are no longer dependent on fixed resources”), and they are data-driven, not model or prediction driven.
Rohan Pearce travelled to AWS re:Invent as a guest of Amazon.
Follow Rohan on Twitter: @rohan_p