Yandex, the leading search engine in Russia, has launched Cocaine, an open service that will let developers to design their own PaaS clouds.
The Cocaine documentation says that any library or service can be implemented as a service in Cocaine using a special API, and that services already implemented this way include a service for detecting a user's region or language, a service for accessing MongoDB storage, and a URL fetcher.
The main benefits of Cocaine, according to Yandex, start with the fact that language support is plugin-based, with many of the most common languages supported and additional languages to be added in the future. This ensures that users are not restricted to a particular language or framework, making it easy for anyone to use Cocaine.
Another advantage is that Cocaine has dynamic self-managing slave pools for each app, and that it scales your app automatically, depending on the required size. Cocaine can also automatically scale across your server cluster using automatic node discovery and smart peer-to-peer balancing.
The service includes data streaming and pipelining making it possible to create video-heavy apps. The technology behind Cocaine’s infrastructure virtualization and app isolation is Docker, a lightweight container that can run in almost any environment. Docker is gaining support across the open-source community, and is in use in Red Hat’s OpenShift PaaS.
On the Cocaine documentation, Yandex says that Docker is based on Linux Containers (LXC), and that:
“in contrast to full virtualization environments such as Xen and KVM, containers share a common kernel and cannot provide device emulation, but their use doesn't incur additional overhead and they start almost instantly. In addition to containerization, Docker provides tools for configuring networks and creating images of apps using a layered filesystem designed to minimize overhead on deployment and distribution of apps.”
The tool is available for download at GitHub.