2017
was the heyday of Kubernetes. As noted in RightScale, the percentage of companies working with Kubernetes
has increased from 7% to 14% over the past year. Kubernetes entered the top five of the most popular DevOps-tools that "adopted" in 2017, and became the second among those planned for implementation.
Kubernetes have become increasingly used by medium and small companies. In addition, the framework has already been implemented and large organizations - Google, Red Hat, IBM, Microsoft and others.
One of the reasons for the popularity of the platform is a rich set of tools developed on its basis. One of these releases was the
VMware Dispatch project - a framework for creating and working with serverless applications. In this article we will consider a new product, and also we will tell about its features and capabilities.
')
/ Pixabay / distel2610 / CC
Outdated applications are increasingly being
transferred to microservice architecture to increase scalability and speed of development. However, these benefits affect costs and entail the complexity of integration.
Serverless architectures that
allow you
to create and run services without the need for infrastructure management help solve the problem. Serverless applications are built on the basis of functions, each of which performs one small and specific task (for example, is responsible for processing the database).
VMware's Dispatch solution
is based on Kubernetes and provides tools and services for deploying and managing serverless architectures (FaaS, or "
function as a service ").
Dispatch Features
However, according to the developers, Dispatch is
not an ordinary FaaS solution. The new framework allows integration with one or more FaaS implementations: at the time of launch, Dispatch included drivers for OpenFaaS and Riff (support for other FaaS implementations will be added in the future).
As Cody De Arkland, senior VMware systems engineer, points out, Dispatch uses the OpenFaaS engine, but with a kind of “magic sauce” that increases the flexibility of the technology and allows you to run the same function in several environments at the same time.
The Dispatch structure
includes the following services:
- Event gateway;
- Function gateway;
- Function schema validation;
- FaaS Implementation (OpenWhisk);
- Image Manager;
- Identity Service;
- API Gateway;
- CLI;
- Ui.
All services are deployed as containers on Kubernetes. They use a single central data repository, which is accessed through an interface that provides an adequate level of abstraction. This avoids binding to any database and makes it possible to conduct independent tests of services.
Dispatch
provides an environment in which all functions can be controlled and tested. VMware's Pivotal Container Service (PKS) provides the secure Kubernetes service. The framework also allows you to work in a multi-user environment and integrates with services that support OAuth 2.0, such as GitHub and Active Directory.
Additionally, Dispatch includes a VMware vCenter Server driver that allows functions to interact with vCenter events.
Deployment Features
Dispatch is an open source project. Sources and documentation
can be found in the repository on Github. As Cody de Arkland points out on his blog, before installing Dispatch, you must configure the Kubernetes cluster using
Kubeadm and configure the package manager
Helm . Cody
described in detail his algorithm for starting work with Dispatch in his blog (the manual is written for CentOS).
You can also find step-by-step instructions on how to deploy Dispatch in the
official repository on GitHub.
PS Here are some more posts from the 1cloud blog: