sailing delivery - amazon s3€¦ · “continuous delivery é a habilidade de ter mudanças de...

34
SAILING DELIVERY Continuous Delivery inside containerized environments

Upload: others

Post on 13-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

SAILING DELIVERYContinuous Delivery inside containerized environments

Page 2: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoami $ history | less

Gabriel Tiossitioxy.com

2015 Primeiro contato com AWS

2016 Desenvolvedor de ASP MVC 5 & Winforms

2017 Pythonista focado em projetos de CI/CD, automação e containers 2018 Criador do tioxy/panoptes e em busca do SRE

(END)

@tioxy

Page 3: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Agenda

Continuous Delivery

SpinnakerSeparando CI de CD

Demo

Page 4: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Continuous Delivery

Page 5: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiO que é ?

“Continuous Delivery é a habilidade de ter mudanças de todos os tipos

(incluindo novas funcionalidades, mudanças de configuração, bug fixes e

experimentos) em produção ou para o usuário final, de maneira rápida,

segura e sustentável.” — continuousdelivery.com

Page 6: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiO que é ?

“Continuous Delivery é a habilidade de ter mudanças de todos os tipos

(incluindo novas funcionalidades, mudanças de configuração, bug fixes e

experimentos) em produção ou para o usuário final, de maneira rápida,

segura e sustentável.” — continuousdelivery.com

TL;DR Estar pronto para um deploy 11 AM

SEM MEDO

Page 7: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiPor que usar?

Page 8: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiPor que usar?

Page 9: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiDelivery != Deployment

Continuous DeploymentCDCI + + =Auto

Continuous Integration

ContinuousDelivery

Deployem PROD

Page 10: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Separando CI de CD

Page 11: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiPipelines de CI fazendo CD ?!

Construir

Testar

Armazenar & Versionar

Entregar

Page 12: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiJenkins fazendo CD

stage('Deployment'){

steps{

sh '/path/my-magic-deployment.sh'

}

}

Page 13: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiJenkins fazendo CD

stage('Deployment'){

steps{

sh '/path/my-magic-deployment.sh'

}

}

Page 14: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes
Page 15: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

“Spinnaker é uma plataforma de

Continuous Delivery open source

e multi-cloud para releases de

software com alta velocidade e

confiança.”

— Spinnaker.io

Page 16: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Página Applications na versao 1.9.4

Page 17: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiArquitetura

Page 18: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiInstalação fácil...

Local (Git, Debian)

Distributed (Kubernetes)

Halyard hal

Page 19: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiInstalação fácil… (K8S)

Page 20: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiInstalação fácil… (K8S)

Page 21: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiInstalação fácil… (K8S)

Page 22: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiInstalação fácil...

Provider

Account A

Account B

Account C

Page 23: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiMas também difícil! (GKE + K8S)

Page 24: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiMas também difícil! (GKE + K8S)

Page 25: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Mas também difícil! (GKE + K8S)

Page 26: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Mas também difícil! (GKE + K8S)

NÃO FUNCIONA :(

Page 27: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiMas também difícil! (GKE + K8S)

2018-12-05 02:12:20.941 WARN 1 --- [ecutionAction-1] c.n.s.c.k.v.s.KubernetesV2Credentials:

Could not list namespaces for account my-k8s-v2-account: Failed to read [namespace] from : Error from server (Forbidden): namespaces is forbidden: User "system:serviceaccount:spinnaker:default" cannot list namespaces at the cluster scope

Page 28: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiO que eu ganho?

Gerência de deployments Multicloud

Deploy com análise de métricas

Definições de estratégias customizadas

Criação de imagens via Packer

Deploy de manifests via Helm

Page 29: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiEditor de Pipelines

Page 30: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiIntegrações

… e mais outras disponíveis na doc.

Page 31: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Quando é uma opção?

Parque já é Netflix OSS

Deployments complexos

Escalabilidade

Muito dinheiro !!!

Page 32: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

Demo

Page 33: SAILING DELIVERY - Amazon S3€¦ · “Continuous Delivery é a habilidade de ter mudanças de todos os tipos (incluindo novas funcionalidades, mudanças de configuração, bug fixes

$ whoamiStack