Autoscaling
Autoscaling, also spelled auto scaling or auto-scaling, and sometimes also called automatic scaling, is a method used in cloud computing, whereby the amount of computational resources in a server farm, typically measured in terms of the number of active servers, scales automatically based on the load on the farm. It is closely related to, and builds upon, the idea of load balancing.[1][2]
Advantages
For companies running their own web server infrastructure, autoscaling typically means allowing some servers to go to sleep during times of low load, saving on electricity costs (as well as water costs if water is being used to cool the machines).[3] For companies using infrastructure hosted in the cloud, autoscaling can mean lower bills, because most cloud providers charge based on total usage rather than maximum capacity.[4]
Autoscaling differs from having a fixed daily, weekly, or yearly cycle of server use in that it is responsive to actual usage patterns, and thus reduces the potential downside of having too few or too many servers for the traffic load. For instance, if traffic is usually lower at midnight, then a static scaling solution might schedule some servers to sleep at night, but this might result in downtime on a night where people happen to use the Internet more (for instance, due to a viral news event). Autoscaling, on the other hand, can handle unexpected traffic spikes better.[3][5]
Practice
Amazon Web Services (AWS)
The term auto-scaling was introduced, and the concept popularized, by Amazon Web Services, which offers autoscaling to its users.[2][6][7] Autoscaling on Amazon Web Services is done through their command line tool.[8]
On-demand video provider Netflix has documented their successful use of autoscaling with Amazon Web Services to meet their highly variable consumer needs. They found that aggressive scaling up and delayed and cautious scaling down served their goals of uptime and responsiveness best.[5] For parts of their infrastructure and specific workloads, they found that use of predictive analytics gave even better results.[9] Their software, Scryer, is not available to the public.
In an article for TechCrunch, Zev Laderman, the co-founder and CEO of Newvem, a service that helps optimize AWS cloud infrastructure, recommended that startups use autoscaling in order to keep their Amazon Web Services costs low.[4]
Microsoft's Windows Azure
On June 27, 2013, Microsoft announced that it was adding autoscaling support to its Windows Azure cloud computing platform.[10][11][12] Documentation for the feature is available on the Microsoft Developer Network.[13][14]
Google Cloud Platform
On November 17, 2014, the Google Compute Engine announced a public beta of its autoscaling feature for use in Google Cloud Platform applications.[15][16][17][18] As of March 2015, the autoscaling tool is still in Beta.[19]
In a blog post in August 2014, a Facebook engineer disclosed that the company had started using autoscaling to bring down its energy costs. The blog post reported a 27% decline in energy use for low traffic hours (around midnight) and a 10-15% decline in energy use over the typical 24-hour cycle.[3]
See also
- Cloud computing
- Load balancing
- Amazon Web Services
- Auto Scaling with Docker
- Autoscaling with Morpheus
References
- ^ "Above the Clouds: A Berkeley View of Cloud Computing" (PDF). Berkeley EECS. February 10, 2009. Retrieved March 21, 2015.
- ^ a b "Auto Scaling". Amazon Web Services. Retrieved March 21, 2015.
- ^ a b c Wu, Qiang (August 8, 2014). "Making Facebook's software infrastructure more energy efficient with Autoscale". Facebook Code Blog. Retrieved March 21, 2015.
- ^ a b Laderman, Zev (April 22, 2012). "The 10 Biggest Mistakes Made With Amazon Web Services". TechCrunch. Retrieved March 21, 2015.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ a b Orzell, Greg; Becker, Justin (January 18, 2012). "Auto Scaling in the Amazon Cloud". Netflix Tech Blog. Retrieved March 21, 2012.
- ^ "What is autoscaling?". TechTarget. Retrieved March 21, 2015.
- ^ Barr, Jeff (July 30, 2014). "Auto Scaling Update – Lifecycle Management, Standby State, and DetachInstances". Amazon Web Services (official blog). Retrieved March 21, 2015.
- ^ "Auto Scaling Command Line Tool". Amazon Web Services (community-edited page). Retrieved March 21, 2015.
- ^ Jacobson, Daniel; Yuan, Danny; Joshi, Neeraj. "Scryer: Netflix's Predictive Auto Scaling Engine". The Netflix Tech Blog. Netflix. Retrieved 28 May 2015.
- ^ Lardinois, Frederic (June 27, 2013). "Microsoft Adds Auto Scaling To Windows Azure". TechCrunch. Retrieved March 21, 2015.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ "Microsoft to add autoscaling, alerts to Windows Azure". ZDNet. June 27, 2013. Retrieved March 21, 2015.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ Butler, Brandon (August 7, 2013). "Google, Microsoft play catch up to Amazon, add load balancing, auto-scaling to their clouds". Network World. Retrieved March 21, 2015.
- ^ "Autoscaling Guidance". Microsoft Developer Network.
- ^ "The Autoscaling Application Block". Microsoft Developer Network. Retrieved March 21, 2015.
- ^ Balejko, Filip (November 17, 2014). "Autoscaling, welcome to Google Compute Engine". Google Cloud Platform blog. Retrieved March 21, 2015.
- ^ Protalinski, Emil (November 17, 2014). "Google Compute Engine gets Autoscaler to adjust app resources based on varying traffic and workloads". VentureBeat. Retrieved March 21, 2015.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ Lardinois, Frederic (November 17, 2014). "Google Brings Autoscaling To Compute Engine". TechCrunch. Retrieved March 21, 2015.
{{cite web}}
: Italic or bold markup not allowed in:|publisher=
(help) - ^ Verge, Jason (November 17, 2014). "Google Launches Autoscaling Beta on Compute Engine". Data Center Knowledge. Retrieved March 21, 2015.
- ^ "Autoscaler". Google Cloud Platform. Retrieved March 21, 2015.