A scalable system is capable of handling a fluctuating, irregular processing workload. Also, a scalable system will reconfigure and use all of its resources to a maximum when the demand exceeds the daily routine. A scalable system is designed with growth in mind, thus its performance will always increase in proportion to the available hardware.
Click a selected layer in the picture above to review technologies we work with.
Today’s market strength of an enterprise is dependent on the response time of its critical applications. The company often needs to scale up its processing dynamically when the response time is endangered by an increasing workload.
Horizontal scalability must be considered globally for all layers of a system, since one unspotted bottleneck will slow down the overall performance. GridwiseTech has a history of work with Service Oriented Architectures (SOA), Virtualization, Grid and distributed data paradigms. When working with customers on scalable systems, we examine the daily workflow scenarios involving all layers of abstraction: application, Web and portal, SOA, Grid and cluster processing, data and database.
Application
In the scalable systems paradigm, application interfaces are virtualized and made location-independent, accessible from anywhere. The user may operate the rich, application-specific interface inside a browser-accessible portal, while the application backend will make use of powerful servers and complex data engines. A scalable application is thus split into presentation, SOA, grid and data layers. However all of them remain invisible for the end user who may even think that everything operates on his or her laptop.
Web / portal
The Web layer is where the workload of online users' requests is accepted, distributed and pre-processed. Horizontal scalability is important when the volume of user requests is expected to fluctuate significantly.
We often use Web portal frameworks as convenient containers for application windows (portlets) viewed in the browser. The portal provides the user with a remote application GUI, hiding the complexity of the system. Each user’s session can be hosted on different resources.
The advantages of a Service Oriented Architecture (SOA) are loose coupling, asynchronous communication, as well as ease of maintenance, configuration and diagnosis. Standard protocols (Web service and SOAP family of standards) facilitate integration, interoperability and increase vendor independence. Distributed Web services are naturally fit for message-type communication in scalable architectures (for high throughput, data-intensive communication, low overhead protocols are often chosen).
Sample technologies: Apache Axis, XFire, .NET, numerous industry-specific products that have SOA built-in.
Standards: W3C, OASIS, IBM, BEA, Microsoft
Grid / cluster
The Grid layer is where the intensive processing tasks are dispatched into parallel execution and sent to multiple nodes. The Grid manages and load-balances the execution workload of many applications. Grid policies also take care of the application characteristics: business priority, required hardware, OS and libraries, and licensing. By sharing all execution resources of a company in one pool, Grid guarantees that processing is always available for priority tasks. Applications run on the Grid execute orders of magnitude faster than in „silo” client-server architectures. Grids also allow to outsource processing dynamically to a contracted data center. Find more about grids in our Grid FAQ.
Sample technologies: Platform LSF and Platform Symphony, Sun N1 Grid Engine, Cluster Resources’ Moab, InnerGrid, products from DataSynapse and United Devices, Condor, gLite, LCG, Globus, GridWay, metaschedulers, PBS Pro, IBM LoadLeveler
Standards: Open Grid Forum (OGF)
Data
Database access is a frequent bottleneck in distributed business systems. Appropriate data storage and access architecture is necessary to draw full advantage of other system scalability features. Database design and code quality are the cornerstones of data level scalability. Advanced data caching technologies shorten the response time of multiple data requests even more. Data distribution in a SOA model, Distributed Asset Management (DAM) and data federations enable the optimization data access by even bringing it in line with network topology. Performance-optimized distributed filesystems bring redundancy reduce failure possibilities. Finally, parallel transfer, streaming and Media Asset Management (MAM) bring solutions specific for the multimedia industry.
In a system that is highly interactive with external network, a firewall-based security model must be replaced with a complex security paradigm spanning the entire software architecture. Security design starts with identity management, where federated authentication rivals the certificate-centric approach. Next come the authorization procedures, outsourced to a central policy server or handled locally at the distributed resources. Data transport security is achieved through standard protocol tunelling. Sandboxing and lower-level techniques are used to protect users and processes against each other. Thse technologies are modular and can also be used separately.
Standards: W3C, OASIS, IETF, Open Grid Forum (OGF)
Management
Complex distributed systems are easier to operate if automated or semi-automated management procedures are deployed on each layer of the software. Automated management of distributed resources is part of the grid layer and includes distributing the processing load to speed up the execution. The management of operational software and cluster middleware includes products for automated administrative and maintenance procedures, applied simultaneously to numerous distributed servers. The management of security and access control is implemented through SAML servers and other centralized policy models.
Virtualization
Virtualization has two meanings. In a narrow sense, it refers to hardware virtualization, which is setting up numerous virtual machines (operating systems) on one physical machine. In a broader sense, virtualization means location-independent provisioning of IT resources (processing power, storage space, application licenses) to the users and applications. Companies harness their machines in a virtual pool of resources, which results in greater agility and faster time-to-market. For critical lines of business, applications, data centers and servers are always available. Resource virtualization is a state of abstraction, implemented through Grid computing architectures and Service Oriented Architectures (SOA), as well as location-agnostic presentation layer (portals).