Continuous Delivery and DevOps - Not Just For Unicorns
Continuous Delivery and DevOps are here to stay and not because they’re being practiced by trendsetting unicorn companies. The fact is science tells us that these approaches work and this year’s conference gave us lots of examples.
At CoDe-Conf 2017 our keynote speaker, Nicole Forsgren, gave a powerful address setting out the scientific case for DevOps. Her research, outlined in the DORA DevOps report shows that using DevOps practices actually drives business success. This year’s conference clearly demonstrated this theory by showcasing many successful examples of businesses enjoying the benefits of DevOps. And these really are successful businesses - we heard from people at Netflix, Uber, SwissCom and Volvo.
A recurring theme from this year’s conference speakers was the need to reduce time to market. We heard a lot about “fast feedback loops” - a phrase spotted in several of the slide decks - and JFrog’s more daring take “release fast or die”.
Ok, so why haven’t we changed the world yet? We all want to improve, automate and ship everything fast. Why are we as a <sector/guild/> still not done done with implementing this in our companies? We know it works! We can even prove it!
We want to have a swarm of build nodes testing our code in every possible way the instant we push our code for integration. We want dynamic and gradual rollouts of new versions with failure detection and recovery mechanisms that work with minimal human interaction. And yet, somehow, we can still hear our manager in the background saying “right now we just need to deliver the next feature, in six months you will have time to play around with all that nice stuff”.
Times are changing and companies in every sector know that this is no longer an exotic practice that only happens in greenfield companies. With a record number of participants at this year’s CoDe-Conf it seems this is no longer a niche interest.
In her opening keynote Katharina Probst told us what it is like managing a high-volume, globally distributed microservices system in the cloud. She worked at Netflix for many years and recently moved to Google, so she really knows what she’s talking about. She advised investing in monitoring tools, metrics, logs and meaningful alerts. Always make changes in production gradually, watching the metrics, so that you’re ready to roll back if something looks suspect. It really made me think when she warned that if you don’t invest in this infrastructure then it’s a kind of technical debt. I’m more used to technical debt being about code design, but clearly it’s much more than that.
The second keynote was from Kiran Bondalapati, Technology Leader at Uber Infrastructure. Like Katharina, he is also experienced in managing a high-volume, globally distributed microservices system in the cloud. Uber only decided on microservices a few years ago and went completely all in. Today they have about 3000 microservices and a similar number of developers. Kiran explained that they do over 4000 automated builds and deployments per day. At this scale he finds their understanding of the system breaks down more often than the actual system! He stressed the importance of design for understandability.
Martin Thalmann is Head of DevOps at SwissCom, a large telecoms operator in Switzerland. He said their organization was previously run on very traditional lines - their old project model had a 14-16 month cycle time. A couple of years ago they realized that the pace of delivery wasn’t sustainable. Meanwhile, their competitors had added 50 million active users and this gave them the incentive to go for DevOps. He told a compelling story of how change occurs in a traditional organization.
Spotify is another unicorn company, but it’s also famous for the ‘Spotify model’ with Squads, Tribes and Guilds. This talk from Conor Taylor was very down to earth and practical. Conor works in a Squad which is Spotify’s name for a cross-functional autonomous Team comprising diverse people with all the necessary skills. They also share a well defined mission and objective. One aspect of a Squad’s autonomy is the freedom to choose their own technology stack. Some technology stacks get more support from central groups than others, but teams are free to choose their own path. One consequence of this that I hadn’t anticipated is that even though they have a microservices architecture, in Conor’s teams they don’t do contract tests. They work autonomously and one team does not impose their test technology choice on the others.
Anders Lundsgaard is a Senior Engineer at Scania Connected Services. Despite being a well established industrial company where the main business is trucks they are also keen adopters of DevOps. They have a ‘cloud first’ strategy, soon to be ‘cloud only’. Anders works with a central group which provides ‘Delivery Engineer’ specialists who each support a number of feature teams. These specialists teach, coach, and provide tools to the teams they support, but do not push the deploy button. Each team must have the knowledge and skills to take that responsibility for themselves.
Like Scania, this is another well-established industrial company whose main business is hardware. Erik Schön explained how Ericsson took control of deployments even though they are not deploying to the cloud - their customers own their deployment environment in the form of mobile base stations. Ericsson managed to increase the release frequency from annually to sprints every 3 weeks. They achieved this through building trust with customers gradually. Their initial deploy was in the Nevada Desert in order to affect as few users as possible. When that went well they were able to roll out the practice in population centers like Las Vegas. I think this shows how relevant DevOps is even for traditional hardware companies.
The last keynote speech of the conference was given by Jan Bosch, a professor with a background of working in Silicon Valley. He has a wide perspective grounded not only in academia but also through the ‘Software Center’ collaboration with a collection of 12 industrial companies. Jan gave a wide-ranging speech highlighting the huge change that Digitalization is causing not only in the software industry but also in wider society. As with many of the previous speakers he stressed the importance of time to market. Everything he said only confirmed that Continuous Delivery and DevOps are crucial if your company is going to stay relevant in a digital world.
I hope this selection of experiences will encourage you to find out more about DevOps. Perhaps we’ll see you at CoDe-Conf in 2019?
More about this conference and upcoming events on code-conf.com
Nicole Forsgren and the Accelerate DORA team has just released the newest iteration of the State of DevOps report. The report investigates what practices make us better at delivering valuable software to our users as measured by business outcomes. Read on for our analysis of the report, and how it can be best put to use.
The latest drivers of software delivery performance
A major challenge of software development is that our work is by and large invisible. This makes our folklore essential in business matters. Some of our commonly used arguments and visualizations are digital urban legends rather than solid foundations for informed decisions. Here, we’ll go through a few examples and some measures to address our misconceptions.
How the stories we tell influence our decisions
In the world of Agile and DevOps we use many figures, charts and diagrams to argue and reason about our world and how we prioritize and make choices. However, at all levels of the organization, we misuse and misinterpret figures. It’s time to be explicit, measure the right things and act on them. Watch this talk from DevOpsDays Zurich in May 2019.
Watch this talk from DevOpsDays Zurich
Summer is a great time to catch up on reading, whether you’re at the beach, in a summer house, or cozy at home. If your book backlog is on the short side, don’t worry! We compiled a list of great books for summer reading.
Inspiration for your summer reading list
This is a conference in Gothenburg for software developers, especially those with some experience of agile and a desire to improve their skills.
Industry experts and pioneers visit Gothenburg
What testing steps should you include in your Continuous Delivery pipeline? Don’t just string together existing manual processes - use simple, collaborative tools to design something better!
A new card game to design Continuous Delivery pipelines
In the Accelerate book, researchers explain several metrics which they have shown will measure the performance of a DevOps organization, and crucially, drive performance of the organization as a whole. I will explain why this is important, using an analogy with your risk of a heart attack.
Clinical Trials and Software Process
Jenkins is one of the best adverts for open source and at Praqma we have been using it since the very beginning. We enjoy giving something back to the community by hosting Day of Jenkins, and this year’s event was packed with exciting developments. Read on!
Day of Jenkins [as code] - A summary
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps