In this article we'll review the requirements for making your application highly available (HA). As a quick primer — applications on the Platform run inside of environments. Environments are made up of selected services. Services are the building blocks required for your application to function (databases, application code, cache, etc).
In addition to the services you define, Datica also ships logging and monitoring instances with every environment. We also configure a service proxy service that is responsible for routing traffic from the outside world to your application's code service(s). In addition, each environment is also configured to have disaster recovery and backups, intrusion detection and vulnerability scanning. When the decision is made to make your application highly available, you need to consider the list of services and supporting configurations from above.
Scaling your code service to be highly available is a necessary step in making your application more stable and resilient to traffic spikes. In addition to your code service, you may also consider making each service within the "critical path" HA. This means services like your database or cache. For more information on how to setup high availability for these services see the following articles (please note: you still need to increase your services to the required scale — in most cases you'll need to submit a support ticket for these requests).
How to configure
Depending on how your application is setup, a code service may be the only way for your users to access your application. In this event, it is imperative that you keep that code service running and stable at all times. Configuring your code service to be HA is a step in ensuring that your users can access your application when they need to. To configure a code service to be HA, follow these steps:
If you have self-service functionality enabled
- Once you've logged into the Platform dashboard, click on the name of your environment to enter edit mode.
- Once you're in edit mode, find the service you want to be HA and click on the "Edit" link to the right. This should open up a modal with the following options: "Name", "Scale", "Workers" and "Size".
- To make the selected service HA, click the "Scale" dropdown and increase the number from 1 to 2. Once you've increased the scale, click the update button.
- This will bring you to a confirmation modal. Here you can confirm the charges and redeploy the service.
- Once redeployed, you should see the scale increase reflected in both your dashboard as well as in the CLI (when running the "services list" command).
- Once you've increased the scale of your code service, the next step is to increase the scale of the service proxy service.
- You will not have access to change the service proxy scale yourself. To increase the scale, please submit a support ticket noting that you need your service proxy scale increased because you need HA on your code service.
If you do not have self-service functionality enabled
- Log in to the Platform dashboard. Select the service you'd like to make HA. Once inside the service view, click on "Contact Support".
- Inside of the support modal, enter a message noting that you'd like to increase the scale of this code service as well as with the associated service proxy.
- Click submit. One of our support agents will respond to the ticket and increase the scale of your services as necessary.