Propostas Submetidos

DEI - FCTUC
Gerado a 2024-05-17 04:29:44 (Europe/Lisbon).
Voltar

Titulo Estágio

A Federated Operator For Kubernetes

Áreas de especialidade

Comunicações, Serviços e Infraestruturas

Engenharia de Software

Local do Estágio

DEI – FCTUC

Enquadramento

The popularity of Kubernetes (K8s) is on the rise due to several compelling reasons. Firstly, there has been a significant growth in the popularity of containerized applications. Containers offer numerous advantages such as lightweight, portable, and isolated environments, making them ideal for deploying and managing modern applications. Kubernetes provides a robust orchestration framework specifically designed for managing containerized applications, making it a natural choice in this context.

Additionally, Kubernetes offers a cluster with a planar network addressing scheme. This means that regardless of the number of nodes in the cluster, pods running in those nodes have unique IP addresses and are able to communicate directly without any NAT schemes, thus simplifying networking and communication between containers and services within the cluster.

Another key benefit of Kubernetes is its agnostic nature towards the underlying cloud or on-premises technology. This allows organizations to leverage Kubernetes across different infrastructure providers or in hybrid environments without being locked into a specific platform. It offers flexibility and portability, enabling businesses to choose the most suitable deployment environment for their needs.

Furthermore, Kubernetes enables big companies to efficiently share resources between teams and applications through the use of namespaces and resource quotas. This allows for effective resource allocation and isolation, ensuring that each team or application has its dedicated resources while optimizing resource utilization across the cluster.

Lastly, Kubernetes provides built-in mechanisms for scaling applications in and out. It offers features like auto-scaling based on resource utilization or custom metrics, allowing applications to dynamically adjust their capacity based on workload demands. This scalability feature ensures optimal utilization of resources and enables applications to handle varying levels of traffic efficiently.

In addition to these benefits, Kubernetes also offers features such as self-healing, rolling updates, service discovery, and load balancing, making it a comprehensive platform for managing containerized applications at scale.

A Kubernetes cluster located in a single region may lack fault-tolerance, meaning it is susceptible to failures or disruptions within that region. To address this limitation, users have the option to leverage multiple regions for increased reliability. However, it's important to consider that different cloud providers offer varying prices and performance levels. Two possible approaches to take advantage of multiple regions are:

1. Build a single Kubernetes cluster with nodes deployed across multiple regions. This can be achieved using technologies like Anthos, which enable the management of a distributed cluster spanning multiple regions. By distributing the cluster, it becomes more resilient to failures in a specific region.

2. Federate the operation of multiple Kubernetes clusters. This involves having a layer or control plane that is aware of all the individual clusters. The federated layer can distribute the workload across clusters based on performance and price considerations, to optimize resilience and cost-effectiveness.

Objetivo

1. **Deployment of Multi-Region Kubernetes Cluster:** Deploy a single Kubernetes cluster with nodes in multiple regions using technologies such as Anthos. This involves setting up the necessary infrastructure, configuring networking, and ensuring seamless communication between cluster nodes across regions.

2. **Deployment of Federated Kubernetes Clusters:** Deploy multiple Kubernetes clusters and implement Kubernetes federation to enable workload distribution and management across clusters. Set up a federated control plane, and establish communication between clusters. Ensure the federated layer is aware of all individual clusters and can efficiently distribute workloads based on performance and cost considerations.

3. **Performance Evaluation and Optimization:** Conduct comprehensive performance evaluations of both the multi-region cluster and the federated clusters. Measure and compare factors such as response times, latency, throughput, and scalability. Analyze how each solution impacts the application's Service Level Objectives (SLOs). This also involves a) preparing a demo application that represents a real-world scenario, to simulate a realistic workload and stress the cluster deployments; and b) writing simple optimization algorithms to ensure the application's SLOs are met within the multi-region cluster and the federated clusters. This may involve load balancing strategies, auto-scaling policies, or resource allocation adjustments to dynamically optimize performance and maintain SLO compliance.

4. **Comparison and Evaluation:** Compare the performance, cost-effectiveness, and overall suitability of the multi-region cluster and the federated clusters. Analyze the trade-offs, advantages, and limitations of each approach.

Plano de Trabalhos - Semestre 1

- Learn Kubernetes and study the current state of the art (1 month).
- Deploy the currently available solutions (2 months).
- Define the comparison requirements (1 month).
- Write an intermediate report (1 month).

Plano de Trabalhos - Semestre 2

- Prepare a demo application and the simple optimization algorithms that minimize cost and ensure SLOs (3 months).
- Perform Tests (1 month).
- Write a final report (1 month).

Condições

The work should take place at the Centre for Informatics and Systems of the University of Coimbra (CISUC) in the Communications and Telematics/Software and Systems Engineering Groups at the Department of Informatics Engineering of the University of Coimbra.

The work will be performed in close collaboration with research teams from Altice Labs.

Observações

This master thesis is framed within the scope of the ANI-Portugal 2020 POWER project (https://www.cisuc.uc.pt/en/projects/power).

There is the possibility to award the internship with a scholarship, according to the candidate’s profile.

The work will be co-supervised by Prof. Filipe Araújo (SSE/CISUC).

Orientador

Karima Velasquez
kcastro@dei.uc.pt 📩