Home > Cloud-native applications, Containers, Kubernetes, Microservices > Cloud-native apps, containers and Kubernetes

Cloud-native apps, containers and Kubernetes

puppets.jpg

In my previous article we discussed the move away from monolithic applications to cloud-native applications using microservices.  These new applications are polyglot, written using a variety of languages and frameworks. With this new model you can  change any microservice without having to rebuild your entire (previously monolithic) application.  However if you are an enterprise with over 500 servers and are moving to containers, you would turn to tools like Docker to “cointainerize” an application, ship it, run it. Docker is installed on the host OS which could be Ubuntu Linux or some other flavor of Linux.

Customers like Business Insider who use containers and Docker can now create a local development environment that can be shipped to development, QA, production while being assured that the same stack is running everywhere.   Lyft the ride-share vendor moved away from a monolithic application to a micro-services architecture using Docker and now find that when running tests they no longer need to clear a database, they just knock down the container re-start it and it is in the same place as before but in less than 5 minutes, something which wasn’t possible using Virtual Machines.   Yelp the online review company uses Docker to run Cassandra an open-source NoSQL database management system in containers.

An over-simplified analogy would be that Docker helps you create and roll-out toys.  However what if you want the toy to do more, what if you want to deploy the toys beyond just one location, what if you wanted the equivalent of a puppet-show?  This is where a puppet-master would come in.  Kubernetes is that puppet-master!

puppet master

Docker is all about running micro-services in containers on a single machine.  Docker doesn’t help when you want to run containers in a cluster of nodes, across data-centers with fail-over, networking and storage.  This is where an open-source Docker container orchestration tool like Kubernetes is needed.

With Kubernetes you can use open-source tools like Graylog and Apache Kafka to collect and digest logs from containers.  For monitoring containers, you could have your applications post metrics to a time-series data store like InfluxDB and use an open-source dashboard tool like Grafana to visualize these metrics.

From a storage perspective if you are a VMware shop, you could use VMware vSAN.  If you are a DellEMC or NetApp storage shop you could use the Container Storage Interface(CSI) driver running in a Kubernetes pod within a Kubernetes worker node to enable storage provisioning of your legacy EMC or NetApp shared storage.

Does the move to cloud-native applications, containers, Docker, Kubernetes mean that you no longer need hypervisors and related licensing from VMware?  Not if VMware has anything to say about it.  That is a topic for my next article.  Stay tuned.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: