You are here

You are here

40+ great resources that will rock your release velocity

public://pictures/rouan.png
Rouan Wilsenach Software Developer, TES Global
 

It doesn't matter how quickly you can build software if you can't get it in front of users. What's more, once it's out there, you need to be able to tell if it's actually doing what you'd hoped and ship adjustments fast.

Here's my roundup of some of the most useful resources for learning how to create a reliable, repeatable route to production that will help you release code faster.

Setting the scene

Continuous integration

Continuous delivery

Techniques for less risky deployments

  • A list of software development resources can't really be considered complete without a couple of entries from Martin Fowler. His post on blue-green deployments will help you on your way to zero-downtime releases.

  • Fowler also has a good write-up on canary releases, which are a way of reducing the risk of releasing features by doing so gradually.

  • Unleash is a fantastic, full-featured feature toggling library that I've been using recently.

Infrastructure as code

Increasing your confidence

It's all good being able to release code quickly, but how do you know everything's working? Unless you have high confidence that your changes will withstand the unknown—or confidence that you will find out when they don't—you won't be able to release more often, because you'll be too scared.

Real stories

All the theory, tools, and opinions in the list thus far should give you the knowledge you need to improve your release frequency and stability. But the truth is that you'll get stuck somewhere along the way when implementing these ideas in your own unique context. When that happens, it's often helpful to turn to the stories of how other people navigated their journeys.

Keep learning

Read more articles about: App Dev & TestingTesting