January Update


Here’s to a happy, healthy, productive 2018!  May your incidents be few and your velocity high!

DevOps Katas was published in pre-release form in early December.  If you’ve purchased, thank you!  I’m getting great feedback from readers, so don’t be shy!  You can reply to this email with your questions, comments, and critiques.  Your feedback helps me make DevOps Katas better.

If you’re looking for an opportunity to get hands-on with the tools that make DevOps work, that is what DevOps Katas is about.  Pick it up before it’s finished, get the pre-release discount, and let me know how your kata practice works for you.  Thanks again for your interest!

News Flash:  DevOps Katas has been updated!

The book is 90% complete.  These chapters are brand new:

  • Introduction to DevOps

  • Getting Started With DevOps Katas

  • Containers and Docker

  • Source Control Management and Git

If you or anyone you know is interested in learning the technology that makes DevOps tick, now is a great time to purchase.  After the final release, the price will raise to reflect its completion.  Final release for DevOps Katas is slated for March 2018.

I’ve been getting some questions about DevOps Katas, and I’d like to share some thoughts about one question that keeps coming up.  It’s an excellent question, and deserves a clear answer:

Why should I learn these three tools: Docker, Git, and Jenkins, and why together?

Let’s take these two questions separately:

Why Together?

Does this sound familiar?

“Great, I can build an image and start a container… what now?”

“Cool!  I can create a repository and file a pull request… what now?”

“Awesome!  I can create a Continuous Integration pipeline… (say it with me, folks) what now?”

Have you been here? I have, and it sucks. All that effort invested in learning a tool, or a framework, and you’re left feeling like you have the handle of the hammer, but the head is missing. Why?  Because most of these tools, utilities, frameworks, and systems aren’t much use in isolation. You have to put them together to do something meaningful. That is what DevOps Katas delivers: an integrated set of exercises, designed to be practiced, that tells a complete Continuous Integration and DevOps story.

Why these three?

Docker is the established leader in container technology.  Containers are rapidly becoming the only game in town for high-velocity, scalable, reliable software development and deployment.

Git is, arguably, the de facto standard for source control. Long-time users of long-in-the-tooth centralized systems are making the switch (ahem, Microsoft.)

Jenkins is definitely the de facto standard for Continuous Integration. It’s safe to say that you just can’t be DevOps without Continuous Integration and Continuous Delivery.

Docker, Git, and Jenkins are also open-source, which makes them free, just like the DevOps Katas Learning Virtual Machine.  The LVM has Docker, Git, and Jenkins pre-installed, with supporting files and content to support the katas of DevOps Katas.

Good Practice!


DevOps Katas: Hands-On DevOps Beta is released and available for purchase!


It’s been a long road…

Just over one year and four months ago, on July 24 2016, the seed of the idea for DevOps Katas was planted.   This book is a synthesis of several of my passions: writing, technology, and DevOps.  I wanted to make a book unlike the ones I had read before.  Something more… hands-on.  Theory is useful, but I wanted to create something where the balance between doing and learning was closer to 50/50.

Today I am excited(!!) to announce that the DevOps Katas beta (I call it the Minimally Viable Book) is available on Leanpub.  It includes:

  1. Getting Started With Katas
    1. Setup instructions for the DevOps Katas Learning Virtual Machine
    2. A sample kata, to get your feet wet
  2. Docker Katas
  3. Git Katas
  4. Jenkins Katas
  5. Practice Pages
    1. Docker
    2. Git
    3. Jenkins

These chapters are the core of DevOps Katas.  They will, individually and together, teach you about the usage of each tool.  DevOps Katas is three books in one: you can start with any kata and do one, two, or all.  They are designed to work together, and I recommend you take them in the order presented, but it’s not required.

When you’ve completed a kata chapter, the Practice Pages are there for you to focus on the commands.  Practice is designed to go fast, so you can do it often (like brushing your teeth.)  The kata steps are listed in a table, with the plain-english description on the left, and the detailed commands on the right.  You can even print out a Practice Page, fold it longways, and challenge yourself: can you remember the step well enough to execute the command from memory?   That is where I hope you will find the greatest value: practice.  That’s what katas are all about.  I may be biased, but I can say honestly after a more than a year of experience developing them: they work.  I’ve learned a lot about these tools while producing these katas.

DevOps Katas are also battle-tested.  I’ve been using them as training materials at my day job, and at meetups and conferences for most of this year.  The step-by-step, progressive format tells a story about the tools that follows they way they are used in the real world.

The beta version of DevOps Katas is available now, at a discount, while it’s being completed.  If you buy now, you’ll continue to get updates, as the book is completed, for no additional cost (so act now!  There’s my shameless plug…)

During completion of the book, I’ll be adding the following content:

Introduction to DevOps

This general introduction to DevOps will outline the basic principles of DevOps, and how the tools and technologies in the katas relate to those principles.

Containers and Docker

Containers are changing the way software is developed, configured, and deployed.  Docker is the de facto standard for containers.  This chapter will provide a brief history of the development of container technology, Docker’s major role in that history, and the essentials of how containers work.

Source Control and Git

Software development cannot be done correctly without Source Control Management  (a bold, but true statement.) Decentralized SCM, including Git, has become a best practice in DevOps.   This chapter will compare and contrast different styles of source control, with a focus on why Git has become the standard DevOps source control strategy.

Continuous Integration and Jenkins

Continuous Integration brings code contributions together in a releasable work product.  Without CI, the act of releasing software is a painful, expensive,  and failure-prone.  With CI, work is integrated constantly.  Faults and defects are discovered early, when they are cheap to fix in isolation.  The act of releasing software becomes a business-driven decision, rather than a technical one.  This chapter will provide a basis for how CI works and how Jenkins supports it.

DevOps Patterns and Tools

Docker, Git, and Jenkins are important DevOps tools, but they are far from the only ones.  This chapter will provide a broader look at the DevOps technology landscape.

If you’re interested in DevOps, and you want to learn these tools, I believe DevOps Katas will provide valuable instruction along your journey.  I’ll be posting updates to this blog as new content is added to the book, and other news items.  Thank you for your interest.

Dave Swersky