Developers: | Yandex |
Technology: | PaaS - Platform As A Service - the Business platform as service |
Cocaine is PaaS-system (Platform-as-a-Service) open source, allowing to create own cloud hostings of applications, such as Google AppEngine or Heroku [1].
Cocaine is an abbreviation of Configurable Omnipotent Custom Applications Integrated Network Engine ("the configured integrated all-powerful network engine for user applications"). In product quality of "Yandex" of Cocaine it was for the first time provided in 2012.
Cocaine is used in projects of the searcher, for example, as a basis of cloud API of "Yandex.Browser". However, third-party developers unrolled in Cocaine search engine are not allowed to use. Thus, for "Yandex" of Cocaine is not a direct analog of Google App Engine.
Does not open plans for providing to third-party developers access to the Yandex PaaS-platform, as well as plans of monetization of the Cocaine project. It is supposed that the users interested in Cocaine will begin to develop the platform on own servers, and if you want, to open to it access to everyone. Examples of full implementation of Cocaine outside "Yandex" in the searcher are unknown.
Cocaine is delivered both in the form of source codes, and in the form of ready deb-packets (suitable for installation for OS Linux Debian branches). In plans of Cocaine developers there is also a support of rpm-packets.
In a cloud it is possible to start the applications written in different programming languages (With, With ++, Python, JavaScript, etc.). Cocaine together with the Web server allows to receive automatically scalable environment of execution of web applications. It is convenient to use a cloud for processing of large volumes of information - thanks to the stream data exchange interface. Using Cocaine it is easy to implement the failsafe and high-performance bus of transmission of messages and events. Use of the balancer of loading allows to create systems, sympathetic to actions of the user.
Applications in a cloud are started using technology of virtual containers and performed independently of each other. It allows to support several versions of the same application and to organize "soft" migration of users on upgraded versions of products. In a cloud it is possible to test applications, starting them in the isolated environment. So errors in programs will not affect a physical system or other applications.