In a select number of cases a system can have a very well-known user base that is unlikely to change during the course of the system’s life. In these cases, a system and its hosting platform can be designed that meets this in a cost effective way. However, for other systems it may be difficult to predict what the demand will be and how it will change with the life system or you may know that the user base or demand on system resources is going to increase dramatically with time. In these cases, the scalability of the system has to be considered. Failure to do so could result in a degraded user experience or even worse loss of service. Using a scalable design and platform, such as a cloud service, enables the system resources to scale to match the demand as it changes rather than having to re-platform or make significant architectural changes during the operational life of the system.