Auto-scaling is a service offered by Amazon that helps in configuring automatic scaling for AWS resources (in a few minutes) which belong to the user application. The AWS Auto-Scaling console provisions a single user interface which can be used to automatically scale the feature of many AWS services. The user can also configure automatic scaling for specific resources based on requirement or for the entire application as a whole.
The application or resources can be configured and managed to scale based on a scaling plan. This scaling plan makes use of dynamic scaling and predictive scaling methods to automatically scale the user’s application. This makes sure that the user can add in more computing power when required to handle larger loads and remove this power when it is not required anymore. The scaling plan can be used in such a way that the user can choose scaling strategies that help in defining how the resource utilization can be optimized. The scaling plan can be optimized for availability, for cost, or a careful balance of availability and cost. Custom scaling strategies can also be built based on the user requirements.
Dynamic scaling: It helps in the creation of target tracking scaling policies that can be used to scale resources in the user’s application. This allows the user to plan about adding and removing capacity of every resource as and when they are required thereby maintaining the resource utilization at specified target values. The default scaling metrics are provisioned based on the most commonly used metrics which are used for automatic scaling.
Predictive scaling: AWS Auto-Scaling helps analyse the specific load metric history of about 14 days and helps in forecasting the future demand of the next 2 days. This data is available in one-hour interval and is updated on a daily basis. The scaling actions are scheduled so as to actively add and remove resource capacity that would reflect the load forecast. During the time schedule, auto-scaling updates the resource’s minimum capacity to the value that is specified by the scheduled scaling action. The objective is to main the resource utilization at the target value which is specified by the scaling strategy. The application can be dynamically scaled to provide more resources.
Every resource comes with a minimum and a maximum capacity limit. Between the range lies the scheduled scaling action value. The user has the ability to control whether resources can be added if the forecast capacity is higher.
Currently predictive scaling is offered only with Amazon EC2 Auto-Scaling groups.
Auto-Scaling can be used with the below mentioned applications:
The below-mentioned resources can be used with AWS Auto-Scaling:
Amazon EC2 Auto-scaling groups: EC2 instances can be launched as well as terminated form auto-scaling groups.
Amazon EC2 Spot Fleet requests: Instances from a Spot Fleet request can be launched or terminated or automatically replaced if they are interrupted due to price or capacity constraints.
Amazon ECS: ECS service can be adjusted based on the changes in the load.
Amazon DynamoDB: DynamoDB table or a global secondary index can be used to modify the provisioned read and write capacity so that it can handle incoming traffic without throttling.
Amazon Aurora: It can be used to dynamically change the number of Aurora read replicas which are provisioned for an Aurora DB cluster so that it gets the capability to handle changes in active connections.
AWS Auto-scaling can be used with AWS Management Console, AWS CLI (Command Line Interface) and with Amazon SDK.
Set up is quick- It is a single interface hence the utilization of resources can be observed in a single console.
Smart scaling decisions- Auto-scaling helps build scaling plans which automate the process of scaling groups of resources based on the requirements. The availability and cost can be balanced. Scaling policies are automatically set on the resources based on the user’s preferences.
Performance maintenance- The application’s optimal performance can be maintained even when the workload is not consistent (unpredictable, continuously changing). This is done since auto-scaling continuously monitors the user application to ensure that it operates at the user’s desired performance levels.
Pay for what user uses- The resource utilization and costs are optimized to ensure that the user only pays for the resources they actually utilize. Any excess resource capacity is automatically removed so that user doesn’t spend unnecessarily.
Above, we understood how Amazon auto-scaling works with applications.
It is an offering by Amazon that helps in the management and security of DaaS (Desktop as a Service). Amazon workspace can be used to provide Windows or Linux desktops to the users all over the world in a matter of few minutes. These desktops can be scaled quickly and provisioned to the users. It can be paid for on a monthly basis or hourly basis, and this depends on the workspaces that are launched. This way, costs can be minimized in comparison to traditional desktop sand on premise VDI solutions.
Amazon workspaces can be used to eliminate the complications of managing the hardware inventory, OS versions and their patches, and Virtual Desktop Infrastructure (VDI). It helps in the simplification of the strategy of desktop delivery, thereby providing users a fast and responsive desktop of their choice which can be accessed by them anywhere and at any point in time for a device which supports it.
Desktop delivery is simplified: It eliminates the need to manage administrative tasks which are associated with managing the lifecycle of desktop such as provisioning, deploying, maintaining, and recycling the desktops. The hardware inventory to manage is less, and the need to use complex virtual desktop infrastructure is eliminated.
Cost reduction: It removes the need to buy (over-buy) desktop and laptop resources since it provides on-demand access to cloud desktops that includes a range of compute, memory and storage resources which can be used to meet the performance needs of the users.
Control over desktop resources: Workspace offers a wide range of options for CPU, memory, SSD (Solid State Drives) bundle configurations which can be modified dynamically if the right resources are present for the user applications. The user saves time since they don’t have to worry about predicting the number of desktops they would need, thereby reducing costs and eliminating the requirement to over-buy hardware.
Data security: Workspace is deployed within an Amazon VPC (Virtual Private Cloud). This provides the user access to persistent and encrypted storage volumes in the AWS Cloud, which can be integrated with AWS Key Management Service. This way, no data is present in the local device, which helps in improving the security of user data and reduces the risk of data being lost or stolen.
Desktops are flexible to deploy OS:Workspace comes with Windows 7, Windows 10, and Amazon Linux 2 desktop experience. The user could also get their own Windows 7 or Windows 10 desktops and run them on the Amazon Workspace, and stay licence compliant. The user also gets to choose from multiple productivity application bundles for their workspace.
Delivering desktops to multiple devices: Amazon Workspace can be access with the help of any device that supports it, and this includes Windows and Mac computers, Chromebooks, iPads, Fire tablets, Android tablets and via Chrome and Firefox web browsers. Once the workspace has been customized, the client can be downloaded so that the user can access it from the device of their choice.
Manage and scale the global desktop deployment centrally: Amazon Workspaces are available in 12 Regions and can be used to provide access to high performance cloud desktops. Global deployment of thousands of workspaces can be managed via the AWS Console. These desktops can be rapidly provisioned and de-provisioned based on the needs of the user application.
Using the existing directory of the user:Amazon workspace can be used to securely integrate the user’s existing corporate directory, which includes Microsoft Active Directory and multi-factor authentication tolls so that users are easily able to access the resources of the company. The user access control can be managed via an IP access control group, thereby making it easy to control and manage user access to their Workspace with the existing tools.
In this post, we understood about AWS workspaces and how they can be used to reduce cost and avoid over-buying hardware.