14Deployment
Plans are nothing; planning is everything.
—Dwight D. Eisenhower
In the Old Country we have a thaying… ‘If you don't want the monthter, you don't pull the lever.’
— Igor in Making Money by Terry Pratchett
What You Will Learn in This Chapter:
- What you should put in a deployment plan
- Why you need a rollback plan
- Cutover strategies
- Common deployment tasks
- Common deployment mistakes
After you've built the next blockbuster first-person shooter, financial projection tool, or Goat Simulator, it's time for deployment. Deployment is the process of putting the finished application in the users’ hands and basking in their adulation.
At least that's the theory. In reality, deployment can be a nightmare unrivaled by any other step in the software engineering process. It can be the stage when you discover that the program that worked perfectly in testing scenarios is a total failure in the real world. It can be the point when you realize that all of your months or years of labor slaving over an overclocked CPU has been for naught. It can be when you and your coworkers learn how many resumes per hour the laser printer down the hall can produce.
Fortunately, the reality usually falls somewhere between the user adulation and nightmare scenarios. Most things work, more or less, with a few notable exceptions that give you interesting stories to tell later at the wrap party. (In the words of Captain Jack Sparrow in Pirates of the Caribbean: Dead Man's Chest, “Complications arose, ...
Get Beginning Software Engineering, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.