Microservices and day 2 operations

Michael Hausenblas
Microservices Practitioner Articles
2 min readJul 13, 2016

--

Modern, cloud-native enterprise applications increasingly utilize microservices to deliver features faster and in a more reliable fashion. Overall the setup generally looks something like the following:

The modern, cloud-native enterprise application.

There are a number of challenges, however, when migrating an existing monolith to a microservices-style architecture or even when one has the luxury to start with a clean slate:

  • To enable application-level dependency management typically containers are nowadays used to package and deploy the microservices. This requires an environment that is capable of producing container images incl. a CI/CD pipeline and a container image repository as well as discipline around container base images.
  • Monitoring, logging and troubleshooting must be aware of the containerized workload. This typically means traditional, machine-centric monitoring and alerting systems need to be extended to cover these new requirements or container-container systems must be put in place.
  • Microservices are inherently distributed systems and this means that the network becomes a critical resource and needs to be treated as a first-class citizen. This starts with service discovery (potentially in a segregated environment) and spans to security and isolation questions.

With Datawire you’ve got a system at hand that makes it easy to write microservices and that takes care of a number of the issues outlined above. Running Datawire on DC/OS is a great option, since DC/OS takes care of the remaining issues. Let’s have a closer look at what this means:

  • In DC/OS it is straightforward to set up CI/CD pipelines that allow your team to generate and deploy container images.
  • With Marathon, a battle-proven container orchestrator, you can launch and upgrade containers as well as do health-checking.
  • DC/OS has unique capabilities to provide elastic data pipelines alongside your microservices deployments. For example, DC/OS supports popular distributed datastores and engines such as Apache Spark, Apache Cassandra or Apache Kafka—see also below screenshot of the DC/OS universe—that can be used as components in your data analytics pipeline. This means that with a few clicks or a handful of command line instructions you can set up your data analytics together with your microservices-based app written in Datawire, all in one platform and with little operational hassle.
DC/OS Universe packages.

We are excited to work together with Datawire to make the operational side of microservices easier and help you to benefit from it faster and in a more sustainable way: as a first step, you might want to check out DC/OS and learn how to master the day 2 operations from day 1.

--

--