Khazaei, HamzehDantas, Jaime Cristalino Jales2022-08-082022-08-082022-04-182022-08-08http://hdl.handle.net/10315/39639Cloud computing has become a predominant IT operation platform in the past decade. Small and large companies have been migrating their workloads to the cloud, and serverless architectures, such as container and Function as a Service (FaaS), are among the popular choices for cluster software deployments. Within this context, autoscaling, the ability to dynamically adapt the cluster capacity based on the current demand is pivotal for maintaining Quality of Service (QoS) and optimizing the cost in the presence of workload fluctuations. The first contribution of this thesis is a novel autoscaling solution that uses burstable instances along with regular instances to handle the queueing arising in traffic and flash crowds. In a second contribution, we evaluate different types of deployments for FaaS, and present three recommendations that developers can consider when deploying their workloads on the public cloud. Finally, we present a resource-aware dynamic load balancer component for edge computing platforms using one of the most fast-growing IoT services in the industry. The contributions are tested and validated on public clouds.Author owns copyright, except where explicitly noted. Please contact the author directly with licensing requests.Computer scienceOn Performance Tuning of Serverless IoT ApplicationsElectronic Thesis or Dissertation2022-08-08Cloud computingServerless computingEdge computingAWS LambdaAWS GreengrassAutoscalingFunction as a ServiceInternet of ThingsPerformance of cloud systems