The course is part of this learning path
Develop your skills for Autoscaling with this course from Cloud Academy. Learn how to improve your teams and development skills and understand how they relate to scalable solutions.
This Course is consists of 5 quick fire lectures that will provide you with the fundamentals of autoscaling as often used in cloud based architectures.
- Learn how to develop applications which autoscale
- Learn how to architect scalable cloud architectures
This course is recommended for:
- Cloud Architects
- Cloud System Operators
There are no prior requirements necessary in order to do this training course, although basic exposure to AWS, Azure, and/or GCP would be useful
The term autoscaling refers to the process of automatically allocating resources in order to allow an application to meet performance requirements. As the amount of work grows, applications sometimes need additional resources to maintain a desired level of performance and to satisfy service-level agreements. As workloads decrease additional resources are no longer necessary. As such, those resources can be deallocated in order to minimize costs. By taking advantage of elasticity of cloud-hosted environments, autoscaling eases management overhead by reducing the need for an administrator to constantly monitor an application or systems performance and to make decisions about modifying resources. There are two key ways that an application can scale. These include vertical scaling and horizontal scaling. Vertical scaling is often referred to as scaling up and down.
This type of scaling refers to changing capacity for a resource. For example, a vertical scaling would be moving an application to a larger virtual machine. Vertical scaling, as a rule of thumb, generally requires that a system experience some amount of downtime while the system is being redeployed with the upgraded resources. As such, vertical scaling is not typically automated. Horizontal scaling is referred to as scaling out and in. This typically refers to the addition or removal of instances of a resource or application. Horizontal scaling allows an application to continue running without any downtime while new resources are provisioned for it. After additional resources are provisioned, the application or solution is then deployed across the new resources. If the demand for the application or resource drops at any point, these additional resources can then be deallocated and removed cleanly. Most cloud systems, offer support for horizontal scaling. It's also important to note that autoscaling typically applies to computer resources. Although a database or message queue can be horizontally scaled, this typically involves data partitioning, which is often not automated.
A functional autoscaling strategy often involves monitoring systems at the application, service, and infrastructure levels. The systems capture key metrics that can include response times, CPU utilization, memory utilization, and other key metrics. An autoscaling strategy also involves decision-making logic that evaluates these metrics against predefined thresholds or against predefined schedules. This decision-making logic then decides whether or not to scale. The actual components that scale the system are also an important piece to an overall autoscaling strategy, as are testing, monitoring, and tuning of the autoscale strategy. This ensures that the autoscaling solution functions as expected.
Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.
In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.
In his spare time, Tom enjoys camping, fishing, and playing poker.