Now that platform-as-a-service is becoming more pervasive, we see that the main use cases include:
- Web application
- Mobile application
- API Economy
However, the user experience needs to be the key focus area for PaaS. From a users perspective, there are three main ways to get started on a PaaS, including Bluemix. These approaches can be summarized below.
1. Creating application from scratch
A PaaS is a great tool to create an application from scratch since it is born on the cloud with a corresponding cloud architecture. Most PaaS solutions provide services to help build your application. In specific, Bluemix has over 60 IBM and 3rd party services in the catalog to help build your application.
As the above chart shows, you can enter the Bluemix interface with no pre-existing assets, and create an application extremely quickly because the developer only has to focus on the code and data. Although creating applications from scratch will always have a place in the cloud movement, there are other tools that can be leveraged on a platform-as-a-service.
2. Virtual Machine
Next, PaaS will be able to host virtual machines and compute their programs with ease. Most readers are probably familiar with a VM, and therefore can visualize what it looks like to run a VM on top of a PaaS.
VM management on PaaS will only become easier and more seamless. Rest assured that VMs on PaaS will be supported in the future because of their security. While Docker Containers are new and upcoming (see below), VMs will need extensive PaaS support for mission critical applications.
3. Docker Container
Docker helps solve the problem of helping developers and system administrators build, ship, and run distributed applications. The Docker platform helps make programmable processes self-contained that can run on a single kernel, with a single interface to manage the container.
Docker containers are extremely relevant to PaaS due to their high portability. The combination of Docker with platforms-as-a-service will allow developers to manage running containers, combine processes to running containers, and communicate with the Docker repository. In this regard, containers on a PaaS will make it incredibly easy to start/stop containers and view the running logs.
In fact, Docker demands that you store all config values, dependencies, everything inside of the container itself
Docker on Bluemix enables users to port their existing applications and make them publicly accessible for one’s user base. This is made possible because Docker requires all dependencies to be stored inside the container itself.
With tools such as Docker, the landscape of the PaaS will be drastically changing. The PaaS that can adapt to make it as simple for users as possible to get started on the platform from scratch, with a VM, or with a container will win the hearts of developers. Each approach offers unique pros and drawbacks.
For example, while Docker containers are extremely efficient, their security isn’t as robust as a VM. While building from scratch provides flexibility, it does not provide as much speed as the other times. Some applications require more security, and some require less overhead to run. The requirements of the application determine which approach the user wants to take. In the end, the PaaS needs to provide all options to their customers.