Buford was a contract developer working at a mid-sized financial firm. He had just wrapped up a lengthy project and was looking for something new to sink his teeth into. Tanner, the manager in his area, tasked him with moving their implementation of Jenkins into “this great new thing they call The Cloud.”
Tanner recently returned from a conference with a bunch of swag from a company called PuffyCloud. They claimed to have the easiest cloud-based implementation of Jenkins in the business. “It’s pretty much just a copy-paste job according to this whitepaper they gave me. Take a look, create some user stories, and have it done by the end of the next sprint,” Tanner instructed.
Buford opened up the whitepaper and soon found that PuffyCloud was certainly full of puffery. They boasted about how their approach was “production-ready for an enterprise environment” and “dozens of organizations have revolutionized their systems with PuffyCloud and the magic of our simple Docker Compose code.”
After getting through several pages of drivel, Buford already had a better, cheaper way in mind. He returned to Tanner’s office to explain, “Look, I don’t know what these PuffyCloud guys will charge, but I’m certain I can get the same result for only the cost of my time. I can make my own Docker script to install everything on a cloud-based server that we control without a costly middle-man license from them.”
Tanner furrowed his brow before responding, “Bah! Doing this yourself will take way too long. I guess you didn’t hear me the first time I explained this PuffyCloud thing. Copy. And. Paste. Do that and you’ll finish easily with time to spare in the sprint.
Buford went back to reading the mind-numbing whitepaper since Tanner was clearly insistent on going with PuffyCloud. Ten minutes later, he finally got to the “production-ready for an enterprise environment” script:
jenkins_master: image: jenkins_master cpu_shares: 100 mem_limit: 500M ports: ports: - "8080:8080", “50000:50000” volumes_from: jenkins_dv jenkins_dv: image: jenkins_dv cpu_shares: 100 mem_limit: 500M
Buford had so many questions from so little code. It sure as hell wasn’t copy-paste-production. There was no way in hell 500M of memory would be enough, even for a bare-bones deployment. The image didn’t even include a Docker repository. And that’s before you take into account obvious syntax errors.
Predictably, the setup and implementation of PuffyCloud took Buford longer than a two week sprint. Since that didn’t meet Tanner’s expectations, Buford’s contract was terminated. He was glad to be free of that mess but felt slightly bad that some other poor soul would have to deal with the PuffyCloud crapstorm.