SlideShare uma empresa Scribd logo
TECNOLOGIAS E PROCESSO DE
DESENVOLVIMENTO NA
CODEMINER42 E NA LOCAWEB
POR TIAGO FREIRE (A.K.A. KURUMA)
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
TIAGO FREIRE (A.K.A KURUMA)
2
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
TIAGO FREIRE (A.K.A KURUMA)
‣ Ganhou o primeiro computador no
inicio da década de 90.
‣ Conheceu a internet por voltar de 1996
‣ Instalou o primeiro linux e começou a
aprender C em 1999
‣ Aprovado no curso de Ciência da
Computação da UFLA em 2004
3
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
TIAGO FREIRE (A.K.A KURUMA)
‣ Estagiário na Redes & Cia:
Consultoria em Redes Wireless
‣ Pesquisa em protocolos de
roteamento e segurança de Redes
Wireless
‣ Estagiário no DGTI (CIN UFLA)
4
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
POR ONDE PASSEI
LEMAF
‣ Desenvolvedor:
C#, JAVA
‣ Sysadmin:
VMWare / Linux / HP Blade Servers / GIT
‣ Rest / API
‣ Geoserver, Nginx e Performance
5
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
POR ONDE PASSEI
Mitah
‣ Java
‣ Problemas com desempenho
‣ Automatização
‣ Experimento com Ruby on Rails <3
6
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
POR ONDE PASSEI
Mobilizo Soluções Móveis
‣ Startup Brasil
‣ Produto com Ruby on Rails <3
‣ Ambiente automatizado com Vagrant <3
‣ Amazon Web Services (AWS)
7
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
POR ONDE PASSEI
Sensimob
‣ Empresa Americana
‣ StartUp Brasil
‣ Tech Lead
‣ Java / Javascript / Android / iOS / Ruby on Rails
‣ Geoprocessamento
‣ Amazon Web Services (AWS)
8
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
POR ONDE PASSEI
Hipcamp
‣ Empresa Americana
‣ Ruby on Rails
‣ Problemas de perfomance
9
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER 42
10
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
‣ Criada em 2011
‣ 3 fundadores
Fabio Akita
Rodrigo Abilheira
Daniel Pisano
11
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
‣ 2011
1 escritório em São Paulo
3 desenvolvedores
‣ ~ Julho de 2012
Escritório em Porto Alegre
Escritório em Fortaleza
Novo conceito: 2 desenvolvedores é o suficiente para abrir um novo
escritório
‣ Final de 2012
Projetos entregues para cliente importantes como: ESPN, Tim, Editora
Saraiva, Magazine Luisa, Locaweb, NetMovies, Olook, baby.com.br
Preparativos para a abertura do escritório em Natal
12
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
13
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
‣ 2015
+50 colaboradores
6 escritórios (São Paulo, Campinas,
Sorocaba, Natal, Novo Hamburgo, Teresina)
Projetos em andamento com mais de 20
clientes, incluindo:
No Brasil: Riot Games, Facebook, Locaweb, Leroy Merlin
No exterior: Westfield, StackSocial / StackCommerce, Majority
14
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Princípios
Quality, Care for Best Practices, Technical
Prowess
Self-Organized teams, Programmers that can
think as Independent and Reliable
Professionals
Avoidance of unnecessary Burn out; quality of
life; 5 days a week, 8 hours a day. Extras are
exceptional.
15
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Agilidade, ou ciclo de trabalho eficiente
Não tem gerentes ou coordenadores
Não segue receita de livros (Scrum, Lean…)
Analista de Negócios trata diretamente com o cliente
Desenvolvedores tratam diretamente com o cliente (Slack / Hangout /
Skype)
Indivíduo alocado em 1 único projeto
Desenvolvedores são tratados como independentes
Foco em entregar algo útil ao cliente
Ciclo de 1 semana, no máximo 2 semanas
Controle de riscos
16
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Visão Geral do Ciclo de Desenvolvimento
‣ História de Usuário
Pivotal Tracker
‣ Desenvolvimento e Review
Github
Travis
Code Climate
‣ Deploy em Staging
Heroku
‣ Review do cliente
Pivotal Tracker
‣ Deploy em produção
Heroku
‣ Aceite do cliente
Pivotal Tracker
17
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Ferramentas
e
práticas
18
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Pivotal Tracker
19
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Pivotal Tracker
‣ Tarefa / História de Usuário
Criada juntamente com o cliente
Descrição do que precisa ser entregue
Estimativa de tempo feita pelo desenvolvedor
‣ 1 ponto = 1/2 dia
‣ Tarefas, no geral, com no máximo 2 pontos
‣ Histórico de velocidade do desenvolvedor
‣ Medida de acertos nas estimativas do desenvolvedor
20
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Github
21
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Github
‣ Interface Web para o Git
‣ Git <3
Pequenos commits
Histórico do código
Distribuido (Backup)
‣ Pull Request
Descrição do que foi desenvolvido
Review com comentários e sugestões
22
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Travis CI
23
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Travis CI
‣ Continuous Integrations
‣ Garante que os testes automatizados estão
passando
‣ Garante que não funciona apenas na sua máquina
24
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Code Climate
25
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Code Climate
‣ Code Review automatizado
‣ Dá notas ao código
Qualidade
Estilo
Cobertura de Teste
‣ Aponta os problemas básicos
Segurança
‣ Nota máxima 4, mínimo aceitável 3,5
26
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Heroku
27
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Heroku
‣ Plataforma Cloud
‣ Deploy de forma simples (1 comando)
‣ Permite que o foco seja no desenvolvimento do
produto e não na infraestrutura
‣ Ambiente de staging é o mesmo que o de produção
‣ Escalável
‣ The 12 Factor-App (http://12factor.net/)
28
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Slack
29
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Slack
‣ Chat
‣ Diversas integrações
‣ Comunicação entre os escritórios
‣ Comunicação entre os times
‣ Comunicação entre os individuos
‣ Comunicação com os clientes
30
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Não existe apenas o lado sério…
31
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
32
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
33
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
34
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
35
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
36
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
‣ #Miners no Slack
‣ Happy Hours
‣ Almoços
‣ Churrascos nos escritórios
‣ Churrasco Pré RubyConf
‣ Videos do pessoal tocando no escritório
37
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Estamos contratando ;-)
become@codeminer42.com
38
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
39
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
IaaS
(Infraestrutura como Serviço)
‣ Serviço de Cloud
‣ Provisionamento de servidores virtuais
‣ Provisionamento de servidores bare metal (dedicado)
‣ Backups
‣ Firewalls
‣ Virtual Lan (VLAN)
‣ Load Balancer
40
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
‣ APIs
‣ Mais APIs
‣ Mais um pouco de APIs
‣ Micro serviços desde antes dos "Micro
Serviços"
‣ Painel do cliente
‣ Painel de administração
41
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Time
‣ P.O
‣ Coordenador
‣ 4 desenvolvedores backend
‣ 1 QA
‣ 1 Frontend
‣ 1 UX
‣ Uma turma em operações
42
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Visão Geral do Ciclo de Desenvolvimento
‣ Quarter planning
‣ História de Usuário
Kanbanery
‣ Desenvolvimento e Review
Gitlab
Jenkins
‣ Deploy em ambiente de QA
‣ Review do QA
‣ Change em produção
43
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Kanbanery
44
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Kanbanery
‣ Histórias de Usuários / Tasks
‣ Plano de teste
‣ Etapas: Backlog, Input, Doing, In
Sysint, QA, Waiting to Deploy e Done
‣ Métricas
45
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Gitlab
46
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Gitlab
‣ Interface Web para Git
‣ Git <3
‣ Open Source
‣ Várias integrações
‣ Gerenciado pela propria Locaweb
‣ Merge Request
Review com comentarios e sugestões
47
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Jenkins
48
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Jenkins
‣ Integração Continua
‣ Open Source
‣ Executa os testes automatizados
‣ Faz análise de código usando plugins e integrações
‣ Faz empacotamento Debian (.deb)
‣ Faz deploy do pacote no repositório Debian (interno)
‣ Faz deploy no ambiente de QA
‣ Gerenciado pela propria Locaweb
49
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Service Now
50
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Service Now
‣ Gerenciamento de Alterações
‣ Gerenciamento de Problemas
Reportados e Soluções
‣ ITIL
51
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Science e outras coisas legais…
52
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
53
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
Leela
‣ 23.023 servidores monitorados
‣ Core em Haskell
‣ C, Clojure, Python, Ruby…
‣ Cassandra DB (30 instâncias)
‣ 9 instâncias da aplicação
‣ Tamanho do Grafo em disco: 1.5GB
‣ Escritas/s: ~60000 métricas/segundo
‣ Leituras/s: ~100-1000 métricas/segundo
54
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
LOCAWEB
queroserdevlocaweb.com.br
55
CODEMINER42 E LOCAWEB: POR TIAGO FREIRE
CODEMINER42
Muito obrigado!
become@codeminer42.com
Contatos:
@akaKuruma
linkedin.com/in/tiagocfreire
tiago.freire@codeminer42.com
56

Mais conteúdo relacionado

Destaque

Apresentação tcc
Apresentação tccApresentação tcc
Apresentação tcc
Helton Cardoso
 
Importancia de losderechode autor inter
Importancia de losderechode autor interImportancia de losderechode autor inter
Importancia de losderechode autor inter
caryayuda
 
Tello y tapullima
Tello y tapullimaTello y tapullima
Tello y tapullima
leoaprendoyexpreso
 
vida
vida vida
vida
BrendaKar
 
2 ° Guerra Mundial
2 ° Guerra Mundial2 ° Guerra Mundial
2 ° Guerra Mundial
Anderson Silva
 
50916599 presentacion-rieb-en-power-rbr
50916599 presentacion-rieb-en-power-rbr50916599 presentacion-rieb-en-power-rbr
50916599 presentacion-rieb-en-power-rbrJudith Ferrer López
 
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
Guillermo Padrés Elías
 
Presupuesto de produccionmg
Presupuesto de produccionmgPresupuesto de produccionmg
Presupuesto de produccionmg
Manuel Gutierrez
 
12-05-2011 Guillermo Padrés acompañado del alcalde de Tucson, Bob Walkup, ...
12-05-2011 Guillermo Padrés  acompañado del alcalde de Tucson, Bob Walkup,  ...12-05-2011 Guillermo Padrés  acompañado del alcalde de Tucson, Bob Walkup,  ...
12-05-2011 Guillermo Padrés acompañado del alcalde de Tucson, Bob Walkup, ...
Guillermo Padrés Elías
 
2º B se pregunta... sobre San Martín.
2º B se pregunta... sobre San Martín.2º B se pregunta... sobre San Martín.
2º B se pregunta... sobre San Martín.
Zairaahom
 
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO: CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
Arauco 2030
 
Proyecto de-quimica-como-evitar-la-corrocion
Proyecto de-quimica-como-evitar-la-corrocionProyecto de-quimica-como-evitar-la-corrocion
Proyecto de-quimica-como-evitar-la-corrocion
Oswaldo Gasca
 
Sueno de-una-noche-estrellada-milespowerpoints.com
Sueno de-una-noche-estrellada-milespowerpoints.comSueno de-una-noche-estrellada-milespowerpoints.com
Sueno de-una-noche-estrellada-milespowerpoints.com
delsagonzalez
 
ATGP GESTÃO DE ATIVOS
ATGP GESTÃO DE ATIVOSATGP GESTÃO DE ATIVOS
ATGP GESTÃO DE ATIVOS
phdgodoy
 
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
Guillermo Padrés Elías
 
E paso noche
E paso nocheE paso noche
E paso noche
lizglez76
 
mediakitv9
mediakitv9mediakitv9
mediakitv9
Marco Rosner
 
Lagoas de tratamento
Lagoas de tratamentoLagoas de tratamento
Lagoas de tratamento
Bruna1478
 
Institucion
InstitucionInstitucion
Institucion
Jenny Rojas
 
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
Guillermo Padrés Elías
 

Destaque (20)

Apresentação tcc
Apresentação tccApresentação tcc
Apresentação tcc
 
Importancia de losderechode autor inter
Importancia de losderechode autor interImportancia de losderechode autor inter
Importancia de losderechode autor inter
 
Tello y tapullima
Tello y tapullimaTello y tapullima
Tello y tapullima
 
vida
vida vida
vida
 
2 ° Guerra Mundial
2 ° Guerra Mundial2 ° Guerra Mundial
2 ° Guerra Mundial
 
50916599 presentacion-rieb-en-power-rbr
50916599 presentacion-rieb-en-power-rbr50916599 presentacion-rieb-en-power-rbr
50916599 presentacion-rieb-en-power-rbr
 
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
02-03-2011 Guillermo Padrés entregó patrullas y equipo de seguridad a policía...
 
Presupuesto de produccionmg
Presupuesto de produccionmgPresupuesto de produccionmg
Presupuesto de produccionmg
 
12-05-2011 Guillermo Padrés acompañado del alcalde de Tucson, Bob Walkup, ...
12-05-2011 Guillermo Padrés  acompañado del alcalde de Tucson, Bob Walkup,  ...12-05-2011 Guillermo Padrés  acompañado del alcalde de Tucson, Bob Walkup,  ...
12-05-2011 Guillermo Padrés acompañado del alcalde de Tucson, Bob Walkup, ...
 
2º B se pregunta... sobre San Martín.
2º B se pregunta... sobre San Martín.2º B se pregunta... sobre San Martín.
2º B se pregunta... sobre San Martín.
 
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO: CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
CUMBRE NAHUELBUTA - DESARROLLO PRODUCTIVO:
 
Proyecto de-quimica-como-evitar-la-corrocion
Proyecto de-quimica-como-evitar-la-corrocionProyecto de-quimica-como-evitar-la-corrocion
Proyecto de-quimica-como-evitar-la-corrocion
 
Sueno de-una-noche-estrellada-milespowerpoints.com
Sueno de-una-noche-estrellada-milespowerpoints.comSueno de-una-noche-estrellada-milespowerpoints.com
Sueno de-una-noche-estrellada-milespowerpoints.com
 
ATGP GESTÃO DE ATIVOS
ATGP GESTÃO DE ATIVOSATGP GESTÃO DE ATIVOS
ATGP GESTÃO DE ATIVOS
 
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
10-03-2011 Guillermo Padrés en entrevista calificó esta gira muy fructífera, ...
 
E paso noche
E paso nocheE paso noche
E paso noche
 
mediakitv9
mediakitv9mediakitv9
mediakitv9
 
Lagoas de tratamento
Lagoas de tratamentoLagoas de tratamento
Lagoas de tratamento
 
Institucion
InstitucionInstitucion
Institucion
 
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
26-11-2012 El Gobernador Guillermo Padrés acompañado del presidente Felipe Ca...
 

Semelhante a Tecnologias e processo de desenvolvimento na Codeminer42 e Locaweb

12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
Waldemar Neto
 
12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords
Fernando Ruaro
 
GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?
Wender Machado
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCD
Rodrigo Souza
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
minastestingconference
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega Contínua
Samanta Cicilia
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)
Better Developer
 
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
tdc-globalcode
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
Agile_Curitiba
 
Clean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterClean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e Flutter
Ricardo Ogliari
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
Pamela Canchanya
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
4Soft
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Samanta Cicilia
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
Henrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
Willy Salazar
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius Quaiato
Vinicius Quaiato
 
Zabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensourceZabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensource
Filipe Paternot
 
Times plataforma-tdc2020
Times plataforma-tdc2020Times plataforma-tdc2020
Times plataforma-tdc2020
Leonardo Ferreira Leite
 
Desenvolvedor no controle utilizando tdd
Desenvolvedor no controle utilizando tddDesenvolvedor no controle utilizando tdd
Desenvolvedor no controle utilizando tddVictor Serta
 
Pipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbotPipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbot
Lappis UnB
 

Semelhante a Tecnologias e processo de desenvolvimento na Codeminer42 e Locaweb (20)

12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
 
12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords
 
GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?GraphQL - aposta ou retrocesso?
GraphQL - aposta ou retrocesso?
 
Continuous Delivery com ArgoCD
Continuous Delivery com ArgoCDContinuous Delivery com ArgoCD
Continuous Delivery com ArgoCD
 
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
Alcançando Qualidade de Software: Entrega Contínua - Samanta Cicilia
 
Minas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega ContínuaMinas Testing Conference - Entrega Contínua
Minas Testing Conference - Entrega Contínua
 
Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)Do código à produção com Gitlab (mundo python)
Do código à produção com Gitlab (mundo python)
 
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
Agilidade não é para desenvolvedores - Agile Curitiba Conference 2018
 
Clean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e FlutterClean Code/Architecture com Android e Flutter
Clean Code/Architecture com Android e Flutter
 
Continious Delivery in practice - POA Meetup
Continious Delivery in practice - POA MeetupContinious Delivery in practice - POA Meetup
Continious Delivery in practice - POA Meetup
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Curso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius QuaiatoCurso ASP.NET MVC 3 - Vinicius Quaiato
Curso ASP.NET MVC 3 - Vinicius Quaiato
 
Zabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensourceZabbix meetup RJ: Integrações e opensource
Zabbix meetup RJ: Integrações e opensource
 
Times plataforma-tdc2020
Times plataforma-tdc2020Times plataforma-tdc2020
Times plataforma-tdc2020
 
Desenvolvedor no controle utilizando tdd
Desenvolvedor no controle utilizando tddDesenvolvedor no controle utilizando tdd
Desenvolvedor no controle utilizando tdd
 
Pipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbotPipeline de deploy continuo (DevOps) de chatbot
Pipeline de deploy continuo (DevOps) de chatbot
 

Tecnologias e processo de desenvolvimento na Codeminer42 e Locaweb

  • 1. TECNOLOGIAS E PROCESSO DE DESENVOLVIMENTO NA CODEMINER42 E NA LOCAWEB POR TIAGO FREIRE (A.K.A. KURUMA)
  • 2. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE TIAGO FREIRE (A.K.A KURUMA) 2
  • 3. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE TIAGO FREIRE (A.K.A KURUMA) ‣ Ganhou o primeiro computador no inicio da década de 90. ‣ Conheceu a internet por voltar de 1996 ‣ Instalou o primeiro linux e começou a aprender C em 1999 ‣ Aprovado no curso de Ciência da Computação da UFLA em 2004 3
  • 4. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE TIAGO FREIRE (A.K.A KURUMA) ‣ Estagiário na Redes & Cia: Consultoria em Redes Wireless ‣ Pesquisa em protocolos de roteamento e segurança de Redes Wireless ‣ Estagiário no DGTI (CIN UFLA) 4
  • 5. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE POR ONDE PASSEI LEMAF ‣ Desenvolvedor: C#, JAVA ‣ Sysadmin: VMWare / Linux / HP Blade Servers / GIT ‣ Rest / API ‣ Geoserver, Nginx e Performance 5
  • 6. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE POR ONDE PASSEI Mitah ‣ Java ‣ Problemas com desempenho ‣ Automatização ‣ Experimento com Ruby on Rails <3 6
  • 7. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE POR ONDE PASSEI Mobilizo Soluções Móveis ‣ Startup Brasil ‣ Produto com Ruby on Rails <3 ‣ Ambiente automatizado com Vagrant <3 ‣ Amazon Web Services (AWS) 7
  • 8. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE POR ONDE PASSEI Sensimob ‣ Empresa Americana ‣ StartUp Brasil ‣ Tech Lead ‣ Java / Javascript / Android / iOS / Ruby on Rails ‣ Geoprocessamento ‣ Amazon Web Services (AWS) 8
  • 9. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE POR ONDE PASSEI Hipcamp ‣ Empresa Americana ‣ Ruby on Rails ‣ Problemas de perfomance 9
  • 10. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER 42 10
  • 11. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 ‣ Criada em 2011 ‣ 3 fundadores Fabio Akita Rodrigo Abilheira Daniel Pisano 11
  • 12. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 ‣ 2011 1 escritório em São Paulo 3 desenvolvedores ‣ ~ Julho de 2012 Escritório em Porto Alegre Escritório em Fortaleza Novo conceito: 2 desenvolvedores é o suficiente para abrir um novo escritório ‣ Final de 2012 Projetos entregues para cliente importantes como: ESPN, Tim, Editora Saraiva, Magazine Luisa, Locaweb, NetMovies, Olook, baby.com.br Preparativos para a abertura do escritório em Natal 12
  • 13. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 13
  • 14. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 ‣ 2015 +50 colaboradores 6 escritórios (São Paulo, Campinas, Sorocaba, Natal, Novo Hamburgo, Teresina) Projetos em andamento com mais de 20 clientes, incluindo: No Brasil: Riot Games, Facebook, Locaweb, Leroy Merlin No exterior: Westfield, StackSocial / StackCommerce, Majority 14
  • 15. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Princípios Quality, Care for Best Practices, Technical Prowess Self-Organized teams, Programmers that can think as Independent and Reliable Professionals Avoidance of unnecessary Burn out; quality of life; 5 days a week, 8 hours a day. Extras are exceptional. 15
  • 16. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Agilidade, ou ciclo de trabalho eficiente Não tem gerentes ou coordenadores Não segue receita de livros (Scrum, Lean…) Analista de Negócios trata diretamente com o cliente Desenvolvedores tratam diretamente com o cliente (Slack / Hangout / Skype) Indivíduo alocado em 1 único projeto Desenvolvedores são tratados como independentes Foco em entregar algo útil ao cliente Ciclo de 1 semana, no máximo 2 semanas Controle de riscos 16
  • 17. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Visão Geral do Ciclo de Desenvolvimento ‣ História de Usuário Pivotal Tracker ‣ Desenvolvimento e Review Github Travis Code Climate ‣ Deploy em Staging Heroku ‣ Review do cliente Pivotal Tracker ‣ Deploy em produção Heroku ‣ Aceite do cliente Pivotal Tracker 17
  • 18. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Ferramentas e práticas 18
  • 19. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Pivotal Tracker 19
  • 20. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Pivotal Tracker ‣ Tarefa / História de Usuário Criada juntamente com o cliente Descrição do que precisa ser entregue Estimativa de tempo feita pelo desenvolvedor ‣ 1 ponto = 1/2 dia ‣ Tarefas, no geral, com no máximo 2 pontos ‣ Histórico de velocidade do desenvolvedor ‣ Medida de acertos nas estimativas do desenvolvedor 20
  • 21. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Github 21
  • 22. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Github ‣ Interface Web para o Git ‣ Git <3 Pequenos commits Histórico do código Distribuido (Backup) ‣ Pull Request Descrição do que foi desenvolvido Review com comentários e sugestões 22
  • 23. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Travis CI 23
  • 24. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Travis CI ‣ Continuous Integrations ‣ Garante que os testes automatizados estão passando ‣ Garante que não funciona apenas na sua máquina 24
  • 25. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Code Climate 25
  • 26. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Code Climate ‣ Code Review automatizado ‣ Dá notas ao código Qualidade Estilo Cobertura de Teste ‣ Aponta os problemas básicos Segurança ‣ Nota máxima 4, mínimo aceitável 3,5 26
  • 27. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Heroku 27
  • 28. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Heroku ‣ Plataforma Cloud ‣ Deploy de forma simples (1 comando) ‣ Permite que o foco seja no desenvolvimento do produto e não na infraestrutura ‣ Ambiente de staging é o mesmo que o de produção ‣ Escalável ‣ The 12 Factor-App (http://12factor.net/) 28
  • 29. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Slack 29
  • 30. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Slack ‣ Chat ‣ Diversas integrações ‣ Comunicação entre os escritórios ‣ Comunicação entre os times ‣ Comunicação entre os individuos ‣ Comunicação com os clientes 30
  • 31. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Não existe apenas o lado sério… 31
  • 32. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 32
  • 33. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 33
  • 34. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 34
  • 35. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 35
  • 36. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 36
  • 37. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 ‣ #Miners no Slack ‣ Happy Hours ‣ Almoços ‣ Churrascos nos escritórios ‣ Churrasco Pré RubyConf ‣ Videos do pessoal tocando no escritório 37
  • 38. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Estamos contratando ;-) become@codeminer42.com 38
  • 39. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB 39
  • 40. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB IaaS (Infraestrutura como Serviço) ‣ Serviço de Cloud ‣ Provisionamento de servidores virtuais ‣ Provisionamento de servidores bare metal (dedicado) ‣ Backups ‣ Firewalls ‣ Virtual Lan (VLAN) ‣ Load Balancer 40
  • 41. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB ‣ APIs ‣ Mais APIs ‣ Mais um pouco de APIs ‣ Micro serviços desde antes dos "Micro Serviços" ‣ Painel do cliente ‣ Painel de administração 41
  • 42. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Time ‣ P.O ‣ Coordenador ‣ 4 desenvolvedores backend ‣ 1 QA ‣ 1 Frontend ‣ 1 UX ‣ Uma turma em operações 42
  • 43. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Visão Geral do Ciclo de Desenvolvimento ‣ Quarter planning ‣ História de Usuário Kanbanery ‣ Desenvolvimento e Review Gitlab Jenkins ‣ Deploy em ambiente de QA ‣ Review do QA ‣ Change em produção 43
  • 44. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Kanbanery 44
  • 45. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Kanbanery ‣ Histórias de Usuários / Tasks ‣ Plano de teste ‣ Etapas: Backlog, Input, Doing, In Sysint, QA, Waiting to Deploy e Done ‣ Métricas 45
  • 46. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Gitlab 46
  • 47. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Gitlab ‣ Interface Web para Git ‣ Git <3 ‣ Open Source ‣ Várias integrações ‣ Gerenciado pela propria Locaweb ‣ Merge Request Review com comentarios e sugestões 47
  • 48. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Jenkins 48
  • 49. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Jenkins ‣ Integração Continua ‣ Open Source ‣ Executa os testes automatizados ‣ Faz análise de código usando plugins e integrações ‣ Faz empacotamento Debian (.deb) ‣ Faz deploy do pacote no repositório Debian (interno) ‣ Faz deploy no ambiente de QA ‣ Gerenciado pela propria Locaweb 49
  • 50. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Service Now 50
  • 51. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Service Now ‣ Gerenciamento de Alterações ‣ Gerenciamento de Problemas Reportados e Soluções ‣ ITIL 51
  • 52. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Science e outras coisas legais… 52
  • 53. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB 53
  • 54. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB Leela ‣ 23.023 servidores monitorados ‣ Core em Haskell ‣ C, Clojure, Python, Ruby… ‣ Cassandra DB (30 instâncias) ‣ 9 instâncias da aplicação ‣ Tamanho do Grafo em disco: 1.5GB ‣ Escritas/s: ~60000 métricas/segundo ‣ Leituras/s: ~100-1000 métricas/segundo 54
  • 55. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE LOCAWEB queroserdevlocaweb.com.br 55
  • 56. CODEMINER42 E LOCAWEB: POR TIAGO FREIRE CODEMINER42 Muito obrigado! become@codeminer42.com Contatos: @akaKuruma linkedin.com/in/tiagocfreire tiago.freire@codeminer42.com 56