In the highly competitive cloud computing market, only the strong survive. And as the market continues to grow, newer -- and often more cost-efficient -- services replace similar vendor offerings.
Docker is a virtualization framework that packages Linux applications and their dependencies into a container, making those applications portable across different platforms. Meanwhile, platform as a service (PaaS) offers a pre-configured virtual environment for developers, which is a similar service. For many, Docker may be an alternative to PaaS, but the open source container technology will not replace PaaS.
Some PaaS features are not easily duplicated in Docker. For example, using a relational or NoSQL database foundation, PaaS can offer a persistent data store. PaaS providers manage database administration tasks, while developers are responsible for managing the lifecycle of data stored in the database. Users can configure a Docker image to run a MySQL, MongoDB or other database, but developers are responsible for their own database administration. Other services, such as messaging queues, can be fully managed in a PaaS environment, but are available in a DIY model when using Docker.
When developers use PaaS to take advantage of a well-configured platform containing their preferred development stack, Docker is a good alternative. Developers can choose a Docker image from the Docker Hub public repository, and run it on their own development server or in an infrastructure as a service (IaaS) virtual machine. With thousands of available Docker images, there's a good chance developers can find images with the tools they need.
While Docker isn't a replacement for PaaS, the container technology may be a bigger threat to conventional IaaS virtual machines. Major IaaS providers offer container services that allow users to run Docker images in the cloud without provisioning specific machine instances. This can be especially appealing to organizations with many jobs that don't require the full resources of a virtual machine. Additionally, administrators don't have to optimize virtual machine sizes for optimal use.
Because Docker relieves many time consuming headaches for admins and developers, it's becoming a very popular option. In the long run, it should be seen as a complement to PaaS and IaaS, not as a replacement.
About the author
Dan Sullivan holds a Master of Science degree and is an author, systems architect and consultant with more than 20 years of IT experience. He has had engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education. Dan has written extensively about topics that range from data warehousing, cloud computing and advanced analytics to security management, collaboration and text mining.
Complete guide to Docker and container technology
Comparing and contrasting PaaS vendors
AWS muddies waters between PaaS and IaaS