Skip to main content

IPLUSO 16930

Computação na Nuvem

Automação e Sistemas Informáticos (L) (IPLUSO)
  • ApresentaçãoPresentation
    Esta disciplina visa dotar os alunos dos conhecimentos e competências fundamentais para compreender e trabalhar com as infraestruturas e modelos de serviços que sustentam a grande maioria das aplicações e plataformas digitais da atualidade. Ao longo do estudo de Cloud Computing, os estudantes são introduzidos a conceitos essenciais como virtualização, escalabilidade, elasticidade e segurança em ambientes distribuídos. Aprendem a explorar os benefícios e os desafios inerentes à adoção da nuvem, bem como a identificar as melhores práticas para a gestão e otimização de recursos em provedores de serviços em nuvem.
  • ProgramaProgramme
    Conceitos fundamentais de sistemas distribuídos: modelos de comunicação e interação. Conceitos fundamentais de computação na nuvem. Flexibilidade na alocação a pedido de recursos e aspetos económicos sobre a utilização de serviços na nuvem. Criação e gestão de uma rede na nuvem.  Acesso e organização das plataformas públicas de computação na nuvem, usando uma delas como caso de estudo. Virtualização de recursos computacionais. Diferentes tipos de isolamento e execução: máquinas virtuais de processo e de sistema, contentores. Orquestração de Recursos Conteinerizados. Diferentes tipos de gestão e ciclo de vida: Kubernetes. Introdução ao armazenamento distribuído de grandes volumes de dados. Repositórios de objetos binários, relacionais, e não relacionais. Modelos de comunicação publicador/subscritor. Computação Serverless. Diferentes fases e ferramentas: Continuous Integration (CI) e Continuous Deployment (CD) Pipelines. Gestão de Identidades e Acessos. Infraestrutura como Código (IaC) Terraform.
  • ObjectivosObjectives
    Compreender os fundamentos teóricos da computação na nuvem, incluindo modelos de implementação e características essenciais (elasticidade, escalabilidade, disponibilidade).  Compreender as características das arquiteturas e do desenvolvimento de software de sistemas distribuídos. Identificar os princípios e padrões das arquiteturas orientadas por eventos. Compreender os conceitos fundamentais de orquestração de contentores e a sua importância em ambientes de nuvem e microsserviços. Compreender os conceitos fundamentais do Docker. Conhecer o propósito de ferramentas como o Docker Compose. Compreender o conceito e a finalidade de uma VPC e os seus componentes. Saber utilizar diferentes sistemas de computação em nuvem, serviços de armazenamento e de processamento. Utilizar diferentes padrões de comunicação e interação, compreendendo as suas características de fiabilidade e desempenho. Compreender a necessidade de coordenar e sincronizar a tomada de decisões em ambientes distribuídos.
  • BibliografiaBibliography
    Slides e tutoriais fornecidos pelo docente da cadeira; I. Foster, D. Gannon, Cloud Computing for Science and Engineering, MIT press, 2017. D. Marinescu, Cloud Computing: Theory and Practice, 2nd Edition, Elsevier, 2017.
  • MetodologiaMethodology
    Computação na Nuvem coloca um especial foco na aplicação e ativa aprendizagem. Project Based Learning (PBL) para projetos reais permite o desenvolvimento de soluções na nuvem Google Cloud e, dessa forma, desenvolve-se habilidades técnicas e de resolução de problemas. Collaborative learning com ferramentas como Git. Utilização de GitBook para enunciados mais interativos. Utilização de linguagem adaptada ao mercado de trabalho com metologias de trabalho ágeis.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Opcional
  • EstágioInternship
    Não