Software engineering and developer communities are driving the market for cloud consumption and leading each industry into a new era of software-defined disruption. There are no longer questions about elastic and flexible agile development as the way to innovate and reduce time to market for businesses. Open source software plays a key role in the digital transformation taking place to cloud native and understanding how your business strategy needs to address this next disruption in software development is crucial to the success of your business.
The Cloud Native Computing Foundation (CNCF) has defined cloud native as:
The first 2 aspects make perfect sense with the current maturity of development, virtualization, and cloud deployment experience. However the 3rdaspect is very much at the root of how digital transformation will explode over the next several years.
A micro-service architecture is a software architecture style where complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These application services are small, highly decoupled and focus on doing a small task.
The figure above further decomposes the architecture into 4 key sub-systems:
When you're beginning a journey, it's important to recognize how you arrived at today and the lessons learned and in retrospective, what you would have done differently. The stack of today is shown below:
This stack is very much about metadata and system of record mindset. Orchestration and management is all about automation of the infrastructure and OSS systems. There is no running code or executable services. This model is all about templates and scripts that must be executed in a specific sequence to ensure minimal configuration drift. All the application code must handle the integration, orchestration, and deployment complexity in code.
The container stack for cloud native development takes a different approach based on all the great experiences and lessons we have learned over the last decade. This stack is shown below:
The cloud native stack will consist of:
Shipped is a modern, simple developer experience for cloud native. The project addresses both the developer needs in the build and deploy phases as well as the operations users in the run (monitor and metering) capabilities. Shipped leverages another open source project called Mantl for multi-cloud/data center deployments for a full container platform that supports Kubernetes and Mesos side by side.
The mantl components are shown below.
Mantl is an open source, end to end, integrated stack for running container workloads across multiple clouds. Mantl includes deployment automation and assurance and monitoring. We designed the project to be pluggable and grow into a hybrid platform to support application development and data services. With Mantl, enterprise grade networking (L2-4 and overlay), security (secret, AAA, network), and storage (persistent, object, and ephemeral) capabilities built in.
Mantl address a common problem in application orchestration -multi-orchestrator capabilities. There are several use cases and different types of orchestrators that address these use cases. Mantl's design is extensible and today supports Mesos/Marathon, and/or Kubernetes, and/or Docker Swarm. What is important in a multi-orchestrator model is unification across the service discovery and load balancing to enable multi-cloud deployments -customer choice.
If you are in Toronto at CloudNativeDay, stop by for demos of Mantl and Shipped as well as FD.io and Calico for enhanced network and security without compromise.