Hostingvnz PaaS: Basic Concepts and Terminology
This document represents an overview of Hostingvnz PaaS 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 Hostingvnz and helps to understand the overall landscape of the Platform.
Here, we offer a consistent outline of the underlying Hostingvnz components with pointers to the corresponding documentation, namely:
- Сloudlet
- Сontainer
- Layer
- Environment
- Application
- Host
- Environment Region
Being informed about the basic components and how they interrelate, you can proceed with more complex scenarios available within Hostingvnz PaaS.
Cloudlet
Cloudlet is the smallest Hostingvnz infrastructure component. It is a special resource unit that equals to 128 MB 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 Hostingvnz:
- 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.
Both reserved and dynamic cloudlets functionality provides auto discounts for the usage volume - the more is used, the cheaper is the base price.
Container
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
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 Hostingvnz topology wizard for certified containers, such as:
- Load balancer (LB)
- Compute (CP)
- Database (DB)
- Data storage (DS)
- Cache
- VPS
- 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:
- Manually via dashboard, Hostingvnz API, CLI.
- Automatically based on the load triggers.
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
Environment is a collection of isolated containers for running particular application services. Hostingvnz 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
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 Hostingvnz Marketplace, to be set up in just a few clicks.
Host
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.
Environment Region
Environment region is a set of hosts orchestrated within a single isolated network.
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.
What next?
- Getting Started
- Dashboard Guide
- Software Stack Versions
- Create Environment