RealScale Architecture for midsize web apps

This is a short article for developers and ops engineers that need to scale an existing web application that is bigger than just one single server but is not quite as big as Netflix or Twitter (="web scale"). Let's focus on scaling a middle size web applications that holds between 2 to 200 servers. Here at Cloud 66 we advocate a RealScale Architecture.

What is a RealScale Architecture?

RealScale Architecture is based on five main attributes that allow developers to scale cloud-native web apps with ease. This is essential as todays applications require a complex software architecture, utilize multiple servers, multiple data stores, and are required to scale to 1000 requests per second.

Attributes of RealScale Architecture

It's best to define the attributes of RealScale Architecture as blending software with infrastructure which involves a lot of implementation details that can easily be compromised. We can divide it into five main components:

Cloud-Native Architecture

The elastic nature of cloud infrastructure is an essential part of the RealScale Architecture. As it allows developers to dynamically add servers to handle an increase in traffic or to decrease servers during off-peak times. And with that flexibility, you can grow your project accordingly to your needs. Additionally, you can benefit from the support for resiliency if your distributed service fails and server failover into the software design from the start.

How does it work at Cloud 66?
Cloud 66 allows developers to deploy any application to any cloud provider or with our Registered Servers feature to any server. We support the load balancers native to your cloud provider or HAProxy, automatically configured and managed. And with our Failover Group tool you can clone your application and database, and switch traffic with a single click or API call to a new stack, data center or cloud.

Server Complexity

RealScale Architecture can have server counts that are not fixed and they can range from one to hundreds of servers. The total number of servers running over a specific period of time may depend on the server type and its purpose. For example, some servers may run 24/7, while others spin-up for additional capacity or for a specific use and then shutdown.

How does it work at Cloud 66?
Cloud 66 supports as many servers in your cluster you like. Cloud 66 will take care of all the provision, load-balancing, security, networking and deploying your application and scale it. You can use our tags tool that gives you the ability to tag different parts of your application to facilitate easy look-ups at a later stage.

Data Complexity

In RealScale Architecture, the managed data sets range from 1 GB to 100 GB. The data may be housed in a set of highly available database servers from a single vendor, or multiple data storage solutions for more complex applications that can handle transactional, document-based, and search-based data structures.

How does it work at Cloud 66?
Cloud 66 natively supports MySQL, PostgreSQL, MongoDB, Redis, Memcached and ElasticSearch. They are automatically built and configured based on application needs. Additionally, you can take the advantage of the single click data replications (Master/Slave) or across multiple data centers.

Read more about Cloud 66 Database Management.

Service Complexity

The RealScale Architecture offers developers an optimized content delivery, which is more than just static content and server code. It uses content distribution networks, API layers, 3rd party APIs, and other services that are all required to create the solution. To make it work it has to include message queues, complex disaster recovery plans, and a heavy reliance on automation at all layers of the system.

How does it work at Cloud 66?
You can start using Cloud 66 with the simple UI and use the flexible and extremely powerful commandline and API for more complex workloads and applications. Our Cloud 66 for Containers product gives you the flexibility to build and split complex service components. Also, you can benefit from tools like ActiveProtect, LiveLogs, ContainerNet, Deploy Hooks, Deploy Engine and more.

High Request Capacity

RealScale Applications have to sustain 500-1000 requests per second, with the ability to expand to a larger capacity if needed. This enables sites to support up to 1 million visits per day, that are spread across your static and dynamic web assets.

If your application needs a bigger capacity, your solution may be on “web scale”.

How does it work at Cloud 66?
Cloud 66 is optimized for high request capacities. You can sit back when Cloud 66 manages and maintains your application.

Happy deployment with RealScale!

Try Cloud 66 for Free, No credit card required