Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Multidimensional Scalability Capabilities

DZone's Guide to

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.

· DevOps Zone
Free Resource

The Nexus Suite is uniquely architected for a DevOps native world and creates value early in the development pipeline, provides precise contextual controls at every phase, and accelerates DevOps innovation with automation you can trust. Read how in this ebook.

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:

  1. 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.

  2. 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.

  3. 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.

Image title

Platform capabilities

People capabilities

Process capabilities

Scalable system and platform

  • Scale-out storage architecture
  • Scale-out application layer architecture
  • Application layer cloning capability
  • Data partitioning and sharing
  • Vertical and horizontal scalability
  • Http layer scalability
  • Load balancer layer scalability
  • Operation layer scalability
  • Data storage layer scalability
  • Multidimensional system scalability

Scalable operation management

  • Continuous build, integration, and test
  • Build once deploy anywhere
  • Infrastructure as code
  • Centralized container-based application deployment management
  • Constantly maintained high Mean Time To Data Loss (MTTDL) at data layer

Platform with scalability testing support

  • Facility for benchmark testing
  • Facility for performance testing
  • Facility for reliability testing
  • Facility for load sharing testing
  • Facility for error recovery and failure testing
  • Facility for automated test report generation & dispatch

Clearly defined responsibilities to achieve system scalability objectives

  • Clearly defined roles & responsibilities in team
  • Alignment between scale objectives and roles in team
  • Adequate staffing and training, to meet the skill requirements of teams working on scale objectives

Scalable system architecture expertise

  • Scale-out storage architecture knowledge and expertise
  • Expertise of data partitioning and sharing to meet scalability objectives
  • Expertise in vertical and horizontal scaling techniques
  • Expertise on application layer scalability techniques
  • Expertise on HTTP/FTP layer scalability techniques
  • Expertise on load balancer layer scalability techniques
  • Expertise on operation layer scalability techniques
  • Expertise on data storage layer scalability
  • Multidimensional system scalability expertise

Scalable operation management expertise

  • Continuous integration and test expertise
  • Build once deploy anywhere expertise
  • Infrastructure as code expertise
  • Expertise to maintain Mean Time To Data Loss (MTTDL) at data layer
  • Centralized container-based application deployment management expertise
  • Cloud environment management expertise

System scalability testing expertise

  • Benchmark testing expertise
  • Performance testing expertise
  • Reliability testing expertise
  • Load sharing testing expertise
  • Error recovery and failure testing expertise

Defined process to maintain right skillset for achieving scalability objectives

  • Adequate staffing process, to meet the skill requirement of teams working on scale objectives
  • Adequate training process, to meet the skill requirement of teams working on scale objectives

Comprehensive system scalability guidelines

  • Clearly defined scale objectives for system in assessment
  • Scale-out storage architecture guidelines
  • Scale-out application layer architecture guidelines
  • Application layer cloning guidelines
  • Data partitioning and sharing guidelines
  • Vertical and horizontal scaling guidelines
  • Http layer scalability guidelines
  • Load balancer layer scalability guidelines
  • Operation layer scalability guidelines
  • Data storage layer scalability guidelines
  • Multidimensional system scalability guidelines

Scalable operation management process

  • Continuous integration and test
  • Build once deploy anywhere
  • Infrastructure as code
  • Guidelines to maintain Mean Time To Data Loss (MTTDL) at data layer
  • Centralized container-based application deployment management
  • Cloud environment management guidelines

System scalability testing guidelines

  • Guidelines for benchmark testing
  • Guidelines for performance testing
  • Guidelines for reliability testing
  • Guidelines for load sharing testing
  • Guidelines for error recovery and failure testing

These capabilities are applicable for organizations with self-managed operations. The next in this series will be scalability capabilities for clouds.

The DevOps Zone is brought to you in partnership with Sonatype Nexus.  See how the Nexus platform infuses precise open source component intelligence into the DevOps pipeline early, everywhere, and at scale. Read how in this ebook

Topics:
scalability ,devops ,horizontal scaling ,vertical scaling

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}