Applications for the planet
As more people get access to the internet and smart devices, the audience for technology services is growing. A big concern for both start-ups and established enterprises is whether systems can scale to demand.
At Eastpoint, we work with multiple clients building systems with the ability to scale based on demand, and I’d like to share some of the scaling patterns that are required to build large distributed systems. The term scaling pattern refers to the repeatable processes that can be used on multiple applications that need to handle large variations in the number of users, or other workload.
I’m going to give a quick glimpse of how we helped one of our recent clients build their next generation hybrid cloud system.
To realise our client’s objectives, we built two mobile apps (iOS and Android) and several web-based systems. For the mobile applications we used Xamarin, a cross-platform framework, allowing us to share the core logic across both apps and help reduce delivery time. These mobile apps connect to web-based services, syncing data frequently.
The mobile app is a single interface for a single user but on the web apps, there will be millions of apps simultaneously trying to sync data. The complexity comes with these web systems, as the apps will be used across multiple countries and lots of users. The systems needed to be scalable and should in no way reduce the overall user experience on the mobile apps.
Now coming to the topic of building systems to scale. We follow different scaling patterns, so that the systems are performance optimised for high traffic periods.
Below are some of these patterns:
In addition to these patterns, we can also use a hybrid cloud approach, using services across Google Cloud Platform, Amazon Web Services and Microsoft Azure. The same service offerings by your preferred cloud vendors may not always best suit your requirements and going with a hybrid cloud approach solves this problem.
There are many more patterns other than the ones listed that can be used to scale systems horizontally and vertically. But I think those shown are the most important patterns to consider when building systems to scale.
We consider ourselves your technical partner and understand your passion towards your product. We can help you achieve planet-scale applications - let the journey begin!