Welcome!

@CloudExpo Authors: Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White, Zakia Bouachraoui

Related Topics: @CloudExpo, Microservices Expo, Microsoft Cloud

@CloudExpo: Article

Dynamic Scaling and Elasticity - Windows Azure vs Amazon EC2

Autoscaling in major cloud platforms

Dynamic  Scaling
A key benefit of cloud computing is the ability to add and remove capacity as and when it is required. This is often referred to as elastic scale. Being able to add and remove this capacity can dramatically reduce the total cost of ownership for certain types of applications; indeed, for some applications cloud computing is the only economically feasible solution to the problem.

This particular property  will be the most valued to evaluate a cloud platform,  and I have provided a comparison between two of the major IaaS platforms:

  1. Amazon EC2
  2. Windows Azure (Which is also a PaaS on top of the IaaS Offering)

Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.

Amazon EC2 provides out-of-the-box support for elasticity and auto scaling with multiple components.

Amazon CloudWatch
Amazon CloudWatch is a web service that provides monitoring for AWS cloud resources, starting with Amazon EC2. It provides visibility into resource utilization, operational performance, and overall demand patterns - including metrics such as CPU utilization, disk reads and writes, and network traffic.

Auto Scaling
Auto scaling allows you to automatically scale your Amazon EC2 capacity up or down according to conditions you define. With auto scaling, you can ensure that the number of Amazon EC2 instances you're using scales up seamlessly during demand spikes to maintain performance, and scales down 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.

Auto scaling utilizes the following concepts.

  • An AutoScalingGroup is a representation of an application running on multiple Amazon Elastic Compute Cloud (EC2) instances.
  • A Launch Configuration captures the parameters necessary to create new EC2 Instances. Only one launch configuration can be attached to an AutoScalingGroup at a time.
  • In Auto Scaling, the trigger mechanism uses defined metrics and thresholds to initiate scaling of AutoScalingGroups.

The following diagram, courtesy of Amazon EC2 site, gives the over view of auto scaling in Amazon EC2.

Windows Azure
The Windows Azure platform consists of the Windows Azure cloud-based operating system, which provides the core compute and storage capabilities required by cloud-based applications as well as some constituent services - specifically the service bus and access control - that provide other key connectivity and security-related features.

Windows Azure also provides robust dynamic scaling capabilities, however there are no named  products like EC2 but rather a custom-coding approach is used at this time. However, there are third-party providers that are in the process of  developing dynamic scaling applications.

In Windows Azure, auto scaling is achieved by changing the instance count in the service configuration. Increasing the instance count will cause Windows Azure to start new instances; decreasing the instance count will in turn cause it to shut instances down.

Decisions around when to scale and by how much will be driven by some set of rules. Whether these are implicit and codified in some system or simply stored in the head of a systems engineer, they are rules nonetheless.

Rules for scaling a Windows Azure application will typically take one of two forms. The first is a rule that specifies to add or remove capacity from the system at a given time - for example: run 20 instances between 8 am and 10 am each day and two instances at all other times. The second form is rules that are based around a response to metrics and this form warrants more discussion.

Taking action to scale Windows Azure is exposed through the use of the management API. Through a call to this API it is possible to change the instance count in the service configuration and in doing so to change the number of running instances.

Summary
Auto scaling is the number one feature in a cloud platform that directly addresses the need to reduce cost for large enterprises.

Both EC2 and Azure provide the auto scaling feature. While EC2 provides a backbone and framework for auto scaling, Azure provides an API that can be extended.  Already we are seeing several third-party providers delivering tools for Azure auto scaling.

More Stories By Srinivasan Sundara Rajan

Highly passionate about utilizing Digital Technologies to enable next generation enterprise. Believes in enterprise transformation through the Natives (Cloud Native & Mobile Native).

CloudEXPO Stories
To Really Work for Enterprises, MultiCloud Adoption Requires Far Better and Inclusive Cloud Monitoring and Cost Management … But How? Overwhelmingly, even as enterprises have adopted cloud computing and are expanding to multi-cloud computing, IT leaders remain concerned about how to monitor, manage and control costs across hybrid and multi-cloud deployments. It’s clear that traditional IT monitoring and management approaches, designed after all for on-premises data centers, are falling short in this new hybrid and dynamic environment.
With more than 30 Kubernetes solutions in the marketplace, it's tempting to think Kubernetes and the vendor ecosystem has solved the problem of operationalizing containers at scale or of automatically managing the elasticity of the underlying infrastructure that these solutions need to be truly scalable. Far from it. There are at least six major pain points that companies experience when they try to deploy and run Kubernetes in their complex environments. In this presentation, the speaker will detail these pain points and explain how cloud can address them.
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure using the Kublr platform, and how Kubernetes objects, such as persistent volumes, ingress rules, and services, can be used to abstract from the infrastructure.
We are seeing a major migration of enterprises applications to the cloud. As cloud and business use of real time applications accelerate, legacy networks are no longer able to architecturally support cloud adoption and deliver the performance and security required by highly distributed enterprises. These outdated solutions have become more costly and complicated to implement, install, manage, and maintain.SD-WAN offers unlimited capabilities for accessing the benefits of the cloud and Internet. SD-WAN helps enterprises to take advantage of the exploding landscape of cloud applications and services, due to its unique capability to support all things cloud related.