kubernetes e vsts

32

Upload: concrete

Post on 15-Mar-2018

29 views

Category:

Technology


1 download

TRANSCRIPT

Kubernetes & VSTS

Automatize suas aplicações de forma rápida!

# whoami

Cristian Trucco

DevOps na Concrete.Especialista em Redes e Sistemas Linux.

Experiência em projetos e soluções Open Source.Experiência com cloud.

Padawan em Desenvolvimento de Sistemas usando linguagens OO.Formado em: Analise e Desenvolvimento de Sistemas.

Linkedin: https://www.linkedin.com/in/cristian-trucco-00613b53/Email: [email protected]

#!/bin/bash

Conteúdo

•Onde estamos?

•O que é Docker?

•O Kubernetes

•ALM e VSTS

•Fluxo de Desenvolvimento

•CI/CD usando o VSTS

•Demo.

Onde estamos?

O DevOps é a combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de

distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das

empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura.

Fonte: https://aws.amazon.com/pt/devops/what-is-devops

Tecnologias e Conceitos Envolvidos nesse talk

Git

Docker

Kubernetes

Devops

Aprendiz

Padawan

Jedi

Mestre Jedi

Onde Queremos estar?

Automatizar ambientes, rapidamente com alguns cliques.

Orquestrar infra de Containers automaticamente.

Executar rapidamente em qualquer lugar, realizar a mesma ação diversas vezes sem erros!

Redução de custo com equipes, reduzir drasticamente o tempo de setup, focar no que é realmente importante!

DOCKER

O que é Docker?

• É um empacotador de ambientes. • Permite criar ambientes portáveis• Suprir dependências, padronizar “ambientes” e

escalar de maneira rápida e fácil.• Facilita a orquestração de aplicações.• Melhor utilização dos recursos da máquina.

“Rode em qualquer lugar, em qualquer infra, em qualquer núvem..."

DockerfileInfraestrutura como código!

VM Container

Virtual Machine Container

BOAS PRÁTICAS!

Boas práticas

●Cada container com seu objetivo.

●Containers devem ser efêmeros.

●Reduzir o espaço consumido pelas imagens:○ Usar o .dockerignore;○ Minimizar o número de camadas;○ Multi-stage build;

Fonte: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

Multi-stage Build

1.75GB

219MB

O Kubernetes

O Kubernetes é uma plataforma portátil e extensível de código aberto, desenvolvido pela Google. A ferramenta foi criada para gerenciar cargas de trabalho e orquestrar serviços em contêineres.

Por que usar?Os aplicativos de produção abrangem múltiplos containers, que devem ser implantados em vários hosts do cluster. O Kubernetes oferece os recursos de orquestração e gerenciamento necessários para implantar containers em escala para essas cargas de trabalho.

C

L

U

S

T

E

R

K

U

B

E

R

N

E

T

E

S

Pods

A Pod é uma abstração do Kubernetes que representa um grupo de um ou mais contêineres.

Deployments

Services

Node

DEMO

Camada de atuação do Kubernetes

Master e Nodes

Principais vantagens do Kubernetes

● Orquestrar containers em vários hosts.

● Definir namespaces - ambientes isolados.● Alta disponibilidade dos serviços.● Autoscaling● Descoberta de Serviço.● Crescimento Horizontal● Balanceador de Carga● Rollbacks automáticos● Execução em Batch

ALM (Application Lifecycle Management) ou Gerenciamento do Ciclo de Vida de Aplicação.

FERRAMENTA de ALM

Quais os benefícios de usar essa ferramenta?

● Gestão do código fonte.

● Possibilidade de trabalhar com Git

● Metodologias ágeis como: Agile e Scrum.

● Integração Contínua e Entrega Contínua.

● Componentes amigáveis para montar pipeline.

● Plugins para várias ferramentas. Exemplo: Docker,

Kubernetes, Maven, Java, Dotnet, etc.

Visual Studio TeamServices

Fluxo de CI/CD

Docker host

Agente TFS

DEMO

Centro

Av. Presidente Wilson,

231 - 29º andar

(21) 2240-2030

Cidade Monções

Av. Nações Unidas,

11.541 - 3º andar

(11) 4119-0449

Savassi

Av. Getúlio Vargas, 671

Sala 800 - 8º andar

(31) 3360-8900

www.concrete.com.br