In this interview, Ben Golub, CEO of , talks about why the Baidu Application Engine folks chose Docker as the go-to platform for building and developing its applications. These applications are deployed as a light-weight, nimble and self-sufficient container that will run in most any environment.
inside-cloud: Could you give us some background on Baidu – specifically its BAE environment, and what issues the company was trying to solve by leveraging Docker?
Ben Golub: Baidu is the market-leading language Internet search provider in China. The Baidu Application Engine (BAE) PaaS platform for developers initially utilized sandbox technology, but the company was faced with the high costs of platform development, maintenance and application migration. With a sandbox approach, you have to build a completely new environment for each language. This requires a lot of time and can lead to security issues if sufficient resources aren’t spent digging into the specifics of each language environment. On top of that, you have to limit the capabilities of the app using a sandbox environment for security issues, creating additional problems for developers. As a result, Baidu searched for a solution that didn’t rely on sandboxing and became interested in the possibilities presented by containerization.
inside-cloud: What prompted them to land on Docker?
Ben Golub: When they began testing Docker, Baidu instantly grew impressed with the ease-of-use, agility and performance offered by the open source engine. By allowing developers to package, ship and run any application as a lightweight container that can run in almost any environment (bare metal, virtualized, public or private cloud), Docker was able to deliver a solution that was truly interoperable. Docker enables processes to run in an isolated and secure environment without restricting what the language or framework is capable of doing. With sandboxing processes and studies no longer required, Docker greatly simplifies adding a new language. Each language is simply packed into a Docker container, leading to reduced costs of platform development, management, and maintenance, as well as application migration and development.
inside-cloud: Now that BAE will be based on Docker, what benefits can users expect to gain?
Ben Golub: Now that Docker is used in place of traditional sandboxing, there are two main benefits for the user:
- There won’t be security restrictions applied to the languages themselves. Since the language is not limited, developers will be able to uncover the full capabilities of whatever language they decide to use.
- Instead of spending months studying and developing a new sandbox to address the specific language, Baidu will be able to add more languages with different versions at a much faster rate. As a result, more developers will be able to use the PaaS.
inside-cloud; What makes containerization a desirable solution in comparison with the other technologies on the market?
Ben Golub: Containers are lightweight and much faster than traditional VMs, making them very easy to launch (a few milliseconds compared to minutes for VMs) and move around from laptop to dev-servers, and from dev-servers to pre-production/production environments. While sandboxing technologies are difficult to master and lead to security issues, containers provide complete isolation of processes to ensure the capabilities of an app/language/process isn’t restricted.
Additionally, Docker brings ease of use, versioning (we are often compared to the git for devops), and also a standard. This enables Docker to provide a separation of concern for devs and ops. Developers can now build once and run anywhere and be carefree as to which version and which libraries are on the QA or the production servers. They simply pack their application inside a container and send it to the ops team. From that point, the Ops team can configure once and run anything. It no longer matters what the version or dependencies of the app are. They receive a standard container and they just run it.
All of this combined, plus the fact that containers have no overhead (compared to VMs), makes Docker cost-effective for the whole company.
inside-cloud: How do you see the current perception of containers factoring into the growth of Docker’s ecosystem?
Ben Golub: Developers are recognizing that there are alternative methods to traditional virtualization. The buzz surrounding Docker within the developer community is outstanding and it is lending us a great deal of momentum heading into the new year. Our user-base continues to expand with high-profile names such as eBay, Yandex, Baidu, Spotify, Rackpace, and more, and we are thrilled to have reached over 250 external contributors. Additionally, Docker containers have been downloaded over 250,000 times and received almost 8,000 GitHub stars. The community has played a prevalent role in our successes and we are thankful for what has been achieved. We look forward to expanding our ecosystem even further in 2014.