Presentation: Immutable Infrastructure: Rise of Machine Images

Location:

Duration

Duration: 
11:50am - 12:40pm

Day of week:

Key Takeaways

  • Understand the challenges of deploying immutable infrastructure.
  • Hear why machine images may very well be the key to a cost-effective immutable infrastructure strategy.
  • See live demonstrations of building and deploying immutable infrastructure to a cloud provider.

Abstract

The cloud is the new normal and it is time to rethink how we see machines and deployments. We have been piling layer upon layer of complexity for too long. But why should it be this way? It is time to radically simplify all this.

In this talk, we'll throw general-purpose operating systems, snowflake servers and runtime provisioning out the door. Instead you'll see how servers become disposable, how machine images are generated from scratch in seconds and how to achieve perfect environment parity from dev to prod.

This is Immutable Infrastructure. It is a profoundly important change as to how we view and treat our systems. We'll go deep. We'll look at how this affects scaling, logging, sessions, configuration, service discovery and more. We'll also look at how containers and machine images compare and why some things you took for granted may not be necessary anymore.

But beware, neither sacred cows nor kittens will be spared!

Interview

Question: 
QCon: How do you spend your day these days?
Answer: 
Axel: That is a tricky one, because I wear a lot of hats. I am the Founder and CEO of Boxfuse, so I do a whole bunch of things. Whether it’s debugging code, writing blog articles, interacting with customers or just further developing our software, I’m pretty much doing anything the business requires. I am also leading the Flyway project and occasionally give trainings and present at conferences.
Question: 
QCon: What is the motivation for your talk?
Answer: 
Axel: I’ll present the ideas that we’ve based our work on. I strongly believe this work is paving the way for the future for our industry. I think (as an industry) we are certainly moving towards the direction of immutability or, at least, disposability of infrastructure. I am going to talk about the challenges involved.
Question: 
QCon: Who is the ideal audience?
Answer: 
Axel: The people I am looking for in the audience are senior developers, architects, or technical project managers. These are the people who make technical decisions on their projects. They determine how they are going to deploy their software in the future and where they would like to go with it. Ideally these are people who plan to or have worked with the cloud using either AMI’s or containers.
Question: 
QCon: Can you give me some examples of what you’ll discuss in your talk?
Answer: 
Axel: I’m going to talk about the technical challenges of immutable infrastructure and how to solve them. I will also discuss the impact of the convergence of architecture and business. As I want to make this tangible, I’m going to do a brief demo to illustrate how everything comes together in practice. I’ll take an existing Java web app and transform it into an AMI before deploying it to the cloud. I’ll show what needs to be provisioned for this and how to update it effectively with blue/green deployments and immutable infrastructure. We’ll then dive into the implications of this new way of doing things and look at how this affect things like sessions, state, service discovery and more.
Question: 
QCon: What are the key takeaways for an attendee?
Answer: 
Axel: There two key takeaways. First, as an industry, we have learned to value certain qualities about our artifacts, and we are now applying the same principles at the level of entire machines.
When you build an application, you usually produce a single unit (for a JVM app this would be a JAR, a WAR, or EAR file). That artifact is effectively immutable and if any changes must be made you simply throw it away and generate a new one. You then deploy the same artifact to all environments to keep them as identical as possible.
Those practices have been proven to work great and are widely adopted today. Yet when it comes to our servers we somehow have been doing things differently. We have been individually installing and patching them. No more! This talk is about applying the same tried and true principles we learned to value for our artifacts to the remaining layers of our stack.
The second key takeaway is that this isn’t as easy as it looks. Traditional operating systems come with a lot of baggage that makes all this somewhat unpractical. So you have to first trim all the excess fat based on a simple question: is this part actually helping the business or is it just technical ceremony? This effectively ushers an era where we a move away from general purpose operating systems towards more specialized solutions. These systems are fast, they are lean and they are tailor-made to do one thing only and to do it extremely well: run your application.
Question: 
QCon: Is it correct to say that you would argue containers are a way, but not the only way to achieve an immutable architecture?
Answer: 
Axel: Absolutely. Again it comes down to business and how, in the world of the public cloud, cost plays an important role in our overall architecture. I talk about cost granularity and when it makes sense to go for containers versus when you may as well just stick to VMs. I talk about responsibilities, challenges and what kind of services your credit card actually buys you when you run an instance in the cloud. It’s more than you think. I’ll discuss the tradeoffs with image management, capacity planning, scheduling, volume management and software defined networking. At the end, it all boils down to this: Is it worth the cost and engineering effort to invest in an additional layer of infrastructure or should you simply stick to what you’ve already paid for?

Tracks

Covering innovative topics

Monday, 7 March

Tuesday, 8 March

Wednesday, 9 March

Conference for Professional Software Developers