Multi-Region Global Hosting with appfleet

The appfleet cloud platform allows you to easily deploy and host your web services in multiple regions globally. Host your web applications on the edge without any limitations!

appfleet is an edge platform

We host your dynamic services globally closer to your users

Globally Load-Balanced

Host your service, site or application on multiple locations at the same time. Be closer to your users and improve your performance and uptime.

Any tech-stack

appfleet is a cloud-based container hosting platform that allows you to deploy your code in any language, framework or technology.

Serverless Containers

Run stateless and stateful containers on a fully managed globally distributed infrastructure. No servers or routing to manage.

What is Multi Region Global Hosting?

When you want to host an application you usually have a few choices like shared hosting (cpanel) and cloud hosting (e.g. AWS, VPS, PaaS) or a dedicated on-premise server. All these options have one thing in common - your application runs in a single data center and region.
Depending on the service provider, you might or might not even have an option to decide where the application actually runs.
Now imagine a scenario where your users are sitting far away from the place your application is hosted? Every request will have high latency, your services will appear slow and as a result users will have a bad experience. Or worse, what if your service provider has an outage in their data center? You might end up having downtime of hours.

In multi-region hosting we deploy the same copy of our application across multiple servers spread across different regions on the globe. These regions are basically data centers. This is very different from traditional hosting where we host our website in a single location.
Multi region hosting increases the resilience of our application by making it highly available as well as it decreases the latency seen by our end users.

Unfortunately multi region setups are not widely used because most users are either not aware of it or they do not consider it due to the underlying complexities of setting it up

Why host across multiple regions?

Multi-region hosting primarily has these benefits:
  • Low latency for end users: Multi-region hosting enables you to host your application closer to your users and as a result end users see low latency. Low latency means faster page loading, faster code execution and a better user experience
  • High availability: Running your application in multiple data centers saves you from unexpected outages. In the present world things seem magical and almost always working but every year we see incidents where major cloud providers face outages which last for hours. With multi-region hosting you minimize the possibility of your application going down completely.
  • Security: Multi-region hosting considerably decreases the impact of DDoS attacks. With traffic spread across multiple regions your application has a lesser chance of getting overloaded.

Why do people generally avoid multi region hosting?

Even though multi-region global hosting sounds like a very nice thing to have, most users prefer to stay away from it due to the complications it brings.

  • Not supported in traditional hosting: Even if you want to host in multiple regions there is no way you can do that with shared hosting and cpanel hosting providers. Shared hosting services are specifically designed to run everything in a single datacenter and are not flexible to support multi region use cases.
  • Complex to setup and maintain: Hosting applications in multiple regions involves expertise of multiple technologies which makes it difficult to setup. Many cloud providers do have data centers across the globe and also provide you with features that let you build your own multi-region hosting but that also requires highly skilled devops resources.
  • Data Locality: When your application is running in multiple regions it’s a challenging thing to keep your data close to your application - especially if you are using relational databases. Most databases are designed to efficiently run on a single server and require a lot of expertise to be able to replicate across servers globally.
  • Expensive: Due to the complexity involved, it requires outsourcing or hiring expensive dedicated devops teams. It's one of the main reasons this use case has been traditionally mostly limited to big corporations.

How to solve data locality issues with multi-region hosting?

As mentioned earlier, data locality is a challenging aspect of multi-region hosting and is often a reason why people stay away from it. However in the present world it’s not that difficult to solve this problem. Here are a few options that you can consider:

  • Use managed relational databases that support global replication: A lot of cloud providers offer managed relational databases which makes it extremely simple to replicate data across regions and keep it closer to your application running in different regions. You can consider services like RDS, Azure SQL, etc.
  • Use managed nosql databases: Many nosql databases are designed for replicating data easily across multiple servers running across the globe. They also help to overcome many limitations of relational databases. If your applications don’t involve things like monetary transactions then you should definitely consider this approach. There are many fully managed offerings like DynamoDB (by AWS) or managed MongoDB
  • Use distributed Storage like S3: For some non-transactional applications storing data in object storage like S3 can be a good solution too. Data stored in S3 can be synced among regions and be available with low-latency globally. However, you have to carefully evaluate if your use-case is a good fit for using S3 or not.
  • Local DB and file caching: You can use a caching library to cache DB queries and frequently accessed files locally with your application and minimize the number of times your application has to connect to a central data storage. This can allow you to host your DB and filesystem in a single place and application in multiple regions.
  • Go Stateless: Consider the data requirements of your application and split into multiple smaller applications of which the ones which are stateless can run multi-region and the ones which are highly data centric can run in a single region.

Why appfleet is the best multi-region hosting provider?

Appfleet takes away all the complexities involved in hosting your application globally. With appfleet there are two simple steps to host your application globally:
1. Choose docker image
2. Pick regions where you want to deploy
and you are done. Yes, it's that simple.
Appfleet internally deploys containers in the regions selected by you and then configures and maintains global load balancing, clustering and communication to scale your application globally. This means that appfleet will automatically route your users to the region closest to them and make sure your service always stays available and fast.

With a few clicks you have a highly available - globally distributed cluster of docker containers working for you.
appfleet is focused on making the life of users less painful - and hence it focuses on abstracting out all the complexities so that you can focus on what you are good at.

Appfleet doesn’t enforce any language or tech stack on you. As long as your application is dockerized - we’ll run it. On top of all this, once you deploy your application globally appfleet makes it extremely simple to manage it by offering features to give you more control:

  • Github Integration: Keep your code in a github repo and deploy changes as you push them. No need to build your own containers, appfleet will handle everything automatically.
  • Global Redis cache: Every application has free access to a globally geo-distributed Redis database for data caching and state synchronization. A local low latency Redis cache is also available. Your containers can store data in it and query it with low latency.
  • Managed HTTPS/SSL: All web services hosted on appfleet can get a free and automated TLS/SSL certificate to enable secure HTTPS access.
  • Console access: A developer friendly feature for those who want more control. Appfleet gives you direct control of your container by letting you connect to it directly using a web console. This feature can come in very handy for debugging.
  • Logging: We store and process the output and logs of all deployed applications for easier debugging
  • Monitoring: All of your instances are constantly monitored. You can get historic CPU, Ram and disk usage information. You do not need to set up a monitoring infrastructure to avail this feature - just a few clicks.
  • File cache: All nodes come with a locally mounted caching filesystem that persists between deployments. This feature can come in handy if you want to store some files locally and have them available across deployments.

With all these features and a simple yet powerful UI, appfleet is one of the best options out there to host your docker containers. Try it now without any contracts and pay as you go pricing.

Host your global applications

with a fully automated platform with multiple global POPs, high-availability and low latency

…and other features

appfleet doesn’t end with your product’s deployement

Custom health checks

Configure your own custom health checks per application and we will add them to our own internal checks that we continuously run to ensure your service is alive and well

All languages supported

Node.js, PHP, Golang, Java, Python, everything is supported, thanks to Docker containers. Don't let your technology of choice limit you.

Included HTTPS

For any web service we can automatically install and maintain a LetsEncrypt TLS certificate for free.

Better performance

By using multiple regions at the same time you can lower the latency and easily improve performance for your global audience

Public & private registries

Use any public or private container registry like Docker Cloud, Github Registries, Quay, Google Cloud and more

Console access

Assume direct control of your container by connecting directly to it by using our web console

File Cache

All nodes come with a locally mounted caching filesystem that persists between deployments for improved performance

Logging

We store and process the output and logs of all deployed applications for easier debugging.

Monitoring

All of your instances are constantly monitored. Get historic and real-time CPU, RAM and Disk usage.

Support widget failed to load. Please disable your ad blocker to contact us.