Scalability storyline

For the purpose to put the showcases in the context of real-world application evolution we have developed a story that simulates the start-up company which tries to position itself in the emerging market; e-Commerce. The story last for 3 years (which is also the length of Cloudscale project) in which the market evolves from young, through rapid growing to developed. In each phase the company is agile with adjusting the business strategies and adopting the system to the market needs. 

The main business driver is surely the number of customers that correlates in the profits the company is making, which becomes under pressure when entering into the developed market phase with high competition, in which the company must rationalize its business, also with optimizing the cost of the system and its maintenance. The time-frame in which the market becomes stable and mature is normally longer, but for the purpose of the project, we have squeezed it into 3 years, where each year corresponds to situations that normally arise during the successful software life-cycle (prototyping, rapid adoption, and optimization). The main role in improving the system has the CloudScale Environment, which development plan correlates with the main features needed in each development phase:

  • Spotting and analysing the scalability and architectural issues in year 1,
  • Elasticity and self-adaptation analysis in year 2,    
  • Cost predictions and in-depth scalability analysis in year 3.    

The emulated company is entering the e-Commerce market dealing with online book sales. The demand at the beginning is low and is slowly growing, however the expectations are that the market will evolve and become businesses of hundreds of millions of Euros in the next few years. The solution the company is currently having is a prototype, prepared by junior developers, to quickly examine the current market situation. The service is noticing the slight growth in the demand that is pointing, together with other business indicators, that the market will grow in the future. 

The expectations are high, therefore the company decides to improve the software to grab the emerging growth; currently the competition is low, but there are many new companies entering the online book sales business. To analyse the system behaviour in the future (with higher work-load) and to spot any scalability issues that can arise when clustering the services, the engineers decide to use the CloudScale Environment (CSE), which is also capable of suggesting the improvements and comparing the alternatives as well as predicting the cost of the system. Using the integrated CloudScale Method, engineers are guided how to analyse the system from architectural and scalability point of view. They learn that the current system has a lot of architectural and scalability issues that needs to be addressed immediately. The solution is somewhat improved, but there still remain the conceptual problems in the application design, so the engineers decide to follow the suggestions made by CSE and completely rewrite and modernize the system. The initial cost for the modernization is high; however the business analytics predicts that the investment will be covered in a year or two.   

Year 1 - Modernization

The updated system is faster, more reliable and agile, meaning that new features can be quickly introduced and tested. The company has made a lot of new partnerships with publishers and thus providing more and more new titles. Simultaneously the visit and the purchases are increasing and consequently also the profits the company is making. The predictions made by CSE are correct and after one year they detect that in a few months the system will not be able to retain the necessary quality of service, due to the rapidly growing system load (number of simultaneous users) and work (number of customer and books in the database). Although the analysis has predicted that the company had no time to address the issue in previous months, therefore they need to quickly prepare the solution that will be capable to maintain the quality of service regardless the cost it could produce. The competition is becoming stronger, so the company should not allow losing a big market share due to unreliable service. 

Year 2 - Scalability

The engineers use the CSE to analyse different alternatives and check the current application state and decide to migrate the entire solution into the public cloud, since it would be cheaper and faster than building and maintaining the private infrastructure. By analysing the current system they also finds out that many new scalability issues have been introduced into the software during the year, and which must be addressed to successfully migrate the system into the cloud environment. Following the method steps and CSE recommendations, the system has been improved and successfully migrated into the public cloud.

The business predictions was accurate and the e-sales market was really booming and rapidly growing in second year, which transferred into exponential growth of the system load (new customers) and work (new publishers). The system was made scalable and as analysis showed it was capable of maintaining the quality of service, regardless the high visit and orders dynamics relating to vacations (summer), holidays (i.e. Christmas) and shopping sprees (i.e. black Friday). 

Year 3 - Cost effectiveness

During the third year, the market growth has stabilized. The competition is stiff, with a lot of new companies, trying to grab the market share with lower prices and better services. In order for the service to be profitable and still offer competitive prices, the company decides to rationalize its expenses. One of the priorities is to lower the system costs, while trying to provide even better service quality. Once again engineers benefit from CSE, which supports cost analysis of different deployments and can suggest improvements to the current system. The engineers learned that the system cost can be lowered by creating hybrid cloud solution. The private cloud would be responsible to handle the normal work-load with possibility to scale out to the public cloud when the demand is higher. With CSE recommendations, the solution was successfully deployed. The overall cost of the system (TCO - total cost of ownership) has been significantly reduced, however with additional tuning the engineers also manage to optimize the system scalability and thus improve the quality of service (lowering the quality thresholds). 

With help of the CloudScale Environment the company remained market leader through all the phases, and is now making huge profits, due to high quality service they are providing. The agile approach the tools provide made also huge savings in development phase by navigating the engineers in the right direction with correct predictions how the system will behave under the highly dynamic work-load and with suggestions on improving the deployment, lowering the cost, resolving the scalability issues and increasing the performance.    

 

Showcase technical and requirement transitions

The Throughout the Showcase development and improvements, there are several technical and business aspects that will change with the requirements and the technical solutions of each of the phases. These aspects are represented in the following table that describes the changes that defines each phase:

Modernization

Migration

Optimization

What

Move from classical to modern architecture.

Use MVC, to make web services stateless

Migrate to the public IaaS and PaaS cloud.

Optimize cloud: hybrid cloud etc.

Consider the SaaS for payment.

Use scalability composition metrics.

Architectural alternatives

Identify legacy architecture.

Formalize it in ScaleDL Overview Model.

Design cloud architecture and variants.

Formalize in ScaleDL Overview Model.

Update legacy application component to new structure.

Evaluate different parameters for the formalized architecture.

Optimize costs for projected workload.

Challenges

Under provision: meaning poor quality, maybe outages.

Quick solution: private cloud insufficient.

Reduce costs, must also improve quality, because of stronger competition.

Role of CloudScale

Spot scalability challenges and analyze what-if.

Spot scalability issues.

Analyze services scalability.

Predict the cost Deployment Guide.

Predicting the cost of the services with increasing work, load and tougher quality thresholds.

Possible to compare different deployment alternatives.

Cost

Prior to modernization:
Expensive to maintain

Rising cost due to growing work load.

Need to squeeze costs.

Market situation

Young market: features over quality Increasing demand anticipated

Growing market. Increasing demand

Mature market: Stable, high demand, but more competition and therefore pressure on cost

Income to the owner of the service

Stable, but low

Increasing because of more customers

Increasing, but under pressure

Pay for investment

Managed to get acceptance for expansion

Have got new customers

Must keep customers

Profit

Low, both before and after modernization (which was costly)

High, but decreasing, because of increasing completion

Under pressure

Provisioning cost / # customers

High

Decreasing

Further decrease

Load challenges

Expected more customers

More customers

More customers

Work challenges

More books

More books

More books

Quality challenges

Problem with both over and under-provisioning

Tougher competition giving decreasing quality thresholds


 

As the application matures from its legacy version to a modern implementation, cloud migration and final optimization, its behaviour is expected to change according to the amount of load it can handle, the needed work to handle it, the requests response time, and the cost per transaction. Ideally, the number of transactions should grow, while the response times, work performed and costs should be driven down. Yet in the real scenario we expect the work to grow as well, while the costs might peak at the middle of the project before the final optimization step.

Scalability storyline