Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Centro de Informtica
projetos DevOps
Trabalho de Graduao
Centro de Informtica
projetos DevOps
2
Universidade Federal de Pernambuco
Centro de Informtica
projetos DevOps
Aprovado em ___/___/___
BANCA EXAMINADORA
___________________________________________________
___________________________________________________
3
Agradecimentos
Primeiramente, agradeo a Deus, pois ele a causa primeira e sem a sua mis-
ericrdia, eu jamais estaria escrevendo este texto. Deus colocou no meu caminho
muitas pessoas especiais, que me ajudaram nessa rdua caminhada e quero
agradecer a algumas delas.
Quero agradecer queles que me so muito caros e que sem eles eu no con-
seguiria fazer o curso de Sistemas de Informao. Agradeo a Carina Souza, minha
amada esposa, que teve muita pacincia comigo durante essa caminhada, pois
sempre me incentivou e me deu foras para que eu no desistisse. Outra pessoa
muito importante a Aparecida Arajo, minha me, que me criou com muito zelo e
amor, possibilitando que eu chegasse at aqui. Quero agradecer aos meus sogros
Luiz Francisco da Mota e Caselinda Maria Silva da Mota, que me deram uma fora
muito grande, alm de sempre acreditarem em mim. Com certeza, sem essas pes-
soas eu no teria chegado at aqui.
Quero agradecer aos colegas do Cin, que durante a graduao fizeram parte
da minha trajetria. Em particular Paulo Viana, que se tornou um grande amigo.
Por fim, quero agradecer a Fernando Carvalho (Fish), que me ajudou na re-
viso do texto e no entendimento do trabalho. Tambm me ensinou muito no tempo
em que trabalhamos juntos, na Ustore.
4
Resumo
5
Abstract
After the creation of the Agile Manifesto and the popularization of agile
methodologies in software development, many ways to further optimize the pro-
cesses of development have been studied. These studies, noteworthy are the at-
tempts to insert the ideology of Lean in software development. In 2003, a study
made possible this adaptation, giving the Software Engineer and more an important
goal, namely, the elimination of waste, the reaction still faster to changes in require-
ments and a greater increase in the quality, giving rise to the practice of continuous
Software Engineering. These practices include the integration, delivery and deploy-
ment, continuous. On the basis of these practices, an attempt of approaching the
software development teams and the operations teams of the companies, it
emerged in the DevOps, that in addition to promoting the alignment of these teams
still use all the practices continued, so that it is possible to cover all sectors of the
organization with this culture. For that the practices of continuous mentioned are
carried out, it is necessary that all the stages of the pipeline are automated. With this
goal, many tools are created through companies that you see on the automation of
processes to a lucrative market or community DevOps, which is very active and
constantly develops new tools. With such a large amount of tools, comes the ques-
tion of what is appropriate, if you create a new project or on the initiative of the mi-
gration of an existing project to the practices of DevOps.
6
Lista de abreviaturas, siglas e smbolos
ES Engenharia de Software
XP Extreme Programing
IC Integrao Contnua
EC Entrega Contnua
DC Deploy Contnuo
UI Interface do Usurio
7
ndice de imagens
Figura 1. Continuous * - O conjunto de todas as prticas contnuas ....................... 26
8
Sumrio
1. INTRODUO................................................................................................ 13
1.1 CONTEXTO ....................................................................................................13
3.1.1 REQUISITOS...............................................................................................37
10
3.1.6 COMUNICAO E FEEDBACK..................................................................40
3.2.3 WEBSITE.....................................................................................................41
5. CONSIDERAES FINAIS..............................................................................51
5.1 LIMITAES ..................................................................................................51
11
5.3 CONCLUSO ................................................................................................52
12
1. Introduo
1.1 Contexto
13
As Metodologias Tradicionais foram criadas para o contexto da poca visando
os mainframes e os terminais burros [18], entretanto com o avano da tecnologia,
surgiram alternativas de menor custo, o que ajudou a acelerar o surgimento da
globalizao, que por sua vez, abriu novos mercados, gerando uma concorrncia a
nvel mundial. Nesse momento, a competitividade das empresas aumentou severa-
mente, tornando os modelos tradicionais incompatveis, devido a grande demanda
por produtos de software [2, 16]. As Metodologias Tradicionais passaram a ser en-
caradas como pesadas e orientadas a documentao [2, 16, 17, 24] e na dcada de
1980, muitos pesquisadores e desenvolvedores publicaram artigos com o objetivo
de divulgar dados que informavam sobre os problemas que ocorriam com o uso
dessas metodologias no desenvolvimento de software [16, 17]. As mudanas con-
stantes nos projetos e as incertezas nos requisitos converteram o desenvolvimento
de software em uma atividade muito mais dinmica, inviabilizando o levantamento
dos requisitos de forma estvel, como era exigido nos modelos tradicionais,
atrasando o cronograma dos projetos ao postergar a entrega para muito alm do
prazo acordado inicialmente [16]. Esta falta de agilidade dos projetos utilizando
mtodos tradicionais se tornou sria, de modo que alguns projetos ao chegarem na
sua fase final com o software j disponvel para uso, o mesmo j havia se tornado
intil devido as mudanas radicais em requisitos, regras de negcio e etc [16].
14
taes do que com desenvolvimento e testes [16]. Com isso os desenvolvedores
propuseram a criao das Metodologias geis de Desenvolvimento de Software.
Segundo os desenvolvedores, essas metodologias atendiam melhor o contexto dos
projetos de software e a grande demanda, pois so baseadas em entregas incre-
mentais, sendo mais flexveis no momento em que os requisitos mudam [16, 17].
Finalmente, em 2001 foi criada a Aliana gil, a partir do encontro de 17 especialis-
tas em processos de software que representavam as metodologias Scrum [23], Ex-
treme Programing (XP) [22] e outras. Neste encontro foram estabelecidos princpios
comuns entre as metodologias, dando origem ao Manifesto gil [20, 21].
Nos ltimos anos, estamos vivenciando mais uma revoluo nos processos de
desenvolvimento de software, que est sendo chamada de era Ps-gil [4]. A ne-
cessidade da equipe de desenvolvimento obter maior frequncia nos feedbacks dos
clientes e de entregar frequentemente o software no ambiente de produo, torna
possvel, dependendo do domnio da aplicao, a realizao de vrias implantaes
por dia, o que no vivel em uma abordagem gil, pois apesar de curtas, as iter-
aes duram um certo tempo para serem realizadas [4]. nesse contexto que surge
o conceito de Implantao Contnua (DC1) [4].
O DC tem suas razes nos conceitos da ideologia Lean [2, 4, 6, 9], que orig-
inria da fabricao, sendo inserida no contexto da ES pela primeira vez no Lean
1 Para fins didticos, este trabalho utilizar a sigla DC, misturando o os termos em ingls e em portugus: Deploy Contnuo.
15
Software Development [4]. Esta abordagem tem a Integrao Contnua (IC) e a En-
trega Contnua (EC) como pr-requisitos para ser alcanada, alm de necessitar de
um pipeline de desenvolvimento automatizado e uma ampla infraestrutura acom-
panhada de processos e prticas compatveis [4, 6]. Uma outra abordagem que uti-
liza largamente os mtodos contnuos de desenvolvimento o DevOps [4, 5, 6, 7, 9,
11], que enfatiza a colaborao e a comunicao entre as equipes de desenvolvi-
mento e as de operaes, sob a premissa que a cooperao das duas reas resulta
em um rpido desenvolvimento contnuo [4, 5, 11, 18]. J existem muitas empresas
que utilizam prticas contnuas, incluindo o DC [2, 6, 10]. Trabalhos como [2, 4, 6,
11], mostram que a implantao frequente ajuda na criao e desenvolvimento de
produtos melhores por serem mais reativos.
Para que tudo isso seja possvel, uma mudana na cultura organizacional e
uma quantidade considervel de ferramentas de apoio so requeridas [2, 4, 8, 11].
Para que o pipeline de desenvolvimento seja automatizado at que a implantao
seja feita no ambiente de produo, a empresa deve configurar uma cadeia de fer-
ramentas autoassociadas e estabelecer fluxos de trabalho redirecionados estas
ferramentas [2, 11].
1.2 Problema
Um estudo mostra vrias observaes feitas por usurios do DevOps [15]. Es-
tas observaes foram colhidas atravs de oficinas de design e entrevistas que pos-
teriormente alimentaram um banco de dados, onde foi realizada uma anlise de
sentimentos. Um dos problemas mais evidentes identificados pelos participantes
a escolha de ferramentas para a automao dos processos.
16
1.3 Objetivos
1.4 Escopo
17
Nestes trabalhos, as ferramentas mapeadas so suficientes para automatizar
os pipelines das diversas empresas e projetos que foram estudados [2, 10], no en-
tanto, vale ressaltar que as ferramentas no cobrem a totalidade da grande maioria
dos casos e o mapeamento contido neste trabalho no exaustivo.
1.5 Metodologia
O mtodo adotado para chegar ao objetivo composto por uma pesquisa ex-
ploratria, se utilizando dos principais repositrios em busca de artigos, publi-
caes, peridicos, revistas, dissertaes, estudos de caso e revises sistemticas
que tragam informaes das principais pesquisas sobre prticas contnuas e
cadeias de ferramentas que suportem estas prticas, a fim de trazer embasamento
para a redao deste trabalho e possibilitar que os objetivos sejam alcanados.
ACM [29];
Scopus [30];
18
Cada trabalho relevante encontrado foi inserido na ferramenta Mendeley 1, um
gerenciador e compartilhador de documentos de pesquisa. Para capturar o trabal-
ho, um plugin desta ferramenta para o Google Chrome2 foi utilizado.
Na leitura de cada trabalho, o pargrafo lido foi grifado e resumido para ajudar
no mapeamento da informao.
1 https://www.mendeley.com
2 https://www.google.com/chrome/browser/desktop/index.html
3 http://shapesapp.com/
19
2. Referencial Terico
Defeitos.
1 Termo criado por Krafcik em seu trabalho intitulado Triumph of the lean production system no ano de 1988 [2].
2 O Homem que ficou conhecido como o pai do Sistema Toyota de Produo e do Sistema Kanban [37].
20
to que est em desenvolvimento no est agregando valor at que seja entregue.
Produtos em desenvolvimento so encarados como um estoque de fbrica [35].
1. Eliminao de desperdcio;
2. Amplificao do aprendizado;
5. Fortalecimento da equipe;
6. Construo de qualidade;
7. Otimizao do todo.
21
2.1.1.1 1 Princpio - Elimine o desperdcio
22
2.1.1.4 4 Princpio - Entregue o mais rpido possvel
1Um bom texto sobre a tcnica pode ser encontrado aqui: http://www.lean.org.br/conceitos/102/definicao-de-producao-puxada-
e-sistemas-puxados.aspx
23
nvel adicional qualidade: deve manter sua utilidade ao longo do tempo. Espera-se
que o software evolua medida que se adapta s mudanas. O software com qual-
idade possui uma arquitetura coerente, alto grau de usabilidade, eficcia, susten-
tvel, adaptvel e extensvel. Qualidade vem de um projeto liderado sabiamente,
com uma equipe com conhecimentos relevantes, comunicao efetiva, disciplina
saudvel [35].
24
sos humanos1. Outro exemplo o DevOps, que reconhece a necessidade das prti-
cas contnuas [2]. Em vez de uma seqncia de atividades que so realizadas por
equipes ou departamentos claramente distintos, a engenharia de software contnua
estabelece prticas contnuas, com suas origens nos conceitos encontrados na
ideologia Lean, no entanto, h alguns estudos que erroneamente ligam estas prti-
cas apenas as prticas geis [9, 24]. Enquanto o desenvolvimento de software gil
foca principalmente no desenvolvimento do software, o desenvolvimento contnuo
tem um foco muito explcito no processo de ponta a ponta: do cliente para a entre-
ga. Com base em uma comparao de princpios e prticas de desenvolvimento
gil e Lean, estudos concluem que este foco de ponta a ponta a principal difer-
ena entre as abordagens [24].
Integrao Contnua: os desenvolvedores enviam suas mudanas com
frequncia para repositrios de controle de verso, que desencadeiam
testes em servidores de IC;
1Ultimamente tm surgido algumas tentativas do alinhamento das metodologias geis com a rea de negcios, como podemos
ver em [45]
25
A figura 1 mostra todas as prticas contnuas e suas relaes com a organiza-
o. Uma descrio sucinta de cada uma ser feita, porm as mais importantes
para este trabalho sero discutidas mais detalhadamente.
Fonte: [2]
1 BizDev no ser detalhado aqui, pois no faz parte do escopo deste trabalho.
26
O oramento tradicionalmente um evento anual, informando as previses de
investimentos, receitas e despesas de uma organizao para o prximo ano. Esta
prtica sugere que o oramento tambm se torne uma atividade contnua, para fa-
cilitar as mudanas durante o ano [9, 24].
28
2.2.2.3.1 Pipeline de implantao
Depois de passar por todas as etapas de IC e EC, o software pode ser implan-
tado na produo, configurando a prtica do DC [2].
Fonte: [44]
29
Com base nos trabalhos encontrados, o pipeline de implantao deve ser au-
tomatizado, tanto quanto possvel, ou no mnimo, semi-automatizado. recomen-
dado que todo o trabalho manual seja reduzido ao mnimo possvel, portanto, as
cadeias de ferramentas adequadas so essenciais para o DC [2].
Fonte: [10]
30
dade dos projetos, e a necessidade de realizar estgios de testes manuais tambm
so vistos como impedimento para a prtica efetiva do DC [2].
1Um programa finlands de pesquisa em empresas da rea de tecnologia da informao e comunicao que utilizam as prti-
cas da ES Contnua [40].
31
2.2.2.7 Segurana contnua
2.2.3 Operaes
Esta prtica visa a reteno de clientes ao invs de atrair novos [9, 24]. Isso s
possvel atravs da prtica de manuteno contnua, que melhor explorada em
[3].
Tem base nos princpios da ideologia Lean, onde a tomada de deciso est
pautada na eliminao de desperdcio, trazendo melhorias incrementais de quali-
dade. Aumentando a vantagem competitiva do produto [9, 24].
33
2.3 DevOps
34
funcionalidades vo sendo desenvolvidas e implantadas, gradualmente vai dimin-
uindo a necessidade das iteraes [13].
35
3. Mapeamento das Ferramentas
3.1.1 Requisitos
Mesmo que o DC seja realizado vrias vezes por dia, os requisitos devem ser
claros. Para que isso seja possvel, manter um registro de todos os requisitos, bem
como de todos os dados associados eles essencial no desenvolvimento de
software. Para os requisitos, asferramentas que gerenciam os requisitos e o back-
log so consideradas. Os requisitos e feedbacks do usurio podem ser obtidos no
somente atravs da coleta direta com usurios, tambm possvel realizar essa
aproximao atravs de ferramentas de solicitao de melhorias e de monitoramen-
to de uso [2].
3.1.2 Desenvolvimento
3.1.3 Operaes
38
O objetivo do DC deve ser a implantao do software da forma mais automti-
ca possvel [2].
3.1.4 Testes
3.1.5 Qualidade
3.2.1 Nome
3.2.2 Subrea
40
3.2.3 Website
3.2.4 Artigos
Informa onde cada ferramenta foi encontrada na lista de estudos que foram
utilizados na pesquisa. Os estudos esto descritos no Incio deste captulo.
3.2.7 Mantenedores
41
3.2.9 Integrao
3.2.10 Plataforma
42
3.2.11 Paradigma
Fonte: o Autor
1Um estudo sobre paradigmas de programao pode ser encontrado aqui: http://www.petry.pro.br/sistemas/programacao1/
materiais/artigo_paradigmas_de_programacao.pdf
43
Figura 6. Ferramentas de testes, qualidade e comunicao
Fonte: o Autor
4.1 Ferramenta
Fonte: O Autor
45
Figura 8. Boto de redirecionamento de pgina da ferramenta
Fonte: O Autor
Figura 9. Ferramentas gratuitas mais recomendadas para desenvolvimento Desktop(Mac) pela ferramenta de
escolha
Fonte: O Autor
46
Figura 10. Todas as ferramentas gratuitas recomendadas para desenvolvimento Desktop(Mac) pela ferramenta
de escolha
Fonte: O Autor
Fonte: O Autor
47
Por fim, para ajudar na visualizao das integraes, como possvel ver na
figura 11, um grafo interativo exibido.
4.2.1 Empresa
4.2.2 Projeto
1 http://ustore.com.br
2 http://www.portodigital.org/parque/o-que-e-o-porto-digital
3 http://midiacenter.usto.re
5 Abstraoque unecdigoscomuns entre vrios projetos de software provendo uma funcionalidade genrica
6 https://www.playframework.com/
48
colar. Para fazer o armazenamento dos contedos, o sistema utiliza outros produtos
da Ustore.
Fonte: O Autor
49
No caso do MidiaCenter, que far experimentos antes de migrar definitiva-
mente para as prticas contnuas, as ferramentas grtis escolhidas.
Fonte: O Autor
50
5. Consideraes finais
Este captulo conclui o trabalho com uma pequena discusso sobre as limi-
taes na criao deste trabalho. Uma discusso sobre trabalhos futuros tambm
iniciada. No final do captulo uma concluso feita.
5.1 Limitaes
Outro trabalho muito importante que deve ser considerado, a criao de uma
ferramenta que torne possvel, a real automao na escolha destas ferramentas,
51
atravs das melhores prticas mapeadas no trabalho anterior, possibilitando a es-
colha, instalao e configurao automtica das ferramentas.
5.3 Concluso
52
Referncias Bibliogrficas
[1] LEHTONEN, T. et al. Defining metrics for continuous delivery and deployment
pipeline. CEUR Workshop Proceedings. Anais 2015.
[2] MKINEN, S. et al. Improving the delivery cycle: A multiple-case study of the
toolchains in Finnish software intensive enterprises. Information and Software
Technology, v. 80, p. 13391351, 2016.
[3] PANG, C.; HINDLE, A. Continuous Maintenance. 2016 IEEE International Con-
ference on Software Maintenance and Evolution (ICSME). Anais...IEEE, out.
2016Disponvel em: <http://ieeexplore.ieee.org/document/7816494/>. Acesso em: 7
maio. 2017.
[6] KARVONEN, T. et al. Systematic Literature Review on the Impacts of Agile Re-
lease Engineering Practices. Information and Software Technology, v. 86, n. C, p.
87100, jun. 2017.
[7] WETTINGER, J. et al. Streamlining DevOps automation for Cloud applications us-
ing TOSCA as standardized metamodel. Future Generation Computer Systems, v.
56, p. 317332, 2016.
[8] OHTSUKI, M.; OHTA, K.; KAKESHITA, T. Software engineer education support
system ALECSS utilizing DevOps tools. Proceedings of the 18th International
Conference on Information Integration and Web-based Applications and Services -
iiWAS 16. Anais...New York, New York, USA: ACM Press, 2016. Disponvel em:
<http://dl.acm.org/citation.cfm?doid=3011141.3011200>. Acesso em: 7 maio. 2017.
[9] FITZGERALD, B.; STOL, K.-J. Continuous software engineering and beyond:
trends and challenges. Proceedings of the 1st International Workshop on Rapid
Continuous Software Engineering - RCoSE 2014. Anais New York, New York,
USA: ACM Press, 2014Disponvel em: <http://dl.acm.org/citation.cfm?
doid=2593812.2593813>. Acesso em: 7 maio. 2017.
53
[10] GEBERT, S. et al. Continuously delivering your network. Proceedings of the
2015 IFIP/IEEE International Symposium on Integrated Network Management, IM
2015. Anais...IEEE, maio 2015. Disponvel em: <http://ieeexplore.ieee.org/docu-
ment/7140371/>. Acesso em: 7 maio. 2017.
[13] KILAMO, T.; LEPPNEN, M.; MIKKONEN, T. The social developer: now, then,
and tomorrow. Proceedings of the 7th International Workshop on Social Soft-
ware Engineering - SSE 2015, p. 4148, 2015.
[14] SHAHIN, M.; BABAR, M. A.; ZHU, L. The Intersection of Continuous Deploy-
ment and Architecting Process: Practitioners Perspectives. Proceedings of the
10th ACM/IEEE International Symposium on Empirical Software Engineering and
Measurement. Anais...New York, New York, USA: ACM Press, 2016. Disponvel em:
<http://dl.acm.org/citation.cfm?doid=2961111.2962587>. Acesso em: 7 maio. 2017.
[15] RAJKUMAR, M. et al. DevOps culture and its impact on cloud delivery and
software development. 2016 International Conference on Advances in Computing,
Communication, & Automation (ICACCA) (Spring). Anais...IEEE, abr. 2016. Disponv-
el em: <http://ieeexplore.ieee.org/document/7578902/>. Acesso em: 7 maio. 2017.
[19] The Chaos Report. . Dennis, MA 02638, USA. 1995. Disponvel em: <https://
www.standishgroup.com/sample_research_files/chaos_report_1994.pdf>.
54
[20] BERNARDO, K. Manifesto gil, como tudo comeou. Disponvel em: <https://
www.culturaagil.com.br/manifesto-agil-como-tudo-comecou/>. Acesso em: 4 junho.
2017.
[21] BECK, K. et al. Manifesto for Agile Software Development. Disponvel em:
<http://agilemanifesto.org/>. Acesso em: 4 jun. 2017.
[23] SCHWABER, K.; BEEDLE, M. Agile software development with Scrum. [s.l.]
Prentice Hall, 2002.
[25] LEPPANEN, M. et al. The highways and country roads to continuous de-
ploymentIEEE Software, mar. 2015. Disponvel em: <http://ieeexplore.ieee.org/
document/7057604/>. Acesso em: 22 maio. 2017.
[26] SHAHIN, M.; ALI BABAR, M.; ZHU, L. Continuous Integration, Delivery and De-
ployment: A Systematic Review on Approaches, Tools, Challenges and Practices.
IEEE Access, v. 5, p. 11, 2017.
[28] ScienceDirect.com | Science, health and medical journals, full text articles
and books. Disponvel em: <http://www.sciencedirect.com/>. Acesso em: 27 jun.
2017.
55
[34] ALLEN, J. H. Software security engineering : a guide for project managers.
[s.l.] Addison-Wesley, 2008.
[41] IEEE SA - 730-1980 - IEEE Trial Use Standard for Software Quality Assur-
ance Plans. Disponvel em: <https://standards.ieee.org/findstds/standard/
730-1980.html>. Acesso em: 5 jul. 2017.
56
[47] Scrum: metodologia gil para gesto e planejamento de projetos. Disponv-
el em: <http://www.desenvolvimentoagil.com.br/scrum/>. Acesso em: 7 jul. 2017.
[49] MEYER, M. Continuous integration and its tools. IEEE Software, v. 31, n. 3, p.
1416, maio 2014.
[50] BECK, A.; UEBERNICKEL, F.; BRENNER, W. Fit for continuous integration:
How organizations assimilate an agile practice. 20th Americas Conference on
Information Systems, AMCIS 2014. Anais 2014. Disponvel em: <http://www.sco-
pus.com/inward/record.url?eid=2-s2.0-84905986447&partnerID=tZOtx3y1>
57
Apndice A - Tabela de ferramentas
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
Gerenciame
nto de https://
backlog, Bitbucket,
www.atlassia
Jira Rastreament [2, 5] Privado Indiferente Atlassian Paga Git, bamboo, indiferente
n.com/
o de bugs, Teamcity
software/jira
Comunica
o e feedback
Slack,
Geranciame https:// Github, Jira,
Trello nto de [2, 5] Privado Indiferente Atlassian Gratis indiferente
trello.com/ Twitter,
backlog Bitbucket
Gerenciame https://
nto de www.atlassia Jira,
Confluence backlog, n.com/ [2] Privado Indiferente Atlassian Paga indiferente
Teamcity
Comunica software/
o e feedback confluence
Geranciame
nto de
Backlog,
Rastreament
o de bugs, Gratis, para
https://
Github Controle de [2, 4, 50] Privado Indiferente Github projetos Travis CI, Git indiferente
github.com/
verso, pblicos
Reviso de
cdigo,
Comunica
o e feedback
https://
Geranciame www.google. No
Google Docs nto de [2] Privado Indiferente Google Gratis indiferente
com/docs/ informado
backlog about/
https://
Geranciame products.offi No
Excel nto de [2] Privado Indiferente Microsoft Paga indiferente
ce.com/en- informado
backlog us/excel
http://
Geranciame kanbanik.git Open Comunidad No
Kanbanik nto de [2] Indiferente Gratis indiferente
hub.io/ Source e informado
backlog kanbanik/
https:// Diversos, Desktop(Ma
developer.ap Swift,
Xcode IDE Privado Apple Gratis quase todos c),
ple.com/ Objective C os tipos. Mobile(IOS)
xcode/
https://
developer.an Diversos,
Android droid.com/ Mobile(Andr
IDE Privado Android Jetbrains Gratis quase todos
Studio studio/ oid)
os tipos.
index.html?
hl=pt-br
Desktop,
http:// Diversos,
Open Comunidad Web,
Eclipse IDE www.eclipse. [8, 12, 50] Qualquer Gratis quase todos
Source e Microservio
org/ os tipos. s
Rastreament https://
o de bugs, Open Comunidad Eclipse,
Bugzilla www.bugzilla [2] Qualquer Gratis Todos
Reviso de Source e SVN, Git.
.org/
cdigo
Controle de Diversos,
https://git- [2, 3, 5, 7, 8, Open Comunidad
Git verso, Qualquer Gratis quase todos Todos
scm.com/ 26, 49, 50] Source e
Implantao os tipos.
https:// Diversos,
Controle de Open Comunidad
Subversion subversion.a [2, 26, 50] Qualquer Gratis quase todos Todos
verso Source e
pache.org/ os tipos.
58
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
Rastreament
o de bugs, https:// Jira,
Controle de
Bitbucket bitbucket.org [26] Privado Qualquer Atlassian Gratis Bamboo, Todos
verso, / Hipchat
Comunica
o e feedback
Controle de https://
verso,
TFS www.visualst [3] Privado Qualquer Microsoft Gratis Diversos Todos
Comunica udio.com/tfs/
o e feedback
Bugzilla,
Maven,
https:// Capistrano,
Controle de Open Comunidad
Mercurial www.mercuri [2] Qualquer Gratis Jenkins, Todos
verso Source e
al-scm.org/ Hudson, Git,
SVN, Ant,
MSBuild.
https://
Controle de Jira, Jenkins,
Perforce www.perforc [2, 3] Privado Qualquer Perforce Paga Todos
verso Eclipse.
e.com/
Construo,
Integrao
Contnua, [2, 3, 5, 8, Diversos,
Repositrio https:// Open Comunidad
Jenkins 26, 39, 49, Qualquer Gratis quase todos Todos
de artefatos, jenkins.io/ Source e
50] os tipos.
Implantao,
Qualidade e
performance
Construo, https:// Diversos,
Open Comunidad
Maven Repositrio maven.apac [2, 26] Qualquer Gratis quase todos Todos
Source e
de artefatos he.org/ os tipos.
Desktop,
http:// Diversos,
Open Comunidad Web,
Nant Construo nant.sourcef [26] .Net Gratis quase todos
Source e Microservio
orge.net/ os tipos. s
https:// Desktop,
Diversos,
github.com/ Open Comunidad Web,
MSBuild Construo [26] .Net Gratis quase todos
Microsoft/ Source e Microservio
os tipos.
msbuild s
Desktop,
http:// Diversos,
Open Comunidad Web,
Ant Construo ant.apache.o [2, 3, 8, 26] Java Gratis quase todos
Source e Microservio
rg/ os tipos. s
Diversos,
https:// Open Comunidad
CMake Construo [2] C, C++ Gratis quase todos Desktop
cmake.org/ Source e os tipos.
https:// Diversos,
www.gnu.org Open Comunidad
Make Construo [2, 26] C, C++ Gratis quase todos Desktop
/software/ Source e os tipos.
make/
Diversos,
https:// Open C, C++, Comunidad Desktop,
GCC Construo [2] Gratis quase todos
gcc.gnu.org/ Source Objective C e Mobile(IOS)
os tipos.
Construo, http:// Diversos,
Qualidade Open C, C++, Comunidad Desktop,
Clang clang.llvm.or [2] Gratis quase todos
de Source Objective C e Mobile(IOS)
g/ os tipos.
performance
http:// Diversos,
Ruby on Open Comunidad
Construo rubyonrails.o [2] Ruby on Raills Gratis quase todos Web
Rails Source e
rg/ os tipos.
Desktop,
http:// Diversos,
Open Scala, Java Comunidad Web,
Sbt Construo www.scala- [2] Gratis quase todos
Source Play e Microservio
sbt.org/ os tipos. s
Diversos,
http:// Open Comunidad
Grunt Construo [2] Javascript Gratis quase todos Web
gruntjs.com/ Source e os tipos.
https:// Diversos,
Integrao www.jetbrain
TeamCity [2, 26, 49] Privado Qualquer Jetbrains Paga quase todos Todos
Contnua s.com/ os tipos.
teamcity/
https:// Diversos,
Integrao br.atlassian.c
Bamboo [26, 49] Privado Qualquer Atlassian Paga quase todos Todos
Contnua om/software/ os tipos.
bamboo
http://
CruiseContr Integrao cruisecontrol Open Comunidad No
[26] Qualquer Gratis Todos
ol Contnua .sourceforge. Source e informado
net/
https://
Integrao Open Comunidad No
Hudson eclipse.org/ [26] Qualquer Gratis Todos
Contnua Source e informado
hudson/
Integrao http:// Open Comunidad No
Buildbot [2] Qualquer Gratis Todos
Contnua buildbot.net/ Source e informado
Controle de
https:// verso,
Repositrio
Artifactory www.jfrog.co [2] Privado Qualquer Jfrog Paga Integrao Todos
de artefatos m/artifactory/ contnua,
Construo
VMware
vSphere,
Virtualbox,
https:// Rackspace,
Orquestra Open Comunidad
Vagrant www.vagrant [2] Indiferente Gratis Ansible, Todos
o Source e
up.com/ Chef,
Puppet,
Foreman,
Steam
59
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
Provisionam
ento de https:// Open Comunidad
Docker ambientes, www.docker. [3, 7, 11] Indiferente Gratis Docker Todos
Source e
Orquestra com/
o
Desktop,
Provisionam https:// Diversos, Mobile(Andr
Open Comunidad
Virtualbox ento de www.virtualb [2] Indiferente Gratis quase todos oid), Web,
Source e
ambientes ox.org/ os tipos. Microservio
s
https:// Desktop,
Provisionam www.vmwar Diversos, Mobile(Andr
VMware ento de e.com/ [2] Privado Indiferente Vmware Paga quase todos oid), Web,
vSphere ambientes products/ os tipos. Microservio
vsphere s
Docker,
Github,
Provisionam Bitbucket, Desktop,
ento de https:// Vagrant, Mobile(Andr
Ambientes, Open Comunidad
Ansible www.ansible. [2] Indiferente Gratis Jenkins, oid), Web,
Orquestra Source e
com/ Teamcity, Microservio
o, Virtualbox, s
implantao Vmware,
Foreman..
Desktop,
Provisionam Diversos, Mobile(Andr
ento de https:// Open Comunidad
Chef [2, 5, 7, 11] Indiferente Gratis quase todos oid), Web,
ambientes, www.chef.io/ Source e os tipos. Microservio
Implantao s
Jenkins,
Teamcity,
Bamboo, Desktop,
hudson,
Provisionam Mobile(Andr
https:// Open Comunidad Buildbot,
Puppet ento de [2, 12, 26] Indiferente Gratis oid), Web,
puppet.com/ Source e Virtualbox,
ambientes Microservio
vSphere, s
Docker,
Vagrant,
Foreman.
Slack,
Docker,
Ansible, Desktop,
http:// Chef, Mobile(Andr
Orquestra Open Comunidad
Foreman theforeman. [2] Indiferente Gratis Puppet, oid), Web,
o Source e
org/ Jenkins, Microservio
Slack, s
vSphere,
Github,
http:// Open Comunidad Slack,
Capistrano Implantao capistranorb. [2] Indiferente Gratis Todos
Source e Hipchat
com/
https://
www.hockey
HockeyApp Implantao [2] Privado Indiferente Microsoft Paga Jenkins Mobile
app.net/
features/
Desktop,
Diversos,
Teste de https:// Open Comunidad Web,
Nunit [26] .Net Gratis quase todos
Unidade nunit.org/ Source e Microservio
os tipos. s
Teste de Desktop,
Diversos,
Unidade, http:// Open Comunidad Web,
JUnit [2, 3, 8] Java Gratis quase todos
Teste de junit.org/ Source e Microservio
os tipos.
aceitao s
Desktop,
Diversos,
Teste de http:// Open Comunidad Web,
Mockito [2] Java Gratis quase todos
Unidade mockito.org/ Source e Microservio
os tipos. s
Teste de
Unidade, http:// Diversos,
Open Comunidad
Jasmine Teste de jasmine.gith [2] Javascript Gratis quase todos Web
Source e
interface do ub.io/ os tipos.
usurio
Diversos,
Teste de https:// Open Comunidad
Mocha [2] Javascript Gratis quase todos Web
Unidade mochajs.org/ Source e os tipos.
Desktop,
http:// Diversos,
Teste de Open Comunidad Web,
Leiningen leiningen.org [2] Clojure Gratis quase todos
Unidade Source e Microservio
/ os tipos. s
Desktop,
https:// Diversos,
Teste de Open Comunidad Web,
Midje github.com/ [2] Clojure Gratis quase todos
Unidade Source e Microservio
marick/Midje os tipos. s
https:// Diversos,
Teste de github.com/ Open Comunidad
Google Test [2] C++ Gratis quase todos Desktop
Unidade google/ Source e os tipos.
googletest
https://
gcc.gnu.org/ Diversos,
Teste de Open C, C++, Comunidad Desktop,
Gcov onlinedocs/ [2, 26] Gratis quase todos
Unidade Source Objective C e Mobile(IOS)
gcc/ os tipos.
Gcov.html
https:// Diversos,
Teste de wiki.qt.io/ Open Comunidad
Qt Autotest [2] Qualquer Gratis quase todos Todos
Unidade Qt_Autotest_ Source e os tipos.
Environment
https:// Desktop,
Diversos,
Teste de etorreborre.g Open Scala, Java Comunidad Web,
Specs2 [2] Gratis quase todos
Unidade ithub.io/ Source Play e Microservio
os tipos.
specs2/ s
Desktop,
http:// Diversos,
Teste de Open Comunidad Web,
Scalatest www.scalate [2] Scala Gratis quase todos
Unidade Source e Microservio
st.org/ os tipos. s
60
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
Desktop,
Diversos,
Teste de http:// Open Comunidad Web,
Rspec [2] Ruby Gratis quase todos
Unidade rspec.info/ Source e Microservio
os tipos. s
https:// Desktop,
Diversos,
Teste de github.com/ Open Comunidad Web,
Minitest [2] Ruby Gratis quase todos
Unidade seattlerb/ Source e Microservio
os tipos.
minitest s
Teste de
interface do
usurio, http:// Diversos,
Open Comunidad
Selenium Teste de www.seleniu [2] Indiferente Gratis quase todos Web
Source e
aceitao, mhq.org/ os tipos.
Qualidade e
performance
Teste de
interface do
usurio, http://
Robot Open Comunidad
Teste de robotframew [2] Indiferente Gratis Jenkins Web
Framework Source e
aceitao, ork.org/
Qualidade e
performance
https://
Teste de Diversos,
karma- Open Comunidad
Karma Interface do [2] Javascript Gratis quase todos Web
runner.github Source e
usurio os tipos.
.io/
Teste de http:// Diversos,
Open Comunidad
PhantomJS Interface do phantomjs.or [2] Javascript Gratis quase todos Web
Source e
usurio g/ os tipos.
Teste de https://
BrowserStac BrowserSta No
Interface do www.browse [2] Privado Indiferente Paga Web
k ck informado
usurio rstack.com/
https:// Cucumber,
Teste de github.com/ Open Comunidad Rspec,
Capybara Interface do [2] Qualquer Gratis Web
teamcapybar Source e Minitest,
usurio a/capybara Selenium
Teste de .Net, Java, Desktop,
interface do Ruby, Groovy, Diversos,
https:// Open Comunidad Web,
Cucumber usurio, [2] Javascript, Gratis quase todos
cucumber.io/ Source e Microservio
Teste de Clojure, Gosu, os tipos. s
aceitao PHP, Python
Diversos,
Teste de http:// Open Comunidad
Chai [2] Javascript Gratis quase todos Web
aceitao chaijs.com/ Source e os tipos.
Desktop,
Diversos,
Teste de http:// Open Comunidad Web,
TestNG [2] Java Gratis quase todos
aceitao testng.org/ Source e Microservio
os tipos. s
TFS,
https:// Cruisecontro
Teste de www.froglogi l, Jenkins,
aceitao,
Squish c.com/ [2] Privado Qualquer FrogLogic Paga Hudson, Web
Qualidade e squish/gui- Bamboo,
performance testing/ Teamcity,
Ant, Maven
Qualidade e http:// Diversos,
performance
Sonar www.sonarq [2, 26] Privado Qualquer Sonarqube Gratis quase todos Todos
, Reviso de ube.org/ os tipos.
cdigo
Reviso de http:// Open Comunidad
JsHint [2] Javascript Gratis Eclipse Web
cdigo jshint.com/ Source e
Qualidade e TFS, Desktop,
http:// ZEN
performance Cruisecontro Web,
Ndepend www.ndepen [26] Privado .Net PROGRAM Paga
, Reviso de l, Sonar, Microservio
d.com/ LTD
cdigo Jenkins, s
http:// Diversos,
Reviso de Open Comunidad
JsLint www.jslint.co [2] Javascript Gratis quase todos Web
cdigo Source e
m/ os tipos.
61
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
https:// Web,
Qualidade e Java, Ruby, No
New Relic newrelic.com [2, 5] Privado KingHost Paga Microservio
performance Python, Node informado
/ s
http:// Web,
Qualidade e Open Comunidad No
JMeter jmeter.apach [2] Java Gratis Microservio
performance Source e informado
e.org/ s
http:// Web,
Qualidade e Open Comunidad No
Zabbix www.zabbix. [2, 5] Qualquer Gratis Microservio
performance Source e informado
com/ s
https:// Web,
Qualidade e Royal
Pingdom www.pingdo [2, 5] Privado Qualquer Paga Slack Microservio
performance Pingdom
m.com/ s
Web,
Qualidade e http:// No
Gatling [2] Privado Qualquer Gatling Paga Microservio
performance gatling.io/ informado s
https://
developers.g
Google Qualidade e oogle.com/ [2] Privado Qualquer Google Paga Nginx Web
PageSpeed performance speed/
pagespeed/
http://
httpd.apache Web,
Qualidade e .org/docs/ Open Comunidad Servidores
Ab [2] Qualquer Gratis Microservio
performance 2.2/ Source e apache s
programs/
ab.html
https://
Reviso de www.gerritco Open Comunidad
Gerrit [2] Qualquer Gratis Git Todos
cdigo dereview.co Source e
m/
https:// SVN, Git,
www.atlassia
Reviso de Mercurial,
Crucible n.com/ [2] Privado Qualquer Atlassian Paga Todos
cdigo Perforce,
software/ Bitbucket
crucible
https:// Jira,
www.atlassia
Reviso de Bamboo,
FishEye n.com/ [2] Privado Qualquer Atlassian Paga Todos
cdigo Hipchat,
software/ Bitbucket
fisheye
Comunica https:// No
Skype oe www.skype.c [2] Privado Indiferente Microsoft Gratis Indiferente
informado
Feedback om/
Comunica https:// No
Slack oe [2] Privado Indiferente Slack Gratis Indiferente
slack.com/ informado
Feedback
Comunica https:// CA No
Flowdock oe www.flowdoc [2] Privado Indiferente Paga Indiferente
Tecnologies informado
Feedback k.com/
Comunica https:// No
Webex oe www.webex. [2] Privado Indiferente Cisco Paga Indiferente
informado
Feedback com/
Comunica https:// Open Comunidad No
XMPP oe [2] Indiferente Gratis Indiferente
xmpp.org/ Source e informado
Feedback
Comunica https:// No
Hipchat oe [2] Privado Indiferente Atlassian Gratis Indiferente
hipchat.com/ informado
Feedback
https://
Comunica products.offi No
Lync oe ce.com/en- [2] Privado Indiferente Microsoft Paga Indiferente
informado
Feedback us/skype-for-
business/
https://
Comunica products.offi No
SharePoint oe ce.com/en- [2] Privado Indiferente Microsoft Paga Indiferente
informado
Feedback us/
sharepoint/
https://
Comunica products.offi No
Outlook oe [2] Privado Indiferente Microsoft Gratis Indiferente
ce.com/en- informado
Feedback us/outlook/
Comunica https://
Google No
oe analytics.goo [2] Privado Indiferente Google Gratis Indiferente
Analytics informado
Feedback gle.com/
Comunica https:// No
Pagerduty oe www.pagerd [5] Privado Indiferente Pagerduty Paga Indiferente
informado
Feedback uty.com/
Comunica https:// No
Flurry oe developer.ya [2] Privado Indiferente Yahoo Paga Indiferente
informado
Feedback hoo.com/
Comunica https:// No
Intercom oe www.interco [2] Privado Indiferente Intecom Paga Indiferente
informado
Feedback m.io/
http://
Comunica www.adobe. No
Sitecatalyst oe com/uk/ [2] Privado Indiferente Adobe Paga Indiferente
informado
Feedback marketing-
cloud.html
Comunica http:// No
Qlikview oe www.qlik.co [2] Privado Indiferente Qilk Paga Indiferente
informado
Feedback m/
Comunica https:// No
Optimizely oe www.optimiz [2] Privado Indiferente Optimizely Paga Indiferente
informado
Feedback ely.com/
62
Linguagem
Tipo de Mantenedo Tipo de
Nome rea Website Arigos de Integrao Plataforma
projeto res licena
programao
Comunica https:// No
Facebook oe www.facebo [2] Privado Indiferente Facebook Gratis Indiferente
informado
Feedback ok.com/
Comunica https:// No
Twitter oe [2] Privado Indiferente Twitter Gratis Indiferente
twitter.com/ informado
Feedback
63
Apndice B - Imagens da ferramenta
64
Seletor de escolha de licena da ferramenta
65
Resultado de ferramentas selecionadas
66
Grafo de integrao de todas as ferramentas
67