Welcome to the Carmuseum “Prototyp” in Hamburg. Place of the Hamburg Container Days 2017! In this blog post, I would like to share my impressions and lessions learned with you.
Interatec is running “hacker” containers to test there infrastructure against security problems. They even run it against the production servers, even with the risk of breaking the production systems.
Every Team at the technology department of Zalando has an AWS account and is end-to-end responsible for the software and the services they are running. They separate there services using subdomains. Every service uses a central OAuth service to get access to the APIs that they need to consume. They use docker on a Kubernetes cluster to run their software. The stability of the infrastructure is ok, but you have to make sure not to hit the API limits of AWS, otherwise your software will not work as intended. For the onboarding they use a self created video tutorial and update it regularly.
Nexinto showed the CAMS Model: Culture, Automation, Measurement and Share. You can find a nice description of the model here: http://devopsdictionary.com/wiki/CAMS.
They showed the pitfalls they run into while running production services inside containers: Dont have to many assumptions at the startup of your service. For example does your application handle a non reachable database in a clean manner and is it able to do a clean shutdown without creating data corruption using system signals. They automate everything so every commit results in a deployment of the tested software. After the deployment a trigger is fired to notify the stakeholders in the internal chat system. Finally: Don’t be afraid of production system, but be respectful.
elastic.io, the developers behind the popular elastic search stack (elk stack), showed how docker containers can be monitored. Instead of elk stack, they now call it elastic stack, as there application “beats” also is able to collect the data, not only Logstash. They don’t suggest docker hub for hosting docker images, as they have “bad monitoring”. There images are hosted on there own infrastructure. Don’t use “:latest” for elastic search images, always use a version.
And finally “Knee Deep in micro services” by “Container Solutions”
More Services result in more source code. Each Service is in its own repository. For packaging they use docker (what a surprise) – The more services you have, the more deployments will be made. You have to think about service abstraction, load balancing and service discovery, at application and network level. Autoscaling is not the most important part at the beginning, but monitoring is! They have the opinion that monitoring the containers is not a sensible thing to do – instead monitor your applications and the virtual machines you are running your software on. Have some kind of log aggregation and alerting if something is not inside your parameters. They define the responsibility on ops to manage the services. The developers are responsible for the environments, the different app components and the releases.
I really enjoyed the talks at the container days. Clearly more and more are using Kubernetes to run there containers on. After the launch of our continous delivery pipeline using docker containers for the deployment at “Wer liefert was”, we are excited to see how the next step in development will look like.