Cloud Computing and Software-as-a-Service

With the emergence of cloud computing, the ability to spin up new resources via an API and deploy a new virtual instance of machines quickly has become one of the more popular paradigms. Resource automation is an important part of any company’s business initiatives. Cloud hosted applications can be deployed, provisioned and created with new instances in an on-demand basis. These computing resources can be created and utilized in very short order, usually in a matter of minutes, and in some cases a matter of seconds.

High Availability, Configurable and Programmable features make Cloud Automation a key driver for adoption

The dynamic nature of cloud automation enables companies to provision and de-provision cloud resources on-the-fly as you meet needed threshold metrics based off of application environment variables, such as increased load traffic, additional users or environment changes on the system running queries, additional taxation of your application platform during data mining or migration processes, and during heavy usage and peak load traffic with data crunching scenarios imposed during run-time.

An important point to note is the rapid adoption and move towards multicore servers strengthing the impact of dynamic automatic virtualization. Overall, the fulcrum points of cloud automation are, increased efficiency, as it pertains to billing, and the ease of implementing highly available computing power required during peak loads of your business applications hosted across the clouds.

Benefits of not having to purchase and provision new servers

By embracing cloud technologies, companies are presented with opportunities to scale their offerings to their clients and serve their business initiatives, all while gaining the ability of dynamical scaling. Competitive advantages can be seen in hundreds of articles and white papers written by companies, who were either start-ups or building a new application, or migrating an existing data center application to the cloud, and were enabled to get to market quicker and expand or contract their platform hardware requirements in real time as the demand of their systems change.

Amazon CloudWatch and Auto Scaling ( the following content was copied from the links above )

Amazon CloudWatch provides monitoring for AWS cloud resources and the applications customers run on AWS. Developers and system administrators can use it to collect and track metrics, gain insight, and react immediately to keep their applications running smoothly. Amazon CloudWatch monitors AWS resources such as Amazon EC2 and Amazon RDS DB instances, and can also monitor custom metrics generated by a customer’s applications and services. With Amazon CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

Amazon CloudWatch provides a reliable, scalable, and flexible monitoring solution that you can start using within minutes. You no longer need to set up, manage, or scale your own monitoring systems and infrastructure. Using Amazon CloudWatch, you can easily monitor as much or as little metric data as you need. Amazon CloudWatch lets you programmatically retrieve your monitoring data, view graphs, and set alarms to help you troubleshoot, spot trends, and take automated action based on the state of your cloud environment.

Amazon Auto Scaling

Auto Scaling allows you to scale your Amazon EC2 capacity up or down automatically according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you’re using increases seamlessly during demand spikes to maintain performance, and decreases automatically during demand lulls to minimize costs. Auto Scaling is particularly well suited for applications that experience hourly, daily, or weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available at no additional charge beyond Amazon CloudWatch fees.

If you’re signed up for the Amazon EC2 service, you’re already registered to use Auto Scaling and can begin using the feature via the Auto Scaling APIs or Command Line Tools.

Auto Scaling is enabled by Amazon CloudWatch and carries no additional fees.

Windows Azure® Autoscaling Application Block
( the following content was copied from the links above )

The Autoscaling Application Block can automatically scale your Windows Azure application based on rules that you define specifically for your application. You can use these rules to help your Windows Azure application maintain its throughput in response to changes in its workload, while at the same time control the costs associated with hosting your application in Windows Azure.

Along with scaling by increasing or decreasing the number of role instances in your application, the block also enables you to use other scaling actions such as throttling certain functionality within your application or using custom-defined actions.

You can choose to host the block in a Windows Azure role or in an on-premises application.

It is clear that the cloud computing models of deployment, management and ongoing maintenance and support bring a very compelling argument to “why adopt the cloud”. The largest and most innovative companies today are openly embracing this paradigm of technology thought leadership and ROI is proving itself every day.