Kubernetes helps orchestrate and automate tasks associated with containers - an essential need as you scale. Here's a deep dive for IT leaders on what Kubernetes can do, key terms, best practices, trends for 2020, and more.
How to scale DevOps: 10 expert tips
Doing DevOps and doing it at scale are two very different things. Here’s how to push past barriers to wider success
For many organizations, the first steps on the journey to DevOps don’t involve much pain. Small, passionate teams form, new processes take the place of old ones, and people achieve early wins.
But these are mere flashes of brilliance or illusions of progress, says Ben Grinnell, managing director and global head of technology and digital for North Highland. While encouraging, such early wins won’t help organizations achieve what they ultimately want: DevOps at scale.
“So often, companies run these ‘trailblazer’ projects without thinking about the fact that if you want to scale, these projects must leave a trail that others can and want to follow,” says Grinnell. “Trailblazing teams are usually staffed by confident people new to the organization who have done it before elsewhere. They are encouraged to disrupt and break the rules that others are supposed to follow. It’s easy to see how you end up with an ‘us and them’ culture, which inhibits the transfer of skills and knowledge.”
This culture challenge is just one reason scaling DevOps proves to be hard. Teams must also grapple with the complexity that is par for the course for fast-moving, technology-driven organizations, says Steve Newman, founder and chairman for Scalyr.
“In the modern world, services change as often as necessary. While constantly building and pushing new features is exciting, it becomes a headache to coordinate and troubleshoot when issues arise,” says Newman. “In hyper-growth organizations, engineering teams struggle to keep track of what’s being changed across a larger group and the cascade effect it has on the dependencies. Moreover, teams become frustrated when it’s harder to communicate what problems resulted when they no longer have visibility into the changes.”
[ Some common DevOps wisdom falls flat. Read 7 pieces of contrarian DevOps advice. ]
How are determined teams beating these challenges and scaling DevOps across larger organizations? We turned to the experts to get advice for people and teams who are stuck on their DevOps journey. It all starts with patience, even though you’re chasing a speedier software development cycle and faster business processes.
1. Remember, culture change takes time
Jayne Groll, CEO, DevOps Institute: “To my mind, expanding DevOps should be as incremental and iterative as agile software development itself (and equally as cultural). Agile and DevOps both advocate for small teams. But as small teams integrate with other small teams, the net result is more teams that are exercising a new way of working, and cultural transformation at scale begins to emerge.”
[ Read our related story: DevOps culture: 3 ways to strengthen yours in 2019 ]
2. Take your time planning and choosing frameworks
Eran Kinsbruner, lead technical evangelist, Perfecto: “To scale, DevOps teams need to match traditional process, skills, and tools, and then grow each of the DevOps phases slowly and stabilize them. It starts with planning the user stories and value streams properly, then going through software building and version control using practices like trunk-based development to handle multiple code branches and merges.
“Then comes the integration and testing phase, which requires a scalable platform for automation. For this, teams need to have proper frameworks that match their skills and project objectives. The deployment to production phase should be completely automated using orchestration tools and containers. Throughout, it’s important to virtualize phased environments (staging, QA, production) and ensure the latest test data is being used to draw relevant insights. The analysis must be smart and capable of handling big data with fast, actionable feedback.”
3. Change the nature of accountability
Gordon Haff, Technology Evangelist, Red Hat: “Setting up a system and environment that allows and encourages experiments enables successful failure in agile software development. It doesn’t mean that no one is accountable for failures. In fact, it makes accountability easier because ‘being accountable’ needn’t equate to ‘having caused some disaster.’ In this respect, it changes the nature of accountability. Four factors will prove crucial: Scope, approach, workflow, and incentives.” (For more detail on these factors, read the full article by Gordon Haff: DevOps lessons: 4 aspects of healthy experiments.)
4. Create a clear path forward
Ben Grinnell, managing director and global head of technology & digital, North Highland: “To scale, I recommend that leaders invest in a ‘clear the trail’ program alongside trailblazing DevOps efforts. The purpose of this program is to clear the debris from the disruption of the DevOps journey – rules that have been broken, etc. – and make sure the path forward is clear.
“Create organizational support and momentum through communications that are bigger than the trailblazers by celebrating the successes of the new ways of working. Coach the people in the next wave of projects who are nervously trying DevOps for the first time, and recognize that these followers are very different from the trailblazers.”
5. Democratize DevOps tools
Steve Newman, founder and chairman, Scalyr: “Democratize the tools. All tools must be accessible and approachable to anyone willing to spend the time to learn the basics of tooling. For example, if the ability to query log files is limited to the three people who are ‘certified’ on a tool, you’ll always be limited to a team of three who can only solve that problem – no matter how big your environment is. It creates a bottleneck that can result in serious (business) consequences.”