Delivering Systems @ GOTO Berlin 2016

December 17, 2016

Implementing systems is one thing – but continuously delivering them into production and providing the needed reliability might even be a bigger challenge. Only recently delivering systems has gotten the needed focus.

The Delivering Systems track at GOTO Berlin 2016 does not just provide insights on software engineering practices for infrastructure as code and new basic technologies like containers but also tests – because only if software is well tested, it will eventually be made available to users and customers.

Watch the videos from the Delivering Systems track at GOTO Berlin below.


Acceptance Testing for Continuous Delivery

with Dave Farley, Co-Author of Continuous Delivery

Writing and maintaining a suite acceptance tests that can give you a high level of confidence in the behaviour and configuration of your system is a complex task. In this talk Dave will describe approaches to acceptance testing that allow teams to: work quickly and effectively; build excellent functional coverage for complex enterprise-scale systems; manage and maintain those tests in the face of change, and of evolution in both the codebase and the understanding of the business problem.

This talk answers the following questions, and more: How do you fail fast? How do you make your testing scalable? How do you isolate test cases from one-another? How do you maintain a working body of tests when you radically change the interface to your system?

Download the Slides

[bctt tweet=”#AcceptanceTesting for #ContinuousDelivery – watch @davefarley77 present at @GOTOber 2016″]


Building and Deploying Microservices Applications with Containers

with Ilya Dmitrichenko, Developer Experience Engineer at Weaveworks

In this talk, Ilya shows off a sample reference microservices app, a socks shop. We look at how it’s been developed, and then deploy it to three different container platforms, and then use Weave Scope to find out how it works.

Download the Slides

[bctt tweet=”Building + Deploying #Microservices Apps with #Containers – view @errordeveloper’s slides from @GOTOber”]


You build it, you run it: Operating SoundCloud’s Microservice Architecture

with Matthias Rampke, Engineer at SoundCloud

At SoundCloud, each development team operates the systems that they own, and they own the systems that they build. By eliminating dedicated Operations and SRE roles, our engineers have the autonomy they need to iterate fast, while maintaining cohesion and reliability in our platform. Learn how we organise deployment, on-call, shared infrastructure, and the role of core and infrastructure engineering.

Download the Slides

[bctt tweet=”Download @matthiasr’s @GOTOber slides on how @SoundCloudDev operates their #microservice architecture”]


Cluster Management at Google with Borg

with John Wilkes, Principal Software Engineer at Google

Cluster management is the set of tools and processes that Google uses to control the computing infrastructure in our data centers. It includes allocating resources to different applications on our fleet of computers, looking after software installations and hardware, monitoring, and many other things. I provide an overview of what we can do, and explain how the lessons we’ve learned have driven the design of Kubernetes, our new open-source cluster management system. We certainly don’t have all the answers, but we do have some pretty impressive systems.

Download the Slides

[bctt tweet=”#ClusterManagement at #Google with Borg – view John Wilkes’s slides from @GOTOber 2016 talk”]


Implementing Infrastructure as Code

with Kief Morris, Cloud Practice Lead at ThoughtWorks

Infrastructure as Code (IaC) is the “A(utomation)” in the DevOps “CALMS” model. It treats dynamic infrastructure as a software system, which means development tools and agile practices like TDD, CI, and CD can be used.

Most development and operations teams are making at least some use of IaC tools such as cloud, Chef, Puppet, Ansible, Terraform, etc. But not many are using them to their full potential. This talk explains some of the core challenges of managing infrastructure in a fully automated way, and shares principles and patterns for addressing them.

The talk walks through a number of patterns for implementing IaC tools such as AWS, Chef, Puppet, Ansible, and Terraform, to build a change management pipeline to automatically test and apply configuration to infrastructure. The patterns are not tool-specific, so should be useful for any team using these types of tools.

Attendees should come away with an understanding of how concepts such as Continuous Integration (CI), Continuous Delivery (CD), Test Driven Development (TDD) can be applied to infrastructure.

Download the Slides

[bctt tweet=”Implementing #InfrastructureasCode – @kief’s slides from @GOTOber 2016″]