java para líderes e gerentes · sox é uma forma encontrada pelo governo para estabelecer recursos...

42
Globalcode – Open4education https://br.linkedin.com/in/matsumota http://leonardo-matsumota.com/ https://imasters.com.br/perfil/leonardomatsumota Trilha DevOps Leonardo Matsumota Habilitando o Continuous Deployment em empresas regidas por compliance

Upload: others

Post on 17-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

https://br.linkedin.com/in/matsumota

http://leonardo-matsumota.com/

https://imasters.com.br/perfil/leonardomatsumota

Trilha DevOps

Leonardo Matsumota

Habilitando o Continuous Deployment em empresas regidas por compliance

Page 2: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Livro Jornada DevOps

Livro Jornada DevOps – 33 colaboradores

Page 3: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Se você não sabe

para onde ir,

qualquer caminho

serve.

Lewis Carroll

Page 4: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

Page 5: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

Estratégicos

Page 6: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

Operacionais

> Defeitos são liberados a produção, causando interrupções

> Incapacidade de diagnosticar problemas em produção rapidamente

> Problemas aparecem somente em um ambiente específico

> Blame shifting / finger pointing

> Dificuldade em colocar novas releases em produção

> Erro Manual é comumente identificado com causa raiz

Page 7: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> As recomendações são mesmo aplicáveis ao seu ambiente?

Page 8: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> Existe silo entre Dev e Ops?

Dev

Precisa responder

rapidamente às

necessidades do

negócio

Ops

Precisa manter os

ambientes estáveis e

resilientes (qualquer

alteração deve ser feita

com muito cuidado)

Page 9: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> Verifique seus dados

Machine Learning Service DeskOpinião de

especialistas

Page 10: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> Throughput e Stability

T

H

R

O

U

G

H

P

U

T

S

T

A

B

I

L

I

T

Y

Page 11: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> Alavancagem estratégica

MVPs (minimum viable product)

Build-Measure-Learn-Loop

Time to market

Testes A/B

Page 12: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

> Assessment

Possui questões em áreas chaves:

- Processo- Tecnologia e automação- Cultura- Monitoramento- Resultados

Ajudam no direcionamento dodesenvolvimento e entrega de sw

Page 13: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O problema a ser resolvido

Doc teste técnico

Doc homologação

Doc publicação 17% 33%50%

Problema: Alto tempo em Change Management - SOX

(em documentações manuais e aprovações)

Page 14: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O que é SOX?Sarbanes-Oxley (SOX)

É uma Lei Norte Americana sancionada

em 2002 em resposta aos escândalos

financeiros americanos (Xerox, Bristol,

Parmalat e outras).

SOX é uma forma encontrada pelo

governo para estabelecer recursos legais

nos preceitos básicos da governança

corporativa e das práticas empresariais

éticas.

O que é auditado?

• ITGC (IT General Control)

• Contas genéricas

• Senha

• Acesso privilegiado

• Revisão de acesso

• Backup, etc.

RDM (Requisição da mudança)

• Evidência do Teste Técnico

• Homologação

• Procedimento de publicação

Page 15: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

O que é SOX?Frases comuns nestes ambientes:

Desafiando o status quo...

• DevOps não é aplicável a organizações de capital aberto

• Não é compliance!

• Isso não pode, pois vai dar problema na auditoria

• Cloud não é seguro

Trabalhe junto com Controles Internos e Segurança da Informação para aplicar

Kaizen, afim de trazer melhorias ao processo organizacional

Page 16: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Problem

Solving

Page 17: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Os pilares da mudança

• Cross Functional Team

• Sem pessoas não há processo

• Engajamento com CI

• Comunicação

• Patrocinio

• Conhecimento

• Meetups

• Hackatons

• Tecnologia Social

(Slack, Wiki, etc.)

Processos Pessoas Ferramentas

• Boas práticas de desenvolvimento

• Processo de CI/CD

• Governança Ágil

• Arquitetura, Microserviços e APIs

• Containers, Infra as Code e Cloud

Page 18: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Cadência Ágil

· Visibilidade nas tarefas que estão sendo

concluídas

· Adaptabilidade à mudança de requisitos

ou estratégia

· Alinhamento c/ prioridades do negócio

· Previsibilidade em time boxes menores

· Gerenciamento de dependência

· Os built-in controls minimizam o risco de

produzir desperdício e falta de progresso:

Eventos, Inspeções, Guardião e DoD

Gestão Ágil e DevOps

Page 19: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Gestão Ágil e DevOps

Processos & Cultura

· Times multifuncionais

· Gamification em CI/CD: testes

unitários e qualidade do código

· Tecnologia social: tomada de

decisões e formação de ideias

· “Built-in quality”: qualidade

desde o início; o time é

responsável pela qualidade

· Boas práticas desenvolvimento

Page 20: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Gestão Ágil e DevOps

Tecnologia

· Controle de versionamento fontes

· Revisão de código - SonarQube e

pair programming

· CI/CD - processo de build e release

· Gestão da configuração

· The Testing Manifesto

· Ciclo de vida da aplicação

Page 21: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Azure PipelinesAzure Boards Azure Repos

Azure ArtifactsAzure Test Plans Marketplace de extensões

ALM (Ciclo de vida da aplicação)

Page 22: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

BoardsEstruturar os times de projeto.... .... e o template do processo Scrum

Agile

CMMI

Page 23: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

BoardsDefinir a cadência dos times Backlog: Epic - Feature - User Story - Task

Grandes iniciativas para entrega de novos produtos.Compreende uma grande quantidade de features

EPIC

FEATURE

USER STORY

Provém valor para os usuários. Realizado por estórias. Sãocapabilities que o PO está interessado

Representa a necessidade do usuário. Possui três aspectoscríticos 3 C’s (Cartão/Conversa/Confirmação)

Page 24: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Continuous Delivery

“Perhaps the most important practice that

makes continuous integration possible is

that everybody checks in to mainline at least

once a day. If you’re not doing that, you’re

not doing continuous integration”.

Jez Humble, David Farley

Page 25: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

ReposConfiguration Management – Estratégia de fontes

As práticas de Continuous Integrationencorajam os Devs a integrar o seutrabalho continuamente - um novo códigofonte (branch ou trunk) ao principal(main).

Permite ajustes frequentes nos códigos,entregas rápidas e com menos bug.

Page 26: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

ReposConfiguration Management – Estratégia de fontes

ALM (Application Lifecycle Management)

• Developers: TDD, BDD and Unit Tests

• QA: manual, exploratory, load, security and performance test

Três aspectos importantes de CI:1) Controle de versão2) Build automatizado3) Acordo do time

Alguns pré-requisitos da CI:• Check in frequente• Suíte de testes abrangente• Processo de Build e Teste curto• Gerenciar o workspace de desenv.

Page 27: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

PipelineDefinições de Build

✓ Qualidade - análise de código

✓ Versionamento

✓ Definição de tarefas

✓ Compilação do código-fonte

✓ Cobertura de testes

Page 28: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

PipelineDefinições de Release

✓ Promoção de novas releases em ambientes

✓ Gatilho de testes automatizados (serviços, APIs)

✓ Assegurar que as necessidades do usuário

tenham sido atendidas

Page 29: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Integração contínua

Algumas práticas recomendadas para as equipes:

• Builds devem passar no coffee test (< 5 minutos)

• Não fazer check in de build com falha

• Não vá embora com um build quebrado

• Esteja sempre preparado para reverter a revisão anterior

• Defina um time box antes de reverter• Ex: em 10 minutos se não obtiver a solução, reverter a revisão

anterior

• TDD (Test Driven Development)

Jez Humble: “The goal of continuous integration is that

software is in a working state all the time”.

Page 30: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

PipelineGerenciamento de Configuração e Orquestração

Apoiam a automação da infraestrutura na

organização. A gestão eficiente considera:

• Operação em larga escala

• Configuração e orquestração

• Provisionamento de ambientes

• Distribuição de recursos

• Desempenho e confiabilidade

• Integrado ao pipeline de CI/CD

Page 31: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Testes

Agile Testing Quadrants

• Q1: TDD is the main technique. Not visible to customers. Usually in CI process. Includes code quality (SonarQube, etc.)

• Q2: BDD is the main technique. More related to external quality in application (visible to customers). Automated functional tests (Services, API and webservices) and record playback

• Q3: ensure customers needs have been met. Customer is involved in the execution.

• Q4: technical evaluation (load, security and performance test)

Unit Tests

Q1

Functional / BDD /

Record playback

Q2 Q3

Exploratory /

UsabilityLoad /

Performance /

Security

Q4

Page 32: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Traditional x Agile

Symbio Test Automation

• Traditional: “find bugs” - manual tests are the greatest effort

• Agile: “prevent bugs” - unit tests are automated and represent 70% in application tests

Testes

Page 33: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Change Management

Azure DevOps

Ciclo de vida da aplicação.

• Boards: gestão das tasks e recursos

• Repos: código-fonte e versionamento

• Pipeline: build e release

• Test Plans: plano de testes

ServiceNow

A solução de IT Service Management utilizada

na empresa - Incident Management, Problem

Management, e Request Management

Page 34: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Change Management

Azure DevOps

Work items preenchidos

c/ os campos necessários

na gestão da mudança

Abertura de ticket e envio

dos campos Service Now

Sprint Planning

1

Desenvolvimento

2

Azure DevOps e .Net

Desenvolvimento do

backlog da Sprint.

Check-ins associados

ao WI

Teste Técnico

3

Azure DevOps

Evidência do teste

técnico no processo de

CI (SonarQube, testes

automatizado, etc.)

Homologação

4

Azure DevOps

Validação do usuário

(formalização via request

feedback)

Envio das evidências e

solicita a aprovação da

RDM no Service Now

5

Aprovação

e Deploy

Service Now

Aprovação GMUD

Azure DevOps

Deploy da aplicação

Page 35: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Change Management1 Evidência do Teste Técnico

ANTES

▪ Execução de script manual

▪ Evidência do funcionamento

DEPOIS

▪ Quality Gates

– SonarQube

(Aplica política

de qualidade

na empresa)

▪ Cobertura de

código (testes

unitários)

Page 36: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Change Management

DEPOIS

2 Homologação

ANTES

▪ Etapas manuais

▪ Sem integração com ferramenta

✓ Planos de Teste (vinculado ao Work Item) e automação

✓ Request feedback

✓ Com gravação ou screenshot

✓ Abertura de bug

Page 37: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Change Management

DEPOIS

3 Procedimento de publicação

ANTES

▪ Passo-a-passo da publicação

▪ Todas etapas feitas manualmente

✓ Controle de releases

✓ Integração e aprovação na ferramenta para publicação

Page 38: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Ferramentas

✓ Compartilhar e documentar info

✓ Automatizar KPIs e monitoramento

✓ ALM e segurança

✓ Infra as Code

✓ Versionamento e qualidade de código

✓ Automação de testes, build e release

Collaborative Tools

Wiki VSTS

Data Analysis Project Portfolio Hosting

Test Manager Automation Quality Version Control

Release Automation

Security

Development

Page 39: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

MonitoramentoMonitoramento da Sprint

Como está o progresso da Sprint?

(Burndown e Burnup)

Há bloqueios?

A velocidade do time

Distribuição das tarefas

Vazão x capacidade

Page 40: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Monitoramento1. Service performance e uptime

2. Performance

3. Segurança

4. App metrics

5. Componentes da aplicação

6. CI/CD Process

1. Status da aplicação: verifica se o funcionamento dos serviços2. Checa tags e funções que os usuários terão experiência de uso3. Bad TLS, TLS settings, reset de senha, IPs de faixa inválida, erro 401, etc.

4. Telemetria da aplicação (checa o comportamento). Ex: número de logins na última hora

5. APIs – transações, throughput, error rate, etc.6. Pipeline de build e release

Page 41: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

Globalcode – Open4education

Inscrição – Jornada DevOps 17/08

Page 42: Java para Líderes e Gerentes · SOX é uma forma encontrada pelo governo para estabelecer recursos legais nos preceitos básicos da governança corporativa e das práticas empresariais

OBRIGADO!!!!!!Leituras recomendadas