Werner Vogels, the CTO of Amazon, has learned a thing or two over the years about what it takes to build a 21st century architecture.
Speaking at the Amazon re:invent conference, Vogels detailed his commandments for modern IT architecture during a keynote session. For the CTO of Amazon, modern IT architecture is about the cloud and not being constrained by physical hardware.
Vogels admitted that he has somewhat of a love/hate relationship with physical hardware servers. He said that he has tried to hug servers to get them to do what he wanted.
"Believe you and me, I've hugged servers enough in my life and they do not hug you back," Vogels said. "They hate you."
The cloud changes the dynamic, though, and instead of being resource constrained, IT can move to a fully programmable model. The commandments that Vogels has for IT involve understanding that IT infrastructure is in fact controllable, resilient, adaptive and data driven.
A core commandment of the new era: Though shalt use new concepts to build new applications.
"While an Amazon EC2 instance might look like a server to you, it is not a server," Vogels said. "It is something you can switch off, it is a software component."
Vogels explained that by dividing an application deployment into small, loosely coupled stateless building blocks, modern architectures go beyond the constraints of the old hardware server-centric model.
Automating applications and processes is another key commandment. Vogels advises users to put APIs in place for automation and to use tools like Chef or Puppet to automate processes based on business rules.
"If you have to log into your instance to scale your application, your automation is broken," Vogels said.
According to Vogels, protecting customers is the first priority and it needs to be baked into all modern IT architectures.
"If you have sensitive data you should encrypt that data," Vogels said. "That's just a good rule of thumb, it's just good security hygiene."
Resiliency is another component of security, and it's one that Vogels sees as a commandment to Amazon customers as well.
"You shall use two availability zones to protect your business," Vogels declared.
Vogels stressed that any company using the Amazon cloud in production should deploy to at least two availability zones to provide resiliency. Amazon has had several outages in recent years, though they have always been localized to a single availability zone. If a customer is in more than one zone, the risk of failure can be minimized.
Vogels noted that there is always a failure waiting around the corner and failure should not be treated as an exception.
Last but not least, with the flexibility that the cloud provides, server instances don't always have to be on. For development and test servers in particular, Vogels has another commandment.
"Thou shalt turn off the lights," Vogels said. "In the past you'd leave the dev test cluster running, but now today you can turn that off when you go home."