Computação em Nuvem e Edge

CNEPágina da Cadeira
6 ECTSS1S2Exame: Não especificado
Geral
Sem avaliações ainda
Carga de trabalho
--

Descrição

Objetivos

Fornecer uma panorâmica dos principais desafios, conceitos, abordagens e tecnologias usadas para armazenamento de dados e programação em centros de dados virtualizados e em computação edge.

Programa

O que é a computação em nuvem? 1. Vista geral da programação na nuvem e suas aplicações. Motivações, centros de dados, software livre para nuvens privadas, Software as a Service. Como estamos ligados à nuvem? 2. Redes de computadores: pilha OSI e vista geral dos principais protocolos relevantes para as aplicações na nuvem, TCP/IP e HTTP. Fundamentos da segurança na comunicação. Como armazenar dados na nuvem? 3. Sistemas de armazenamento na nuvem: 3.1 Bases de dados relacionais, SQL, privacidade forte e fraca. MySQL, PostgreSQL Como armazenar dados heterogéneos ou de grandes dimensões? 3.2 Bases de dados tabulares não relacionais. Apache Cassandra. 3.3 Bases de dados chave-valor. S3 e/ou Linode Object Storage. Como processar dados na nuvem? 4. Function as a Service: uso de funções lambda. AWS Lambda, Google Functions Como processar dados que não estão armazenados? 4.1. Aplicações em grafos de operadores e processamento de fluxos de dados. Apache Flink. Como criar aplicações web na nuvem? 5. Platform as a Service: execução de aplicações web. Google AppEngine. Como criar aplicações web na nuvem? 6. Infrastructure as a Service (IaaS): máquinas a pedido. Máquinas virtuais Linode ou AWS EC2. 7. Uso da nuvem para aplicações elásticas. Balanceamento de carga. Métricas de desempenho. 7.1. Sistemas de filas de mensagens. Uso em aplicações elásticas e em FaaS. Que aplicações nuvem são comuns em Engenharia? 8. Aplicações da nuvem à ciência de dados e à aprendizagem automática. Modelos de aplicação disponíveis (FaaS, PaaS, IaaS). Como estender as aplicações nuvem para nós próximos dos utilizadores? 9. Computação edge. Exemplos de dispositivos edge. Processamento intermédio. Ligação de máquinas edge aos dispositivos terminais.

Pré Requisitos

Pensamento Computacional (“Computational Thinking”), Algoritmos e Estruturas de Dados (“Data Structures and Algorithms “)

Competências Transversais

A componente de mini-projeto foi planeada para promover competências transversais em pensamento crítico e competências inter-pessoais e intra- pessoais.

Componente Laboratorial

Aplicação das técnicas lecionadas nas aulas teóricas na resolução de problemas. Os estudantes deverão desenvolver um projecto nas aulas práticas.

Componente de Programação

As componentes de computação e programação são asseguradas no curso ao qual esta unidade curricular é oferecida, de acordo com o MEPP 2122.

Princípios Éticos

Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.

Falta algo ou está desatualizado?