DevOps Gathering 2018 – Day 2

Starting the second day quite late while slept quite well :). Let’s jump directly to the talks. I’m hearing the talk from Björn Rabenstein ( Github, Linkedin ) from SoundCloud about Modern Monitoring for Dev and Ops. He is talking about Black-box ( for Ops like Nagios ) / White-box ( for Dev like Prometheus ) monitoring. He introduced the book Site Reliability Engineering which “describes his former job at Google”, Björn said. One of the important subject that is also mentioned in that book is Symptom-based alerting (Prometheus Docs, TicketMaster, DataDog), which he likes to call symptoms as pages and causes as tickets. Black-box monitoring seems the solution to detect Symptoms, but it’s not sufficient because:

  1. Your probe is not real user traffic
  2. Long-tail latency matters
  3. You still need to investigate causes

His suggested solution is to monitoring back-end with front-end’s metrics and real user’s data. Then he moved to white-box monitoring where developers can collect metrics from their own code to improve the efficiency and performance of their applications / processes. They can use Prometheus’ client libraries or other options like node-exporter to export their metrics. He also mentioned a post from Peter Bourgon which was originally a talk in QCon London 2016 ( Software Development Conference )

Our next talk was Kubernetes @ AWS which was done by a guy (I forgot his name!). During his talk, he gave a good overview about Amazon Web Services ( like CloudFormation ) and talked about their newly introduced ones on 2017 like AWS Fargate and EKS ( good to take a look at this post too ). There is a good list of youtube movies about this event here too. He mentioned Docker Machine which is a tool that lets you install Docker Engine on virtual hosts, and manage the hosts and kubernetes kops which helps you create, destroy, upgrade and maintain production-grade, highly available, Kubernetes clusters from the command line. AWS (Amazon Web Services) is currently officially supported by kops. There is also another option for setting up k8s on AWS and it is kube-aws. During his wrap-up he mentioned a quite famous webpage and I would say important one which is The Twelve-Factor App.

Next talk is about testing, quite different and interesting talk. Kevin Wittek ( LinkedinTwitter, Github ) which was introduced as a rock star (!) is talking about Integration Testing with TestContainers. He started by referring to some interesting blog posts:

  1. Testing Pyramid from Watirmelon Blog and also here from Saeed Gatson
  2. From Martin Fowler a post about Microservice Testing ( He has also good posts about Unit Test and Integration Test )
  3. From Spotify Labs a recent post about Testing of Microservices and Testing Honeycomb
  4. From The Code Whisperer a post about Integrated Tests

 

Ideal Automated Testing Pyramid
Ideal Automated Testing Pyramid

 

Microservices Testing Honeycomb
Microservices Testing Honeycomb

Then he was giving introductions and demo about testing of java applications and useful tools for this purpose. The focus was to use containers for testing which there is a very good resource for Java language as Test Containers.

While I’m waiting for the last talk of this event, let’s briefly notice the one of two talks that I missed in the morning. There was a talk by Jan Bruder ( Linkedin, ) about Deploying and managing production-grade Kubernetes clusters with Rancher. He was talking about Rancher Container Management Platform which you can find it in docker hub. You can also join them in slack.

It might be useful to also mention the youtube channel of this event which we can find the talks from 2017 there. I would be good to have this years talk there as well.

Okey, the last talk is from Timo Derstappen (Twitter, Github ) about Cloud-native Microservices from Giant Swarm. Basically he listed the goals of having microservice architecture as:

  1. Unblock your teams
  2. Iterate faster and experiment more
  3. Resilient and scalable systems

How we can achieve this? By having smaller apps, clear service definitions and automation. That’s why we need to standardize your automation, monitoring and logging, communications and debugging. Timo talked about their stack where they are using Istio for communications and Jaeger ( a Distributed Tracing System ) for debugging and tracing. They are also using Github, CircleCI for their CI/CD piplines, Quay for their container registry and Swagger for API documentation. He also mentioned ambassador project which is kubernetes-native API gateway for microservices built on the Envoy Proxy.

It finish with, found this website for playing with k8s. might be interesting to check 🙂