I just finished the release notes for Porter v0.5 and holy smokes, this is a MEGA RELEASE OF DOOM! 💥
Err… let me back up a bit. Most of you have no idea what Porter is and are wondering “I thought Carolyn worked on Go stuff, dep? Maybe Kubernetes?” Not so much lately. You see I got nerd sniped hard this fall.
I was minding my own business, wait scratch that, y’all know that isn’t true. There I was, snarking it up on Slack and looking for drama, when the DeisLabs team asked me to lend some engineering muscle on a proof of concept they were working on with the silliest name: CNAB which stands for …
Cloud Native obligatory cloud native prefix
Application because we need some vowels up in here
Bundles finally, a word that tells me what this is!
Ok, so I guess I was going to do something with bundles, maybe packaging? ADVENTURE! 🤓
I was asked to review this CNAB specification, provide feedback and try out the CLI that they were using to prove out the spec.
Folks, I spent the next three weeks feeling like a dumbass. I read that spec, made a bundle, used the tool to install the bundle, and was like “I must be missing something here”. 😅 Everyone else agreed that CNAB was a great solution but I kept thinking “I wouldn’t use this”.
I could see what it was trying to do, but it simply fell short of being useful for me. Sure, I had bundled up stuff and things, but here I was still hand-crafting artisanal Dockerfiles and Bash scripts just like I was before CNAB. I had to know the spec inside and out to write those scripts properly. It didn’t have dependency management (I know right?!) and the bundles weren’t reusable.
That October I flew out to San Francisco for an off-site (on-site?) with my buddy Jeremy to meet with the team and that feeling of “everyone gets this but us” didn’t go away. At the end of the second day we asked a bunch of questions, still didn’t really like the answers and decided to have our own off-site/on-site/Doritos-powered meeting.
Fueled by jet lag, the Microsoft snack bar and a heavy dose of imposter syndrome, we had an idea, Porter 👩🏽✈️. Named after the friendly person who carries your bags 🛍, it would implement this spec but it would also answer all those awkward questions and fill in the gaps we saw in CNAB. Most importantly we thought that if we could pull it off, Porter would be something that we would actually use ourselves. Ok, now that’s something worth working on.
Nerd Snipe Accomplished
At this point you may be grumbling to yourself “Carolyn if you refer to this CNAB or Porter shit one more time without explaining what the hell it is, I’m out”. Sorry, I wanted to trick you into listening to Porter’s origin story before I dove into the details of what is CNAB and Porter.