JAX DevOps Blog

JAX DEVOPS BLOG

JAX DevOps, 9-12 April 2018
The Conference for Continuous Delivery, Microservices, Docker & Clouds

12 Feb 2018

spread over many datacenters and/or cloud providers

spread over many datacenters and/or cloud providers. Source: Shutterstock

Containers are not the silver bullet that the IT industry has been looking for but even though they don’t solve all our problems, they do make solving the application level issues a lot easier. In this interview, JAX DevOps speaker Jussi Nummelin presents the advantages of geographically distributed microservices and weighs in on the obstacles organizations face if they want geographically distributed networks.

JAXenter: What are the advantages of geographically distributed microservices? The disadvantages?

Jussi Nummelin: The main advantage is superior resiliency. Now your services can spread over many datacenters and/or cloud providers. If one has serious connectivity issues, your services can still operate in the other(s).

Main disadvantage is a bit of added complexity, both on the application and infrastructure level. The complexity comes from the fact that on application level you must take into account things like network partitions, split brains, network latencies.

JAXenter: How can organizations manage these increasing complexity systems?

Jussi Nummelin: Containers and container management systems is an increasingly popular choice of tools for this kind of “hybrid” environments. With the right set of tools, many of the issues causing complexity can be abstracted away from the applications and developers. With containers one can be sure that the application run the same regardless of the data centres or cloud provider it lands on.Also with good container management platforms, like Kontena for example ;), the platform can and will make sure you spread the application containers across many data centres and zones automatically. With container overlay networking the networking is fully abstracted from the applications, they can interact as they’d be running in a local flat network.

The main challenge is defining the your fraud engine requirements when your product/processes/market constantly change. It means that the core principles of startups – being lean and agile, create a challenge when it comes to building your own fraud engine.

JAXenter: Do containers solve all of these problems? What other obstacles do organizations face if they want geographically distributed networks?

Jussi Nummelin: Unfortunately containers are not THE silver bullet either that we in the IT industry have been looking for for decades. 🙂 In this case, containers do not solve all of the problems, but they do make solving the application level issues a lot easier. What I mean is that when the deployment and networking issues are abstracted away, we can focus on the application level on the real application level issues and fix them. We still need to figure out how and even if our application can work in this kind of setup

JAXenter: What tool do you use the most when managing these kinds of networks?

Jussi Nummelin: We use Kontena of course. 🙂 With Kontena we get everything out of box as it sets up all the networking and handles running and deploying all the services for us.

JAXenter: What’s the most important lesson you’ve learned from implementing a distributed microservices network?

Jussi Nummelin: With containers and container orchestrators you really need to trust the scheduler. The container platform you’ve chosen should be able to handle wide range of failure cases and it is able to automatically re-schedule your services when parts of your infrastructure goes down.

On the other hand, Murphy’s Law still rules the world. 😀 The more you distribute your services across data centres, cloud providers or what not, the more ways you’ll find out how your system can break down. Which brings me to one of my favourite topics, chaos testing. It’s good to have some kind of chaos testing ongoing regularly to find out all the possible situations when things can break in weird ways. Once you’ve seen how things might break, you have better confidence that you can easily fix your system as well if/when it breaks down in production.


JAXenter: What are the biggest misconceptions about microservices?

Jussi Nummelin: That they are some magical creatures that make your life easy. The fact is that they do provide lot of benefits in the long term, but can be bit tricky to get right. They also bring lot of additional complexity compared to good-old monoliths.

JAXenter: What will participants be able to take away from your session?

Jussi Nummelin: They will see some of the ways how containers can help building systems that span across data centres and cloud providers. They’ll also see that modern container overlay networks is one the key building blocks in the solution as well as how container orchestration makes all these work in sync easily.

Thank you very much!

Check out JAX DevOps sessions by Jussi Nummelin

Behind the Tracks

BUSINESS & COMPANY CULTURE
the process of becoming fully agile
CLOUD PLATFORMS
Cloud-based & native apps
DOCKER & KUBERNETES
Docker, Kubernetes, Mesos & Co
CONTINUOUS DELIVERY
Build, test and deploy agile
MICROSERVICES
Maximize development productivity
Business & Company Culture

Business & Company Culture

Cloud Platforms

Cloud Platforms

Docker & Kubernetes

Docker & Kubernetes

Continuous Delivery

Continuous Delivery

Microservices

Microservices

Monitoring & Diagnostics

Monitoring & Diagnostics