Visão Geral
Curso Microservices Engineering, Domine práticas técnicas e fundamentos de ferramentas para utilizar microsserviços como base para arquitetura de TI, engenharia de software e entrega de serviço / liberação.
Para profissionais de TI, desenvolvedores, engenheiros de software e profissionais de DevOps - o treinamento em microsserviços fornece as práticas técnicas e os fundamentos de ferramentas necessários para começar a perceber os benefícios dos microsserviços como base para a arquitetura de TI, engenharia de software e entrega de serviço / liberação.
Curso com exercícios práticos que fornecem a prática do mundo real nas ferramentas e habilidades de engenharia de que uma equipe precisa para implementar de forma realista seu próprio sabor de padrões de arquitetura de microsserviços para que você possa atender às necessidades de equipe de sua própria organização.
Se você deseja criar novos serviços, separar alguns serviços de sua arquitetura geral ou refatorar uma arquitetura monolítica inteira em um padrão de design de microsserviço, este curso ensina rapidamente o conjunto de ferramentas práticas e as habilidades para começar a trabalhar com microsserviços em seus próprios sistemas . Componentes e serviços fracamente acoplados permitem que as equipes implantem de forma mais livre e independente, com menos risco para a arquitetura.
Conteúdo Programatico
Intro to Microservices
- Optimize for speed, not efficiency
- Case Study: General Electric
- Throughput
- Waste
Amazon Web Services Case Study (SOA/Microservices)
- Problem: Scaling the Organization and the ‘Big ball of mud’
- Conway’s Law
- Service Oriented Architecture
- Forced Self Service Mandate
- Result: Amazon dominance of cloud
- Result: High velocity at scale
- Intro to Containers (encapsulation)
- What is Docker
- Exercise: Install Docker
- Exercise: Docker Hello World
- Docker ecosystem
- Docker concepts
- Container encapsulation/ideal use cases
- Encapsulation
- Speed
- Increased utilization of computing resources
- Benefits
- Configure once, run everywhere
- VM’s vs Container use cases
- Databases & stateless workloads
- Docker Architecture
- Exercise: Docker 101 - Web App
- Docker File System
- Docker Images
- Exercise: Stateless Web App
- Local Registry
- Data Volumes
- Exercise: Docker 201 - Compose Multi-tier app
- Continuous integration patterns
- Docker Security
- Continuous Integration
- Canary Release
- Blue Green Deployment
- A/B Testing
- Rolling Update
- Jenkins Plugin
Microservice challenge: Continuous Integration Service
- On-Premise
- Jenkins
- SaaS Service
- Shippable
- Jenkins
- TravisCI
- Exercise: Trigger build/tests from change
Microservices in Development
- Uber Case Study
- 2000 services, 1000 engineers
- Tradeoffs
- Plus - overall development speed
- Cons - technical challenges
Box Case Study
- Traditional service deployment with bare metal
- 10x faster workflow with DevOps practices
Microservice challenge: Image repository
- Docker repository development instance
- On-Premise Service
- Quay by CoreOS
- SaaS solution
- Docker Hub
- JFrog
Exercise: Submit image to service
Exercise: Pull image from service
Intro to Kubernetes (Containers at Google)
- Prerequisites
- Containers
- Linux Kernel Features
- Container User Experience
- New Container Capabilities
- Gaps using Containers in Production
Exercise: Kubernetes 100: Hello World
- Core Concepts
- Cluster Orchestration
- Originated at Google
- Open Source
- Benefits
- Design Principles
Architecture
- Master/Node
- Kubectl
- Replication Controller
- Kubelet
- Kube-Proxy
- Persistent Volumes
- Etcd
- High Availability
Exercise: Kubernetes 101: Stateless web app
Kubernetes Features
- Pods
- Labels
- Services
- Namespaces
- Resource Quota
Microservices in Production
- Spotify Case Study
- 810 Services, 477 engineers
Microservice challenge: Service discovery
- Skydns
- Consul
Exercise: Resolve service with DNS
Security
- Goals
- Roles
- Attribute Based Access Control
- Policies
- Service Accounts
- Secrets
Forth Microservice challenge: Secrets
- Vault
- Kubernetes Secrets API
Exercise: Kubernetes - Store database credentials in cluster
Cluster Add-ons
- Cluster DNS
- Logging with Elasticsearch and Fluentd
- Container Level Monitoring
- cAdvisor
- InfluxDB
- Prometheus
Exercise: Wordpress on Kubernetes
Managing state with disposable architectures
- Tradeoffs, standalone vs containerized databases
- CAP Theorem
- SQL Databases
- NOSQL Databases
Exercise: Cassandra on Kubernetes
Practicing Failure
- Optimize MTTR
Netflix Case Study
- Simian Army
- Graceful handling of failure
Putting it all together
- Why Microservices?
- Scale an organization
- Tradeoffs
- Fault Tolerance
- Throughput
- Waste
Kubernetes Alpha Features
- Multi-Datacenter Control Plane
- RBAC/Multi-tenancy
Openshift/Mesos/Other PaaS platforms
Exercise: Customize Microservice App
Exercise: Scale app for simulated demand
Review of Microservice Challenges
- Secure Images
- Highly available application
- Secrets
- Continuous Integration
- DNS Name resolution