• Getting Started
    • Quickstart
    • Dashboard Guide
    • Welcome Tutorial
    • Software Stack Versions
    • Hosters List & Info
  • Windows & .NET
    • .NET Core
    • Windows Server
      • Windows Server VM
      • Windows VPS
    • Windows RD Access
    • Managing Server Roles & Features
  • Databases
    • Create DB Server
    • Database Connection Strings
    • JDBC Connection Pool
    • Database Backups
    • Database Configuration Files
    • Access to PHPMyAdmin
    • MySQL/MariaDB
      • Java Connection
      • PHP Connection
      • Python Connection
      • Node.js Connection
      • Master-Slave Replication
      • Multi-Master Replication
      • Galera Cluster Recovery
      • Remote Access
      • Dump Import/Export
    • PostgreSQL
      • Java Connection to PostgreSQL
      • PHP Connection to PostgreSQL
      • SSL Connection to PostgreSQL
      • PostgreSQL Replication
      • Remote Access to PostgreSQL
      • Dump Import/Export to PostgreSQL
      • PostGIS Extension
      • Hasura GraphQL Installation
    • MongoDB
      • Percona Server for MongoDB
      • Java Connection to MongoDB
      • PHP Connection to MongoDB
      • Python Connection to MongoDB
      • Node.js Connection to MongoDB
      • MongoDB Auto-Clustering
      • MongoDB Replica Set Manual Setup
      • Remote Access to MongoDB
      • Dump Import/Export
    • CouchDB
      • Java Connection to CouchDB
    • Redis
      • Redis Overview
      • Diaspora* Tutorial
    • OpenSearch Cluster
    • Database Connection via JNDI
    • Database Connection via Hibernate
  • Load Balancers
    • Load Balancing
    • NGINX
      • NGINX Balancer
      • TCP Load Balancing
      • NGINX Balancer Configuration
      • Testing Load Balancing
      • Caching in NGINX Balancer
      • App Security with NGINX Balancer
      • NGINX ModSecurity
    • LiteSpeed Web ADC
    • HAProxy
    • Varnish
  • Kubernetes Hosting
    • Kubernetes Cluster
      • Kubernetes Overview
      • System Requirements
      • Cluster Installation
      • Cluster Versions
    • Managing Kubernetes
      • Cluster Access
      • Access Control
      • Cluster Troubleshooting
      • Cluster Upgrade
      • Velero Backups
    • Kubernetes Scalability
      • Vertical Scaling
      • Horizontal Scaling
    • Application Deployment
      • Helm Integration
      • YAML Deployments
      • Internal Networking
      • Exposing Services
      • Creating Ingresses
    • Persistent Data
      • Volume Provisioner
      • Persistent Volume Claim
      • Custom Storage
  • Platform Overview
    • Basics & Terminology
    • Release Notes
    • Application Containers
    • Isolated Containers
    • What is Auto-Clustering
    • What is a Cloudlet?
  • Elastic VPS
    • Elastic VPS Overview
      • General Information
      • CentOS VPS
      • Ubuntu VPS
      • Debian VPS
    • Elastic VPS Management
      • VPS Configuration
      • Linux VPS Access via SSH Gate
      • Linux VPS Access via Public IP
      • Windows VPS Access via RDP
    • Linux VPS Use Cases
      • Run Java Console Application
      • Setting Mail Server Inside VPS
  • Containers
    • Container Types
    • Container Deployment
    • Container Redeployment
    • Container Configuration
    • Supported OS Distributions
    • Connect to Custom Container
    • Custom Container SSH Access
    • Private Registry Repository
  • Data Storage
  • Environment Management
    • Setting Up Environment
    • Environment Collaboration
    • Cloning Environment
    • HTTP Headers
    • Environment Variables
    • Transferring Environment
    • Environment Aliases
    • Environment Export & Import
      • Environment Export
      • Environment Import
    • Environment Regions
      • Choosing a Region
      • Migration Between Regions
    • Environment Groups
      • Create Group
      • Navigate Groups
      • Manage Group
    • Environment Network Isolation
  • Memcached
    • Memcached System
    • Memcached Configuration
    • Memcached Memory Allocation
    • PHP Sessions in Memcached
    • Session Replication via Memcached
  • Deployment
    • Zero Code Change Deploy
    • Deployment Manager
    • Deployment Guide
    • GIT & SVN Auto-Deploy
      • Auto-Deploy Overview
      • Auto-Deploy for Multiple Containers
    • SSH Access to GIT Repository
    • Deploying Apps via Gitblit
    • Deployment Hooks
  • Application Settings
    • Configuration File Manager
    • Scaling and Clustering
      • Automatic Vertical Scaling
      • Horizontal Scaling
      • Automatic Horizontal Scaling
      • Data Syncronization
      • File Synchronization in Cluster
      • Auto-Clustering of Instances
      • Session Replication for HA
    • Smart Auto-Configuration
      • Auto-Configuration Overview
      • Database Auto-Configuration
      • PHP Auto-Configuration
    • Domain Name Management
      • Custom Domain Name
      • Swap Domains
      • Multiple Domain for Tomcat
      • Multiple Domains for GlassFish
      • Multiple Domains for PHP
      • Multiple Domains with Public IP
      • gTLD + IDN Domain Names Support
      • Container DNS Hostnames
    • External Access to Aplications
      • Shared Load Balancer
      • Public IP
      • Multiple Public IP
      • Container Firewall
      • Endpoints
      • HTTP/3 Support
    • Traffic Distributor
      • Traffic Distributor Overview
      • Routing Methods
        • Round Robin
        • Sticky Sessions
        • Failover
      • Traffic Distributor Installation
      • Traffic Distributor Integration
      • Use Cases
        • Blue-Green Deploy
        • Failover Protection
        • A/B Testing
    • SSL
      • Secure Sockets Layer
      • Built-In SSl
      • Custom SSL
      • Custom SSL via SLB
      • Let's Encrypt SSL
      • Self-Signed Custom SSL
    • Scheduling Configurations
      • Setting Up Cronjob
      • Quartz Scheduling
    • Built-In Monitoring
      • Log Files
      • Statistics
      • Load Alerts
    • Monitoring with New Relic
      • New Relic Installation
      • New Relic Update
    • BitNinja Server Security Add-On
    • Managing Locale Settings
    • Custom Error Page Settings
    • Managing Timezone Settings
    • OOM Killer Troubleshooting
      • Overview
      • Common Cases
      • Memory Leak Processes
      • Non-Leaking Processes
    • Remote Debugging
    • Application Lifecycle Management
  • WordPress Edition
    • WordPress PaaS
    • WordPress Topologies
      • Standalone
      • Standalone Pro
      • WordPress WooCommerce
      • WordPress WooCommerce Pro
      • WordPress Cluster
      • WordPress WooCommerce Cluster
      • WordPress Multi-Region Standalone
    • WordPress Plugins
    • WordPress Backups
    • WordPress Billing
    • WordPress Security
    • WordPress PHP Optimization
    • WordPress CI/CD
  • Elastic VPS Edition
    • Virtuozzo Elastic Hosting
    • Elastic VPS Topologies
      • CentOS Elastic VPS
      • Ubuntu Elastic VPS
      • Debian Elastic VPS
      • VzLinux Elastic VPS
      • Windows Elastic VM
    • Elastic VPS Billing
  • Development Tools
    • SSH
      • SSH Overview
      • Generate SSH Key
      • Add SSH Key
      • SSH Access
        • Overview
        • Web SSH
        • SSH Gate
      • SSH Management
      • SSH Protocols
      • Capistrano
    • API & CLI
      • API Overview
      • API Methods
      • Jelastic CLI
        • Jelastic CLI Overview
        • Environment Creation
        • Environment Start/Stop
        • Environment Cloning
        • Environment Migration
        • Server Scaling
        • Container Redeploy
        • Container Volumes
        • Mount Points
        • VCS Project Deployment
        • Swap Public IPs
        • Installing JPS
      • CreateEnv Params
    • Cloud Scripting & JPS
      • Cloud Scripting
      • JPS Overview
      • Application Manifest
      • Marketplace
    • FTP/FTPS Support
    • WebSockets
      • WebSockets Support
      • WebSockets Support for Java
      • WebSockets Support for PHP
    • Plugins
      • Ant Task
      • Eclipse Plugin
        • Eclipse Plugin Manual
        • Eclipse Plugin Installation
        • Environment Management
        • Application Deployment
      • IDEA Plugin
      • Maven Plugin
      • NetBeans Plugin
        • NetBeans Plugin Overview
        • NetBeans Plugin Installation
        • NetBeans Plugin Management
        • Application Deploy via NetBeans
    • Mailings
      • Email via External SMTP
      • Running Sendmail Service
    • Remote Acces via WebDAV
  • Java
    • Java Dev Center
    • Java Versions
    • Java App Servers
      • Tomcat and TomEE
        • Tomcat Server
        • TomEE Server
        • Tomcat/TomEE Variables
        • Tomcat Clustering
        • Tomcat Security
        • Multiple Domains for Tomcat
      • Jetty
        • Jetty Server
        • Jetty Custom Variables
        • Jetty Security
      • GlassFish
        • GlassFish Server
        • GlassFish Environment Variables
        • GlassFish Clustering
        • Multiple Domains for GlassFish
      • WildFly
        • WildFly Server
        • WildFly Managed Domain
        • Building WildFly Docker Image
      • Spring Boot
    • Java App Server Configuration
    • Java Garbage Collector
    • Build Node
      • Java VCS Deployment with Maven
      • Maven Configuration
    • Java Apps Specifications
      • Upload JAR Files
      • Java Agent
      • Remote Access to EJB on GlassFish
    • Java Tutorials
  • PHP
    • PHP Dev Center
    • PHP Versions
    • PHP App Servers
      • Apache PHP
        • Apache PHP
        • Apache Security Configurations
        • Apache Modules
        • Add Apache PHP
        • Apache WebDav Module
        • Apache Statistics Module
        • Name-Based Virtual Host in Apache
        • Apache as Frontend
      • NGINX PHP
        • NGINX PHP
        • NGINX Security Configurations
        • NGINX Modules
        • NGINX WebDav Module
        • Caching in NGINX App Server
      • LiteSpeed Web Server
      • LEMP & LLSMP
    • PHP App Server Configuration
    • ZDT Deployment for PHP
    • PHP Apps Specifications
      • PHP Extensions
      • PHP Accelerators
    • PHP.INI Security Settings
    • Composer Dependency Manager
    • PHP Sessions Clustering
    • PHP Tutorials
  • Node.js
    • Node.js Dev Center
    • Node.js Versions
    • Node.js Apps Specifications
      • Package Managers
      • Process Managers
    • Node.js Tutorials
  • Ruby
    • Ruby Dev Center
    • Ruby Versions
    • NGINX Ruby
    • Ruby App Server Configuration
    • Ruby App Specifications
      • Dependency Management
      • Post Deploy Configuration
    • Ruby Tutorials
      • Redmine
      • Diaspora*
  • Python
    • Python Dev Center
    • Python Versions
    • Python Tutorials
      • Mezzanine CMS
      • Wagtail CMS
  • Go Lang
    • Go Dev Center
    • Go Git Deploy
  • Data Storage Container
    • Data Storage Overview
    • Shared Storage Container
    • Data Sharing
      • Mount Points
      • Exporting Data for Sharing
      • Mount Protocols
        • NFS
        • GlusterFS
    • Use Cases
      • Local Filesystem
      • Master Container
      • Compound Container
      • Dedicated Container
      • External Server
    • Migrating ro GlusterFS Cluster
    • External NFS Server Configuration
  • Account & Pricing
    • Account Registration
    • Account types
    • Account Statuses
    • Account Password Reset
    • Quotas System
    • Two-Factor Authentication
    • Personal Access Tokens
    • Accounts Collaboration (Deprecated)
      • Overview
      • Create Collaboration
      • Collaboration management
      • Environments in Collaboration
    • Accounts Collaboration
      • Collaboration Overview
      • Collaboration Roles & Policies
      • Create Collaboration
      • Collaboration User Experience
    • Upgrade & Refill Account
    • Resource Charging
      • Pricing FAQ
      • Charged Resources
      • Monitoring Consumed Resources
    • Pricing Model Overview
    • Automatic Discounts
    • Billing Systems
      • Billing Systems Overview
      • OBA Billing System
      • OBAS Billing System
      • WHMCS Billing System
    • Hosters Pricing

Setting Up Environment

The first step of any application hosting is a creation of the environment with the required isolated containers. Stack Harbor PaaS provides a powerful and intuitive UI to create and configure environments up to your specific needs. This document will guide you through all the needed steps, giving an extended explanation of available specifics and features.

1. Log in to the Stack Harbor PaaS dashboard and click the New Environment button in the upper-left corner.

new environment button

2. Within the opened topology wizard dialog, you can set up all the necessary customizations. We recommend performing adjustments in the following order:

  • 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

configure environment via wizard

Below, we’ll review each of these points in detail, providing explanations on all of the available possibilities. The process may seem complex at first, but after familiarizing yourself, you’ll be able to configure a new (or adjust existing) environment in under a minute.

Choosing Programming Language or Specific Deployment Option

As the first step of your environment creation, you need to select the deployment solution required for your project. Stack Harbor PaaS is an extremely versatile platform that supports multiple options for application development and hosting thus it suits even the most demanding clients.

1. The most common and recommended choice (unless you are pursuing a specific application/architecture) is certified containers. These stacks are specifically configured and managed by Stack Harbor PaaS (e.g. version updates, security patches). By default, they support all platform features (scaling, automated deployment, redeploy, SSL, etc.) for the most smooth and convenient hosting and development.

environment programming languages in wizard

Click on the tab with the required programming language (Java, PHP, Ruby, .NET, Node.js, or Python) tab to proceed with Stack Harbor PaaS certified containers.

2. The other deployment options are available via the Custom tab. All the variants listed below utilize the basic PaaS system container (so-called OS container), which makes them compatible with the most (but not all) of the platform-distinguishing features (e.g. vertical and horizontal scaling).

topology wizard docker tab

  • Custom Container Images – any Docker image (based on the supported OS) deployed into the system container. Compared to the managed containers, this option provides access to a greater variety of solutions, search the entire Docker Hub registry or use your private repository. However, the software operability and compatibility with the platform cannot be guaranteed as the content is managed by respective image maintainers. It’s recommended to build custom container images based on PaaS certified images using FROM instruction.
  • Docker Engine – a Docker Engine CE deployed into the system container. It provides access to all the Docker native functionality, including deployment, scaling, and management of multiple application containers inside.
  • Kubernetes Cluster – ready-to-go Kubernetes cluster with a preconfigured control plane and worker nodes created based on the system containers. The deployment, scaling, and orchestration of the microservices inside are handled by Kubernetes control units, while Stack Harbor PaaS scales and manages control plane and worker nodes.

3. Also, it is recommended to select the preferred region (if available) before proceeding further.

environment regions list

Configuring Topology

You can configure environment topology (layers structure) via the left part of the wizard. Сonsider it as a constructor that helps you to create your environment. Here, the following blocks are available:

  • 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 (compute nodes) – 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 VPS – virtual private servers on top of the CentOS, Ubuntu, Debian, and Windows OS
  • Build Node – a build automation tool for Java projects
  • Extra (custom layers) – any of the stacks mentioned above

environment topology builder ui

Tip: The sequence of blocks displayed above is the default order. However, you can mix and match them in any preferable way to create your custom topologies.

custom topology order

1. Stack Harbor PaaS offers a number of the most popular options for each of these sections based on the default role. If you want to add a stack of a different role, click the More option at the bottom of the list. Also, you can use Search to quickly find any PaaS-managed stack.

categorized stacks with search

Tip: If you cannot find a required software solution, you can add it as a custom container from Docker Hub or your private repository.

2. An SSL protection can be configured for your environment via the same-named section. Here, two options are available:

  • Built-In SSL – enables an already trusted SSL certificate, avoiding any additional checks and saving your time on the certificate validation. However, it is applied to the default environment domain name only (i.e. with the hoster’s domain at the end) 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 further guidance.
Tip: Also, you can apply the Let’s Encrypt SSL add-on after the environment creation to automatically issue and integrate a free SSL certificate.

environment ssl configuration

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.

environment layer switcher

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.

layer vertical scaling configuration

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).

horizontal scaling and engine search

You can use the drop-down lists to change stack and engine type/versions (if needed, expand and start typing to Search). In case of adjusting an existing environment, these lists will redirect to the container redeploy dialog in order to apply changes.

Tip: Click on the gear icon (circled in the image below) for additional management options during scaling.

scaled nodes management

4. Next, you need to configure additional settings.

additional layer configuration

The list may vary depending on the particular stack and account permissions:

  • Auto-Clustering – automatic clusterization for some Stack Harbor PaaS 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. The dedicated Shared Storage containers are usually provided with enlarged storage capacity.
  • 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. You can set it to “-1” for the simultaneous restart of all nodes within the layer.
  • High-Availability (deprecated option, it is recommended redeploying to the latest version of the stack and using the Auto-Clustering feature instead) – 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/IPv6 – 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

layer containers configuration

Reviewing and Confirming Environment Creation

After all the configurations are done, you can review the amount of allocated resources and the estimated cost of the environment.

1. The main resource measuring units in Stack Harbor PaaS are cloudlets. Here, you can see the number of reserved ones and the scaling limit (dynamic) for the whole environment.

environment resource usage

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.

environment estimated cost

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:

extended details on environment cost

If needed, you can click on the links under the widget for additional information on how pricing works and what is charged at Stack Harbor PaaS.

3. Lastly, provide a name for your environment and click the Create button to proceed.

environment name

That’s all! In a few minutes, your new environment will appear on the dashboard.

created environment in dashboard

Now, you are ready for application deployment and further use of your cloud environment.

What’s next?

  • Deploy Application
  • Application Configuration
  • Share Environment

Didn't find your answer? Contact Us

Previously
Environment Management
Up Next
Environment Collaboration

Didn't Find an Answer?

Get in touch with us for details on setup and additional custom services pricing

Contact Us

  • Privacy Policy
  • Terms of Use
  • Stack Harbor © 2022