Wide area network autoscaling for cloud applications
Modern cloud orchestrators like Kubernetes provide a versatile and robust way to host applications at scale. One of their key features is autoscaling, that automatically adjusts cloud resources (compute, memory, storage) in order to dynamically adapt to the demands of the application. However, the s...
| Autor: | |
|---|---|
| Tipo de recurso: | tesis de maestría |
| Fecha de publicación: | 2021 |
| País: | España |
| Institución: | Universitat Politècnica de Catalunya (UPC) |
| Repositorio: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglés |
| OAI Identifier: | oai:upcommons.upc.edu:2117/358115 |
| Acceso en línea: | https://hdl.handle.net/2117/358115 |
| Access Level: | acceso abierto |
| Palabra clave: | Wide area networks (Computer networks) WAN SDN autoscaling cloud Xarxes d'àrea estesa (Xarxes d'ordinadors) Àrees temàtiques de la UPC::Enginyeria de la telecomunicació::Telemàtica i xarxes d'ordinadors |
| Sumario: | Modern cloud orchestrators like Kubernetes provide a versatile and robust way to host applications at scale. One of their key features is autoscaling, that automatically adjusts cloud resources (compute, memory, storage) in order to dynamically adapt to the demands of the application. However, the scope of cloud autoscaling is limited to the datacenter hosting the cloud and it doesn't apply uniformly to the allocation of network resources. In I/O-constrained or data-in-motion use cases this can lead to severe performance degradation for the application. For example, when the load on a cloud service increases and the Wide Area Network (WAN) connecting the datacenter to the Internet becomes saturated, the application experiences an increase in delay and loss. In many cases this is dealt by overprovisioning network capacity, which introduces significant additional costs and inefficiencies. On the other hand, thanks to the concept of "Network as Code", the WAN today exposes a programmable set ofAPIs that can be used to dynamically allocate and deallocate capacity on-demand. In this paper we propose extending the concept of cloud autoscaling into the network to address this limitation. This way, applications running in the cloud can communicate their networking requirements, like bandwidth or traffic profile, to an SDN controller or Network as a Service (NaaS) platform. Moreover, we aim to define the concepts of vertical and horizontal autoscaling applied to networking. We present a prototype that automatically allocates bandwidth in the underlay of an SD-WAN, according to the requirements of the applications hosted in Kubernetes. Finally, we discuss open research challenges. |
|---|