The murmur of cloud computing today, is bound to build up to crescendo in the years to come, simply because it makes a sound business sense. Cloud computing is a new paradigm in the world of computing. The cloud essentially creates an illusion of infinite computing resources that are available on demand to the user who only pays based on the usage. While on the surface it appears extremely simple and straightforward, making an optimal use of the cloud is no trivial task.
Prior to deploying an application on the cloud, the IT team has to decide the CPU, memory, and bandwidth usage of the application. For instance, the Amazon Elastic Compute Cloud (EC2) provides several variants of CPUs based on different pricing schemes such as $0.085, $0.34, or $0.68 per hour for small, large, or extra-large CPU instances running Linux. There are different pricing schemes for memory and bandwidth usage as well.
While the technological challenge of deploying the cloud is a separate area in itself, the business considerations needed for deciding the cloud computing resources optimally is equally critical.
As you also have to choose from different CPUs, which typically comprise CPU processors with different clock speeds, or multi-core CPUs for extra-large instances, the choice can be overwhelming.
You also need to consider how your application will scale up with increasing, decreasing, or bursts of traffic. To estimate the resources, you require a good understanding of how the application scales with increasing traffic. The ideal application deployment would scale linearly with increasing traffic.
Another factor is the kind of resource types that need to be added. It may make sense to add small CPU instances incrementally, rather than adding extra-large CPU instances, which are only partly deployed, wasting precious resources.
Once the CPU-type, either small, medium, large, or extra-large is chosen, you need to monitor how the loading of the CPU resource performs with increasing traffic.
Hence, regardless of the choice, there will be 3 windows of performance to consider as follows:
- Window of Optimality: The optimal window where the cost of cloud computing resources, the ability to handle the incoming traffic, and the revenue for the enterprise are profitable.
- Window of Diminishing Returns: In this window, adding extra resources at additional cost will not result in a proportional increase in scalability. The additional cost will offset revenues as the app will not scale in proportion.
- Window of Loss: This is the window that no enterprise should find itself in. In this window, the cost of adding the extra resources will be larger than the revenue to the enterprise, as an inordinate amount of resources will have to be added for small increases in scalability. In this situation, you need to go back to the drawing board and re-architect the application.
Hence cloud computing, while truly alluring for the SMB, is a path that requires a careful planning when adopted by the enterprise.