Viktor Farcic

Consultant at CloudBees


Building A Self-Sufficient System
Tuesday 9:00 - 17:00
Your rating:

What do we expect from a modern cluster? If a replica fails, it should be brought back up (rescheduled). If a node goes down all the services that were running inside it should be distributed among healthy nodes. Those tasks are easy to accomplish. Schedulers (Swarm, Kubernetes, Mesos/Marathon, and so on) are already doing those things for us. Many solutions provide self-healing by making sure that the system is (almost) always in the desired state.

The problem with self-healing is that it does not take into the account constant changes. The number of requests is continuously changing, errors are created, network bandwidth is fluctuating, and so on. A cluster, and services inside it, is like a living body that needs to adapt to changes continuously. Services need to be scaled and de-scaled, nodes need to be created and added to the cluster only to be removed soon after. We call that process adaptation. Even that is not the problem in itself, as long as we have an army of operators that will monitor the system and do reactive and preventive actions.

How about converting adaptation into self-adaptation? Can we remove humans from the process and make a system that is self-sufficient?

The goal of this workshop is to provide hands-on exercises that outline the steps required for a design of a self-adapting and self-healing system that will continue operating efficiently even when we are on vacations. We'll define goals and processes and explore quite a few tools (Docker, Prometheus, Alertmanager, Jenkins, AWS, and so on). The end-result of the workshop will be a base for a self-sufficient system that you'll be able to implement in your organization.


Viktor Farcic is a Senior Consultant at CloudBees, a member of the Docker Captains group, and books author.

He coded using a plethora of languages starting with Pascal (yes, he is old), Basic (before it got Visual prefix), ASP (before it got .Net suffix), C, C++, Perl, Python, ASP.Net, Visual Basic, C#, JavaScript, Java, Scala, etc. He never worked with Fortran. His current favorite is Go.

His big passions are DevOps, Microservices, Continuous Integration, Delivery and Deployment (CI/CD) and Test-Driven Development (TDD).

He often speaks at community gatherings and conferences.

He published The DevOps 2.0 Toolkit: Automating the Continuous Deployment Pipeline with Containerized MicroservicesThe DevOps 2.1 Toolkit: Docker Swarm: Building, testing, deploying, and monitoring services inside Docker Swarm clustersThe DevOps 2.2 Toolkit: Self-Sufficient Docker Clusters, and the Test-Driven Java Development.

His random thoughts and tutorials can be found in his blog

Create account

You need an account to save events or rate talks.

Already have an account? Sign in

Sign in

Sign in to save events or rate talks.