Deployment is where it 'gets real'. Every decision and compromise you have made is suddenly exposed and affects whether your product will take off or crash and burn. We will condense these decisions down to the 'surface area' of your deployment and use analogies from the physical world to examine the effects of our decisions on deployment and how to recognize where our project is going to crash well before we launch.
Some questions we will ask include:
- Does your favorite library come with too much baggage?
- When does a new language bring lift to your project?
- How long can unowned code live before it drags you down?
This journey will progress from simple package based deployments, through convergent infrastructure using tools like Chef, to image based deployment with Docker and examine the effects our decisions have in each step. While the discussion will be primarily conceptual, we will be rooting it in a real world example to reinforce the concepts discussed.