There wasn't a lot of fanfare when Senlin debuted. In fact, there wasn't even a press release or major product announcement. Senlin, a clustering service for OpenStack clouds, gained traction through a post on VMware's OpenStack blog that explained how the tool can be used with a VMware Integrated OpenStack deployment.
This is significant for two reasons: First, it enables developer productivity, which is crucial to the success of the cloud, especially private cloud. Second, it shows that VMware is behaving like an open source community member rather than just a vendor pushing something it can sell.
Senlin keeps apps running in VIO
So, how is Senlin useful to VMware Integrated OpenStack (VIO) users? Keep in mind that OpenStack was designed for modern applications -- essentially, any application that manages itself on top of an unreliable infrastructure. This type of application is supposed to self-manage its scaling, adding more VMs or containers when the application load increases and removing them when it decreases. These applications are also designed to restart in the event of a failure. Regardless of whether it a worker failure, a physical host failure, or a network failure, the application must be able to address these failures without the application itself failing.
An enterprise infrastructure handles most of these issues without involving the application, while a cloud infrastructure leaves them to the application developer. Application developers usually build out these features inside their application. Senlin provides developers with a consistent way to handle failures and scaling that can be reused in many applications. Senlin also makes it easier for enterprise developers to start using cloud infrastructure because it allows them to write policies for Senlin plug-ins rather than build their own scaling and fault tolerance.
Senlin isn't simply a load balancer or auto scaler. It's a general purpose cluster manager with a plug-in model for supporting different types of cluster members. Senlin defines policies for each cluster based on the options made available by the plug-in. An auto scaling plug-in takes an instance image, workload metrics, and minimum and maximum node count. An auto scaling cluster then creates and destroys instances based on the load.
A load balancing cluster takes a container image, container health check URL and a fixed number of containers to run. The load balancing cluster makes sure there is a fixed number of healthy containers running at any given time. New containers are spun up by the cluster and unhealthy containers are destroyed. Senlin has a plug-in based architecture for supporting different types of clusters. Developers unsatisfied with existing Senlin cluster types can develop their own plug-in for different cluster types. There is still a productivity gain, as the cluster framework is provided. Hopefully, a few open source plug-ins will be developed to cover the vast majority of cluster types.
Senlin enables developer productivity
A lot of the principles of modern applications are about maximizing developer productivity. One example is the rich services from Amazon Web Services (AWS), which have driven public cloud adoption.
On-premises clouds need developer-oriented services, too, especially for developers who have experience with enterprise application development and must now develop for cloud platforms like OpenStack. There is a large gulf between the design of traditional enterprise applications and cloud-native applications. Closing this gap is an essential part of enabling private cloud adoption. Senlin is a foundation for building the rich services that can be reused across multiple applications. The ultimate objective for any IT infrastructure is to deliver applications and data to users. The public cloud has been wildly successful because of the way it enables developers to build applications. I believe this has been a cornerstone of AWS' success. Senlin will enable this same developer productivity with other clouds, especially private clouds built on OpenStack. VMware's approach to promoting Senlin, as well as its creation of a new chief open source officer position, gives me hope for the company's open source future. By behaving like an open source community member, VMware has shown that it understands the needs of developers and is willing to do what is best for the open source community as a whole.
VIO 3.0 provides better scalability and performance
Which is better for private cloud: OpenStack or VMware?
VMware looks to improve its cloud computing strategy