PaaS: Basic Concepts and Terminology
This document represents an overview of the platform fundamental concepts, a versatile solution for hosting inside Public, Private, Hybrid, or Multi-Cloud. The reference below is targeted at those who are new to PaaS and helps to understand the overall landscape of the platform.
Here, we offer a consistent outline of the underlying platform components with pointers to the corresponding documentation, namely:
Being informed about the basic components and how they interrelate, you can proceed with more complex scenarios available within the platform.
Cloudlet is the smallest platform infrastructure component. It is a special resource unit that equals to 128 MiB of RAM and 400 MHz of CPU power simultaneously. Such high granularity of resources allows the system to allocate the exactly required capacity for each instance in the environment. This ensures the truly fair usage-based pricing, so that only the really consumed resources are being paid.
There are two types of cloudlet at the platform:
- Reserved Cloudlets are fixed amount of resources reserved in advance and charged irrespective of the actual usage. Reserved cloudlets are cheaper than dynamic and recommended to be used when the application load is permanent.
- Dynamic Cloudlets are added and removed automatically according to the amount of resources required by your application (assigned when load goes up and removed as soon as it drops down). Dynamic cloudlets are recommended to be used for applications with variable load or when it cannot be predicted in advance, ensuring the truly usage-based charging model. In such a way, so that you pay based on your actual resource usage within the scaling limit.
Container (node) is an isolated virtualized instance, provisioned for software stack handling (like application servers, databases, load balancers, etc.) and placed on a particular host. Each container can be automatically scaled, both vertically and horizontally, making hosting of applications truly flexible.
The platform provides certified containers for Java, PHP, Ruby, Node.js, Python, Go, .NET and the ability to deploy custom Docker containers. Each container has its own private IP and unique DNS record, whilst public IP can be easily attached within UI dashboard or via API.
Layer, also referred to as a Node group, is a set of similar containers in a single environment. There is a set of predefined layers within the platform topology wizard for certified containers, such as:
- load balancer (LB)
- compute (CP)
- database (DB)
- data storage (DS)
- build node
- extra (custom layer; multiple ones can be added for Docker-based environments)
The layers are designed to perform different actions with the same type of containers at once. For example, the nodes can be simultaneously restarted or redeployed, as well as horizontally scaled:
Also, it is possible to check the common logs and stats, or make the required configurations via file manager for all containers in a layer.
In addition, the containers of one layer are distributed across different hosts using anti-affinity rules, ensuring even more reliability and high-availability for hosted applications.
Environment is a collection of isolated containers for running particular application services. The platform provides built-in tools for convenient environment management (i.e. configuration, monitoring, troubleshooting, etc.).
There is a number of actions that can be performed for the whole environment, such as stop, start, clone, migrate to another region, share with team members for collaborative work, track resource consumption and so on.
Each environment has its own internal 3rd level domain name by default. A custom external domain can be easily bound via CNAME or A record, and even further swapped with another environment for traffic redirection.
Application is a combination of environments for running one project. A simple application with one or two stacks can be run inside a single environment.
Application source code or built binaries can be deployed from:
- GIT/SVN repository, which allows to benefit on the automatic updates
- local archive (zip, war, ear, etc.) via UI dashboard or FTP
- custom Docker template
Also, a number of already prepackaged applications can be found within the platform Marketplace, to be set up in just a few clicks.
Host is a physical server or a big virtual machine that is virtualized via KVM, ESXi, Hyper-V, etc.
Hosts are sliced into small isolated containers that are used to build environments. Such partition provides the industry-leading multitenancy, as well as high density and smart resource utilization with the help of containers distribution according to the load across hosts.
Each environment region has its own capacity in a specific data centre, predefined pool of private and public IP addresses and corresponding resource pricing. Moreover, the initially chosen location can be effortlessly changed by migrating the project between available regions.
The Platform is a group of environment regions (where each one can be physically located in a separate Data Center, representing an isolated Cloud) and cluster orchestrator to control and act like a single system. This provides versatile possibilities to develop, deploy, test, run, debug and maintain applications due to the multiple options while selecting hardware - different capacity, pricing, location, etc.
As a result, you get a multi-data center or even multi-cloud solution for running your applications within a single panel. Moreover, each Platform is maintained by a separate hosting service provider with its local support team.
The platform has a unique business model of distributing its cloud product globally through hosting providers that form our Cloud Union. There is a rich choice of the platform vendors regulated by local government and laws. In other words, our hosting partners speak your language and understand your specific needs.
Cloud Union already includes 100 data centres available in 38 countries (more than offered by cloud giants). This partner community provides the freedom of choice, while hosting your application with no vendor lock-in and no compromise on data centre location, support level, performance or pricing.