The original appeal of the cloud was that it simplified the implementation and management of infrastructure with minimal upfront cost. While that is still the case, the focus has shifted to rapidly rolling out applications and services, and making sure developers have on-demand access to the resources they need to accelerate development and deployment processes.
Platform-as-a-Service (PaaS) emerged as a way to make life easier for developers. PaaS brings together the hardware and software required to create an application development environment that masks the complexity of the underlying infrastructure. Operating systems, databases, development frameworks, and other tools and services are hosted and managed by a cloud service provider. PaaS eliminates the need to purchase, maintain and update this environment, and provides automated tools that streamline the provisioning of infrastructure to support applications.
Many PaaS offerings use container ecosystems, one of the hottest trends in application development. Containers have emerged to address the serious issues that often arise when software needs to move to an environment with a different operating system, network topology, security protocols and storage. A container separates an application and all of its requirements from system resources and bundles the entire runtime environment in an isolated package. This makes it possible for the application to run on any operating system in any computing environment.
Containers are similar to virtual machines (VMs) but are capable of sharing operating systems, so they are less resource-intensive and boost faster than VMs. Containers can also be deployed, replicated and moved more easily than VMs, resulting in greater flexibility and portability.
Nevertheless, many organizations that have jumped on the container bandwagon are now struggling to manage huge numbers of containers. Container operations and deployments must be scheduled and monitored. Some containers must be deleted and then re-created. These and other tasks need to be automated and orchestrated in order to take full advantage of the benefits of containers.
PaaS is evolving to overcome these challenges and better support containerization. Just as traditional PaaS solutions automate infrastructure-related tasks for developers, today’s container-oriented PaaS tools provide orchestration and container cluster management tools that enable the deployment, scaling and management of containerized applications to be automated.
One such PaaS solution is the latest version of the Red Hat OpenShift Container Platform. First introduced as OpenShift Enterprise, Red Hat’s PaaS offering originally focused on application development using the JBoss enterprise Java platform. Recognizing the growing popularity of containers, however, Red Hat has changed direction and added a portfolio of container technologies for both developers and operational teams.
The new OpenShift Container Platform 3.3 supports Docker and Kubernetes containers and offers a number of enhancements and new automation capabilities. In the next post, we’ll discuss how Red Hat’s open solution improves productivity, scalability, flexibility and security in containerized environments.