Within this step-by-step guide we`ll describe how to create and configure your environment in the cloud, taking as an example web hosting platform Cloudlets Australia.
1. Log in or register free to the Cloudlets dashboard and click New Environment.
2. Set up your environment within the opened topology wizard dialog:
- choose programming language or specialized deployment solution (Docker Engine or Kubernetes Cluster)
- set up topology by adding required software stacks
- configure nodes resources and specifics
- review estimations, name the environment and confirm the creation
Now let’s review these steps in more details showing how to configure a new environment in just a few simple clicks.
Choose a Programming Language or Deployment Option
Firstly, select the required deployment solution. Cloudlets Australia hosting platform supports multiple options for application development and hosting.
1. The most common and recommended choice is certified containers. These stacks are specifically configured and managed by the platform in terms of version updates, security patches, etc. They support all platform features scaling, automated deployment, redeploy, SSL and so on.
Click on the tab with the required programming language (Java, PHP, Ruby, .NET, Node.js, Python or GO Lang) tab to proceed with certified containers.
2. It is also possible to deploy projects via the Docker tab. All the variants listed below utilize the basic system container (OS container).
- Custom Docker Containers - any Docker image deployed into the system container. Compared to the managed containers, it provides access to a greater variety of solutions, search the entire Docker Hub registry or use your private repository.
- Docker Engine - a Docker Engine CE deployed into the system container. It enables access to all the Docker native functionality: deployment, scaling, and management of multiple application containers inside.
- Kubernetes Cluster - a Kubernetes cluster with a preconfigured master and worker nodes created based on the system containers.
You can configure environment topology via the left part of the wizard and set up the:
- Load Balancers - stacks that operate as an entry point for the environment to distribute incoming request and create even load on other nodes
- Application Servers - web servers that run your application
- Databases (SQL & NoSQL) - database solutions to store and manage data
- Cache Node - a Memcached object caching system for speeding up web applications through alleviating database load
- Shared Storage - dedicated storage node with NFSv4 support, enlarged disk space and optimized performance
- Elastic VS - virtual private servers on top of the CentOS, Ubuntu, Debian, and Windows OS
- Build Node automation tool for Java projects
- Extra (custom layers) - any of the stacks mentioned above
- Cloudlets PaaS offers a number of the most popular options for each of these sections. Enable the blocks needed for your environment and select a required stack.
Tip: If you cannot find a required software solution, you can add it as a custom Docker container from Docker Hub or your private repository.
2. An SSL protection can be configured for your environment via two options:
- Built-In SSL - enables an already trusted SSL certificate, avoiding any additional checks and certificate validation. It is applied to the default environment domain name only and does not work if public IP is attached to your servers.
- Custom SSL - shows the pre-conditions of using your custom SSL certificates for the environment. Click the Enable button to automatically fulfill the requirements (e.g. enable Public IP) and refer to the linked instruction for details.
You can also apply the Let’s Encrypt SSL add-on after the environment creation to automatically issue and integrate a free SSL certificate.
Configuring Nodes Resources and Specifics
Once you are done with the topology structure, you can adjust each particular layer via the wizard’s central part. Let’s review the available options from top to the bottom of the section.
1. You can toggle a layer on/off, as well as provide a custom alias for it.
2. Configure the automatic vertical scaling by setting the number of reserved and dynamic cloudlets (1 cloudlet = 128 MiB of RAM and 400 MHz of CPU) for the nodes within the layer.
Think of it as a minimum and maximum CPU & RAM capacities per server. It is worth mentioning that no matter how high the scaling limit is, only actually consumed resources are charged. This helps to overcome load spikes and, at the same time, not to overpay for unused memory or processor.
3. The Horizontal Scaling part allows defining a number of nodes within the layer and choosing a preferred scaling mode (stateful or stateless).
If needed, you can use the drop-down lists to change stack and engine type/versions.
In order to set up the additional management options, click on the gear icon.
4. Now let's configure additional settings.
The list may vary depending on the particular stack and account permissions:
- Auto-Clustering - automatic clusterization for the platform's certified templates. Additional fields can appear after activation (e.g. scheme selection master-slave, master-master, or galera for the database cluster).
- Disk Limit - an amount of disk space reserved per node.
- Sequential restart delay - a delay between the restart operation completion on one node and start on the other. It is used to avoid downtime, ensuring that at least one server is active.
- High-Availability - automated session replication for the Tomcat and TomEE application servers
- Access via SLB - blocks access to the nodes of the layer via the platform Shared Load Balancer
- Public IPv4 - attach the specified number of external IP addresses to each node within the layer
5. At the bottom of the section, you can find buttons to the container configuration tools:
- Variables - review and manage a list of the environment variables for the current layer
- Links - interconnect layers inside the environment
- Volumes - manage a list of the data volumes to ensure files integrity during container lifecycle
- Ports - view information about containers' ports
- CMD / Entry Point - configure containers' Entry Point and Run Command
Review and Confirm Environment Creation
Now you can review the amount of allocated resources and the estimated cost of the environment.
1. The main resource measuring units in Cloudlets Platform are cloudlets. Here, you can see the number of reserved ones and the scaling limit (dynamic) for the whole environment.
For better analysis, the values are divided into the color-marked groups:
- green - load balancers
- blue - application servers
- orange - databases and cache nodes
- gray - all other stacks
2. Next, you can view the Estimated Cost of your environment. The widget displays price using the same color-marking as above, and you can change the period - hourly, daily, or monthly.
The FROM tab shows the price that will be fully charged as it covers reserved resources. The TO tab shows the maximum possible price if all nodes in the environment are going to fully consume all resources up to the scaling limit during the whole period.
Tip: Hover over the pricing widget to view extended details on the estimated cost calculation:
3. Provide a name for your environment and click the Create button.
That’s all! In a few minutes, your new environment will appear on the dashboard.
Now, you can easily deploy your project and use your cloud environment.
To try out the auto scalable cloud platform for free - just register at https://cloudlets.com.au/.