App42 PaaS Features
App42 PaaS is a polyglot application hosting platform which lets you stay away from any server-side hassles. It allows you to concentrate on your applications to deliver maximum value to your end users. App42 PaaS is backed with multiple services ranging from RDBMS like MySQL and PostgreSQL to NoSQL storage like MongoDB, Redis and CouchDB. You can create multiple environments (Java, PHP, Ruby, Node) based on your choice and integrate it with the services available in a seamless manner.
Below are some of the features which will tell you about App42 PaaS power:
Kontena is a virtualized container which runs your apps and services. It is used as a unit of measure which specifies that your application is running on which configuration. One Kontena power is equal to 256 MB RAM and 128 MHz CPU. If you have chosen 4 Kontena power for setting up Infra, then your app is entitled to use 1 GB of RAM and 512 MHz CPU.
You do not have to go to multiple PaaS providers to host your multiple apps written in different languages. App42 PaaS platform is a polyglot application hosting platform which provides support to deploy multiple languages like Java, PHP, Ruby, and Node. You can choose a framework of your choice from the multiple available frameworks to deploy your app.
App42 PaaS is a multi-tenant platform and hosting environment. Apps and Services running on App42 PaaS platform are multi-tenant in nature. Your application runs in a virtualized container which has its own Memory, CPU and Storage and are completely independent of each other.
All the apps running on App42 PaaS platform are completely isolated from each other. Even though different apps may run on the same physical infrastructure, but they will be completely unaware of each other which means one app can’t access resources (RAM, CPU, Disk Space) of other apps. Similarly, multiple kontenas (Instances) are also completely isolated from each other.
Apps and Services running on App42 PaaS platform are completely isolated from each other, even if they run on the same physical infrastructure. All the processes of an App are completely isolated from other applications and system-level processes.
Horizontally Scale / Descale
Scale your App when it’s needed to serve high traffic or descale it during low traffic in a single command without any down time. You can increase or decrease your app containers at any time and that too in no time When you scale your app horizontally, a clone of already running containers is made, and it runs as a separate container. Scaling your App horizontally will make it highly available and will also load balance the traffic coming to your app.
Vertically Scale / Descale
Give your App more computing power by scaling it vertically. Vertical scale increases CPU and Memory of your App containers and that too without any down time. Scale your App vertically when your App need more computing power.
All apps running on App42 PaaS can be accessed using app42paas.com subdomain provided at time of Setup Infra. E.g. if your app name is demo and its hosted on Amazon (Oregon), you can access it through demo.iab.app42paas.com. if you want your app to be accessed from your own custom domain that you have got it from DNS provider, you have the option to configure your own domain with the app running on App42 PaaS. Custom URL allows you to use your own domain name instead of using App42 PaaS provided URL to access your App. You need to configure your domain(DNS Provider setting) to point to App42 PaaS provided app URL. Also you need to tell App42 PaaS about your custom domain to be used for your app.
All the containers of apps as well as services running on App42 PaaS platform are monitored continuously to make sure that they are up and running. If any container is found in crashed state, Container Health Monitor tries to restart the container. If unsuccessful, we delete that container & replace it with a new container.
You can make your App High Available by scaling it to at least 2 instances. In that case, if any of your containers is crashed or is not in a running state, requests from the client will not be routed to that container. Instead all other containers for that App in running state will be used to serve request.
If you have more than one container running for your App, requests to your App will be load balanced & routed (Round Robin manner) to one of the containers. That means load will be equally distributed among the containers and will prevent your app to go down in case of heavy load on one of the containers.
App42 PaaS routes incoming requests to your App randomly to the containers running behind the scenes. It helps your App to be High Available and Load Balanced. If any of the container is crashed, Router is immediately notified not to send further requests to this particular container. In the meantime,- crashed container is either restarted or replaced by a new container & Router is notified about the existence of the new container so that requests could be routed to this container too.
Filesystem available to each App and Services container is volatile in nature and cannot not be shared among containers. It can be used as a temporary storage during the single request lifecycle. But do not assume it as a persistent storage as you may not get the file stored in one request to another request. Also, file stored on one container will not be accessible to another container.
Unlike other PaaS providers, App42 PaaS gives you the services running in a separate container. You do not have to share databases with other users. You have your own service running in a separate container which is completely isolated from each other.
Service Backup Policy
App42 PaaS takes care of backup of your data. By default backup is taken once in every 24 hours and is saved for 120 hours. You can modify the default setting from AppHQ – App42 PaaS Management Console. You can change the time window for backup and duration you want to keep you backed up data. If you want to increase the frequency of backups in day you can contact App42 support
Invite other team members, grant permissions and let them manage resources. All you have to do is to invite your team members by just providing email id. Once he accepts invitation, he would be able to do the permitted operation on all set of apps, services and setups for which you have given the permissions. Collaborator can do all the permitted operation on apps, services and setups in the same way as the owner does.
You can now have your own dedicated BaaS(App42 Cloud API) solution running on App42 PaaS. BPaaS is App42 Backend solution running on App42 PaaS Platform. If you have a backend requirement and you expect your app to have a huge traffic, then BPaaS is specially for you, where you will get a complete backend hosting your app on App42 PaaS. Also if you are sensitive about your app data to be on a dedicated database, then you definitely require BPaaS. It comes in 3 flavors: Light, Medium & Heavy, which gives you the option to choose the setup configuration based on your requirement.
GPaaS (Gaming Platform as a Service) is a specialized PaaS setup for hosting AppWarpS2 Game Server applications. It works by creating a VM for you on App42 PaaS which is pre-configured with all the requirements for running AppWarpS2. This is specially useful for those who have finished their development using AppWarp and want to go live and host your own dedicated Real Time Multiplayer Engine. Once setup, you can update your AppWarpS2 application code anytime on your GPaaS VM just like you do with any App42PaaS application i.e. via your GIT repository or by uploading the sources directly from your computer. With this offering, you can develop and deploy your multiplayer games using Shephertz products.