Cisco and partners built an extensible microservices platform that fits multiple application workload types. The team has vetted and integrated key open source projects in the cloud native space to eliminate guesswork, increase your project’s time to market and give you the flexibility to select the best infrastructure to put your application on.
Not a day goes by without seeing a reference to microservices, containers or DevOps. The trio has become an integral part of the IT buzzword bingo board of the moment. What all references and articles seem to agree on is that if you are serious about transitioning your application to a microservices based model, a full stack is required.
Gartner predicts that 95% of IT organizations will use some form of open source software for a mission critical workload by 2016. Popular microservices stacks are a clear example of this trend. Depicted below is a rough generalization of the stacks that are available today. Most have Docker and its open source container engine as the atomic unit of the solution. Beyond that there seems to be an options galore below and above that container engine layer. From schedulers/resource managers like Kubernetes, Swarm and Mesos, to container networking options like Calico or Contiv, it seems you could spend months evaluating projects and putting your own stack together. Thinking about all this reminds me of helping my wife pick between charcoal and smoke gray patterns for our living room. I don’t know about you, but they both look the same to me.
In this area, Cisco and a new breed of partners like Container Solutions and Asteris are taking a refreshing new approach to helping our customers. Rather than backing up trucks to a customers’ dock with hardware, our team at Project Mantl is researching, testing and integrating open source software into an end to end microservices platform. The platform is infrastructure and technology agnostic, meaning you can deploy it on premise or in your preferred public provider. It also goes beyond the traditional focus on container orchestration and scheduling to include and provision service discovery, reverse proxy routing and cluster health monitoring during initial deployment.
From a technical decision maker standpoint there are three key benefits that Mantl brings to the table and I would like to expand upon:
1. Extensibility to find the right technology for your application
2. Pre-integration to accelerate innovation
3. Portability to reduce infrastructure lock-in
Extensibility to find the right technology for your application
I’m a fan of old sayings and none is truer in IT than “ When all you have is a hammer, everything looks like a nail” (or something like that). Varying application workload types require different infrastructure and platform models. The resource pattern of a batch application varies to that of a real-time streaming or ephemeral container based application for example. On my research for this post there was a great quote in this blog that stuck with me. “Since different applications have different needs, supporting them all keeps adding features to the scheduler, increasing the complexity of its logic and implementation.” Most stacks settle on a single scheduler and resource manager – Mesos (Marathon), Kubernetes or Docker Swarm.
Mantl supports both Mesos and Kubernetes with plans to add Swarm in the near term. The flexibility to choose resource managers and schedulers provides customers the ability to reduce lock-in into a particular technology platform. More so, it opens up Mantl to support applications that benefit from a combination of these processes. A good example of this is an application that is comprised of a mobile user interface, a modern database and an analytics framework to gather user patterns. The front end interface is well suited for a long running container platform like Kubernetes. You can maximize cluster resource utilization by using Mesos as a platform for both the modern database technology (e.g. Cassandra) and the analytics framework (e.g Spark or Kafka). Combining platforms also allows you to stay up to date in the fast paced, daily changing container ecosystem. Kubernetes might be more appealing for your deployment today but a future version of Swarm or Mesos might be better suited for your application 9 months from now. This is akin to approaches Cisco has taken before in other technology areas like supporting both Ethernet/IP and SNA in our routing platforms or support for both SIP and SCCP to deliver voice over IP.
Net-Net: Mantl provides a pluggable cloud native framework that allows you to select and combine the technologies that better fit your application.
Pre-integrated to accelerate innovation
I have recently moved to a new house and as you can expect my honey-do list is longer than the line at your favorite barbecue joint. For every project, although I research the tools needed before drilling my first hole, I always end up having to make 5 trips to the hardware store to get things right. This turns my 30 minute kitchen faucet changing project into an 8 hour production. The same can be true when putting together your microservices stack. With all the options out there, architecture and engineering teams can spend weeks researching and testing projects and months trying to integrate them together.
Mantl eliminates this guesswork for project teams while still providing access to the essential components of a cloud native stack. This allows operations teams to understand what is happening under the covers so they can be more proficient during troubleshooting. For every supported flavor, the team makes sure that service discovery, load balancing and cluster health monitoring are included. This is done, for example, by providing the glue to tie a resource manager (Mesos, Kubernetes) to a service discovery framework like Consul. Another example is providing an easy way to add a logging framework like ELK (ElasticSearch, Logstash, Kibana) to your cluster for health monitoring.
Net-Net: Mantl pre-integrates projects to fuel innovation. This allows you to move your applications to the platform faster which can have an immediate impact in your time to market, time to revenue or time to science metrics.
Portability to reduce business risk
In this day and age, infrastructure is best consumed as a service either from an on-premise cloud or from your preferred public cloud provider. Abstracting the infrastructure from the application and treating it as code (buzzword alert) has the net benefit of bringing agility to your project. It also allows you the flexibility to optimize costs depending on the lifecycle stage your project is on.
Mantl uses HashiCorp’s Terraform to prepare the infrastructure before deploying its components. This allows customers to optimize where they deploy their particular cluster based on the feature set, compliance or cost requirements for that particular application. This in effect normalizes the developer experience across private and public cloud infrastructures. It also ensures there is no cloud provider technology bias so you can optimize your workload placement in a more dynamic fashion.
Net-Net: Mantl allows your software to be ported across different infrastructure models which reduces the risk of betting on capabilities from a single infrastructure provider .
In summary, Cisco’s Mantl provides an extensible cloud native platform that eliminates guesswork, increases your project’s time to market and allows you to select the best infrastructure to put your application on. Over the next series of posts we will investigate each element of the Mantl stack and discuss the value they add to the overall solution. If you want to get started with Mantl now, I invite you to give it a try using any of the resources below.