Visão Geral
Curso Cloud Applications Architecture, obtenha uma visão geral do design de aplicativos em nuvem. Este treinamento abrange os princípios básicos da construção de sistemas em nuvem e os principais blocos de construção oferecidos pelos fornecedores de IaaS/PaaS/SaaS (assim como métodos e especificidades de seu uso). Você praticará a construção de uma rede virtual, delineará a estrutura do aplicativo e fará projetos para garantir atributos de qualidade.
Curso Cloud Applications Architecture é um ponto de partida para aprender a projetar sistemas em nuvem. Seu principal objetivo é fornecer uma introdução às especificidades e desafios da nuvem e como usar o conjunto de ferramentas de nuvem primária. Começaremos com a origem e os tipos de nuvem e uma visão geral das principais tecnologias que permitem a computação em nuvem e, em seguida, passaremos ao design de aplicativos em nuvem.
Veremos a construção de redes virtuais em nuvem, onde discutiremos o planejamento de pontos de presença, a organização do tráfego de entrada e saída e a entrega de conteúdo. Você aprenderá como implantar os elementos funcionais do aplicativo – opções baseadas em servidor e sem servidor. Analisaremos os recursos de trabalho com dados persistentes, selecionando DBMS para vários casos e completaremos a introdução aos blocos de construção de aplicativos em nuvem (resolvendo tarefas de integração).
Também abordaremos como estudar e aplicar as principais táticas para alcançar as qualidades do sistema, como escalabilidade, desempenho, segurança e tolerância a falhas. A automação é extremamente importante para a operação eficiente de sistemas em nuvem. Os provedores de IaaS/PaaS nos permitem provisionar e gerenciar recursos de nuvem automaticamente, configurar o monitoramento e reagir a mudanças e falhas em nosso aplicativo. Discutiremos os cenários de automação mais importantes.
Conteúdo Programatico
Cloud computing fundamentals
- What is cloud and where is it located?
- Technologies that enable cloud computing
- Types of clouds
- New service models: IaaS, PaaS, SaaS
- Cloud economy
Principles of cloud application design
- A minimal cloud app
- Cloud application building blocks
- Types of blocks: computing resources, storage, network infrastructure, managed services
- Cloud-native applications
- Multitenancy
- Design challenges: communications, scalability, handling the state
Designing application boundaries
- Types of traffic, virtual networks
- Routing with and without virtual private cloud networks
- Regions and points of presence
- Handling external requests: dynamic and static content
- Handling internal requests
- Traffic payment models
- Billing structure
Designing computations
- “Classic” servers, “elastic” servers, application runtime environments, containerization, serverless computations
- Main patterns: scalable monolith, composite application
Designing persistent data stores
- Basic storage capabilities: block, object, and file storage
- Key factors to assess data storage methods: data model, consistency, fault tolerance and availability, load
- Available DB options: relational, key-value, column families, etc
Solving coordination and integration tasks
- Challenges of remote communication
- Synchronous and asynchronous communication. Brokers, queues, Kafka, API gateways, and Service Mesh
Automation
- Overview of automation capabilities for design and operation
- Metrics selection
Addressing system qualities
- Network performance, traffic locality
- Security, fault tolerance
- Preventing cascading failures
Methods for cloud application design
- The Twelve-factor App, Well-Architected Framework