The open-source developer point of view is that paying a provider for services employing open-source solutions defeats the original intent of the movement to create freely available software. While you theoretically may be able to control and modify the software due to its open-source nature, when it is in the hands of your cloud provider, your options may be limited or non-existent.
Cloud providers see things a little differently. Open-source software has been instrumental in the success of major cloud providers. Amazon EC2 and Google Compute Engine are built on open-source software. Many enterprises run mission-critical applications on open-source platforms furnished by these vendors. It’s safe to say that the cloud would cease to exist as we know it if open-source software was eliminated.
Open-Source Solutions in the Cloud
Here are some of the open-source solutions that are currently popular among cloud providers and their clients.
OpenStack is a cloud operating system used to control pools of compute, storage, and networking resources. Users manage and provision resources through APIs that use common authentication methods. Administrators can use a dashboard and users can access the provisioning process through a web interface. It offers a wide range of services as well as SDKs to facilitate development on the platform. Its open-source pedigree can save customers money and help avoid vendor lock-in.
Docker is an open-source development platform whose claim to fame is streamlining the packaging of apps into containers. This allows users to move their applications between systems running Windows or Linux. It provides tools for building, sharing, and running containerized apps. Containers can let companies extend their computing capabilities by running up to 50% more applications on the same server base.
Kubernetes is another open-source solution that is designed to automate container deployment, scaling, and management. Originally developed by Google, it takes advantage of the company’s experience in running billions of containers a week and to scale resources at will. Some of its features are service discovery and load balancing, storage orchestration, and self-healing containers that can address failures and reschedule processes.
Hadoop is a familiar name to individuals working with big data. It is an open-source software library that serves as a framework for processing large data sets using clusters of computers. It can scale from a single server to thousands of machines and has features that remove the risk of hardware failures by handling them at the application level. This provides a high-availability service that is independent of the clustered computers upon which it is running.
Neither the cloud nor open-source software is disappearing anytime soon. As cloud providers continue to refine their services they will undoubtedly make use of whatever solutions make the most sense. Open-source tools and platforms will continue to be widely used by providers and their customers for the foreseeable future.