I recently had the chance to attend Amazon Web Services’ annual Summit in New York City. Spread throughout the sprawling Javits Center on the West Side of Manhattan, the Summit really projects a sense of the scale of today’s AWS – a testament to the monumental growth of the service and those who promote, adopt and interpolate it for an ever-growing list of clientele.
Though it would be hard to fathom, we are still experiencing the “salad days” of the AWS Cloud – just now scratching the surface of the latent potential that still awaits us. There’s no better futurist to define this bold future than AWS’s Dr. Werner Vogels, the Chief Technology Office at Amazon.com.
Though you can watch Vogels’ keynote here, I thought it would be helpful to distill some of the most stunning visions and predictions for you – so you can, as we here at Blue Sentry, feel like you’re riding astride the incoming cloud front.
Among Vogels’ insights:
- “Cloud has removed the constraints for speed and agility,” he said. To be fast and agile with development, you must “eliminate wait states,” and “you must eliminate waste.”
- With cloud adoption comes a whole new set of resource models. New drivers, said Vogels, are taking away from the normal concepts of application-to-server environments and driving new innovations on advanced technology using new resource models.
- Cloud is ushering in a new era of innovation. Traditional experimentation models can be expensive – which has had the effect of squelching innovation unless a clear outcome can be predicted. But, says Vogels, “if you already know the outcome of an experiment, the experiment is not an experiment.” An appropriate cloud DevOps environment, Vogels says, should provide the ability to decouple, re-deploy, and automate application workloads into containers where you can develop and experiment without the constraints of capital and resources. A proper development environment should allow you to throw away the failed resources, and start fresh quickly, without the worry of losing important pieces. “Running unconstrained development will give you a critical edge,” Vogels says.
- Don’t fall in love with your resources. Many enterprises have adopted the habit of naming their servers or resources – which gives rise to the concept of repairing, rather than replacing, outmoded resources. “A server in AWS is just a container,” said Vogels. “Servers are cattle, not pets.” On this point, said Vogels, IT pros should remember that AWS servers are meant to be volatile — meaning they can be duplicated, changed out, and thrown away as needed. The only thing that should be persistent in AWS is your data.
- The five pillars. To gain a critical edge with your cloud applications, says Vogels, there are five design elements to be mindful of when developing and deploying well-architected cloud native applications. These include:
- Predictable Performance
- Cost Control
Deploying and leveraging the proper cloud adoption, and application refinement processes, says Vogels, will help you to continue to drive towards speed and agility when it comes to your cloud native applications.
- It’s the path, not the destination. In development, there is a prevailing wisdom that once you obtain a certain goal with technology, you stick with it – when, says Vogels, in reality, to be fast and agile requires a constant dedication to refinement to make things better. Where you are on the path, he says, determines the service you use. For example, during the initial migration from an on-premise environment, you may start with using EC2 for all servers, but if you adopt the idea that servers are disposable, you may want to continue down the path of decoupling your databases from their respective applications and then place them onto an RDS platform like Aurora. Now that the application is decoupled from the database, the application can be placed into auto-scaling groups, or into an elastic container, which will provide you with the ability to scale, and or better define development and production release processes.