Multidimensional Scalability Capabilities
A multidimensional, scalable model of monitoring system health and architecture is now in demand; learn about what this model looks like in this article.
Join the DZone community and get the full member experience.Join For Free
The IT industry is gradually moving away from the days when operational capabilities were solely in the hands of a bunch of operation engineers. The reactive approach of sitting in front of large screens, monitoring system health, and waiting for a bottleneck to arise before applying a predefined remedy is now being replaced by a smarter, proactive approach.
New age scalability demands a comprehensive, yet dynamically scalable model to address all possible grey areas of system architecture. This means that engineering activities are not just limited to development or quality, but it has also spread its wings to cover operational activities.
Most mid to large size enterprises now demand a multidimensional, scalable dynamic model to constantly monitor the existing environmental situation for timely decision making. This, in turn, also helps in reducing system load by spawning additional system capabilities.
A multidimensionally scalable dynamic system, is what any large and mid-scale enterprise service provider seeks these days. Human-driven operation management has its own limitations; it needs a perfectly aligned combination of hardware and software to make a dynamically scalable system. It requires an operation management system to constantly monitor the existing environmental situation, which can take timely decisions to serve increasing system load, by spawning additional system capabilities.
The Art of Scalability describes a really useful, three-dimensional scalability model. The Scale Cube has given us the idea to understand the holistic approach to touch base with all aspects of system scalability. Here are the three dimensions of scalability:
X-axis scaling consists of running cloned copies of an application behind a load balancer. If there are N cloned copies, then each copy will handle 1/N of the load.
Y-axis scaling splits the application into multiple subsets of services. Each service is responsible for one or more closely related functions. The SOLID principles are relevant here.
Z-axis scaling is mostly used to scale data storage. Data is partitioned across several machines on a whole cluster.
There are various scalability capabilities which are relevant for building a truly scalable system. These 3P (People/Process/Platform) capabilities are described below.
Scalable system and platform
Scalable operation management
Platform with scalability testing support
Clearly defined responsibilities to achieve system scalability objectives
Scalable system architecture expertise
Scalable operation management expertise
System scalability testing expertise
Defined process to maintain right skillset for achieving scalability objectives
Comprehensive system scalability guidelines
Scalable operation management process
System scalability testing guidelines
These capabilities are applicable for organizations with self-managed operations. The next in this series will be scalability capabilities for clouds.
Opinions expressed by DZone contributors are their own.