Skip to main content

IPLUSO 16930

Cloud Computing

Automation and Computer Systems
  • ApresentaçãoPresentation
    This discipline aims to teach students with the fundamental knowledge and skills to understand and work with the infrastructures and service models that host the vast majority of today's digital applications and platforms. Throughout the study of Cloud Computing, students are introduced to essential concepts such as virtualization, scalability, elasticity, and security in distributed environments. They learn to explore the benefits and challenges inherent in cloud adoption, as well as to identify best practices for managing and optimizing resources with cloud service providers.
  • ProgramaProgramme
    Fundamental Concepts of Distributed Systems: Communication and Interaction Models. Fundamental Concepts of Cloud Computing. On-demand Resource Allocation Flexibility and Economic Aspects of Cloud Service Utilization. Creation and Management of a Cloud Network. Access and Organization of Public Cloud Computing Platforms, using one as a Case Study. Virtualization of Computational Resources. Different Types of Isolation and Execution: Process and System Virtual Machines, Containers. Orchestration of Containerized Resources. Different Types of Management and Lifecycle: Kubernetes. Introduction to Distributed Storage of Large Volumes of Data. Binary Object, Relational, and Non-Relational Repositories. Publisher/Subscriber Communication Models. Serverless Computing. Different Phases and Tools: Continuous Integration (CI) and Continuous Deployment (CD) Pipelines. Identity and Access Management. Infrastructure as Code (IaC) Terraform.
  • ObjectivosObjectives
    Understand the theoretical foundations of cloud computing, including deployment models and essential characteristics (elasticity, scalability, availability). Understand the characteristics of distributed systems architectures and software development. Identify the principles and patterns of event-driven architectures. Understand the fundamental concepts of container orchestration and its importance in cloud and microservices environments. Understand the fundamental concepts of Docker. Know the purpose of tools like Docker Compose. Understand the concept and purpose of a VPC (Virtual Private Cloud) and its components. Be able to use different cloud computing systems, storage services, and processing services. Utilize different communication and interaction patterns, understanding their reliability and performance characteristics. Understand the need for coordination and synchronization of decision-making in distributed environments.
  • 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
    Cloud Computing places a special focus on applied and active learning. Project-Based Learning (PBL) for real-world projects enables the development of solutions on Google Cloud, thereby fostering technical and problem-solving skills. Collaborative learning is facilitated through tools like Git. GitBook is used for more interactive content. The language adopted is tailored to the job market, incorporating agile work methodologies.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Optional
  • EstágioInternship
    Não