Admittedly, two years ago I was a bulk contributor to the DevOps noise with conversations rooted in the movement around culture, principles, and goals. And while all of these elements of DevOps environments are important, I’ve found that the biggest challenge now is a lack of understanding as to why DevOps is beneficial. It’s getting the wheels going, or just taking the next step. The best way to start on the road to change is to take a look at the companies that have already made great headway into modern software delivery. There is no one-size-fits-all DevOps, but there are existing implementations which contain a treasure trove of tips and tricks, and sometimes even direct implementations strategies for rugged DevOps.
Here are six DevOps implementations that I’ve found were focused on turning methods into results (with presentations from each company in the list):
Docusign’s development has always been Agile. But taking the next step into DevOps processes was not so easy. Due to the nature of their business (contracts and signatures), things like continuous integration and delivery are undoubtedly a serious challenge. They live and die by transactions, not the money kind, but the exchange of signatures and approvals. If anything were to go wrong and an approval was misattributed, for example, this would be a serious problem. So to support modern development speed, they leverage a very cool tool called an application mock — in this case, a mock for their internal API. The tool offers a mock endpoint and delivers mock responses. They are able to combine this with incident management, and before release, test the application with simulations that are very close to real-life exchanges. View Slideshare »
Similar to Docusign, Forter’s application is dependent on fast-paced and sensitive transactions. Forter put a large emphasis on self-healing issues driven by strong incident management. They’ve built a nice architecture for handling all issues. They have a filtering process to identify common issues to attempt to resolve them automatically, or for later reference to address and incorporate into their system. This focus on not just addressing issues but preventing them in the future is what will allow them to advance their delivery chain. View Slideshare »
Turnitin is a platform to help improve students’ writing. (I could have used that while in school.) I learned a lot from Samantha, a Database Manager at Turnitin, during her presentation on how monitoring is used to help with database performance in their application. I’m no DBA, but being able to identify normal and abnormal spikes, monitor backend response time, and react to abnormal spikes as quickly as possible is important for any application. View Slideshare »
Gengo is a translation platform. It is used both by commercial end users and by developers for integration into their application. They have a similar point of view to Forter where they chose smart monitoring as a path, not only better production applications, but also to larger goals such as freeing up time on the team to innovate. In particular, due to the distributed nature of their API, issues found as the result of an update can be especially hard to spot. View Slideshare »
What I really enjoy about the above four implementations is that they are not the DevOps unicorns, and they are not the poster children of DevOps (such as Netflix or Etsy), which makes their stories more pertinent to all applications.
But let’s look at the two poster children as well:
Etsy is a highly referenced practitioner of DevOps, as well as a contributor to the technology and tools available in the space. They reveal a top-down approach to DevOps adoption. The entire organization understood early on that long-term change would have to concentrate on culture, hiring approaches, motivational techniques, etc. But on the tactical side (infrastructure), they focused on cross-pollination of teams, an open-door policy, and visibility for everyone. View Slideshare »
Even more than Etsy, Netflix is showcased as the DevOps dream. And there is no lack of examples demonstrating how their environment fires on all cylinders (and all the cool things they are doing). In their presentation, pay attention to the reference architectures and how they are making sure their Cassandra database does not go Boom! They spend quite a bit of effort on comprehensive database testing during the release process. Often backends are tested only after several releases, and under limited scenarios. View Slideshare »
Find Your Own Playbook
It is common practice to find implementation that matches your own, and it can serve as a step- by-step playbook for how to implement DevOps in your own organization. Due to the variations in stacks, applications and teams, however, the duplication of another organization’s process isn’t possible. Still, there is a lot to be learned from those who claim wins in their DevOps practices, and it is possible to build on top of what they have learned.