SlideShare a Scribd company logo
Laboratório de Sistemas
Computacionais Complexos
2020/04/16 - AULA 11
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP
Alfredo Goldman
gold@ime.usp.br
https://uclab.xyz/sistemas-complexos-aula11
João Francisco Daniel
joaofran@ime.usp.br
Renato Cordeiro Ferreira
renatocf@ime.usp.br
Thatiane de Oliveira Rosa
thatiane@ime.usp.br
Leonardo Leite
leofl@ime.usp.br
Agenda
Tema da aula:
DevOps
1. Definição DevOps
2. Cultura DevOps
3. Entrega contínua
4. Runtime and reliability
5. DevOps e microsserviços
6. Ferramentas
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 2
Definição de DevOps
DevOps is a collaborative and multidisciplinary effort within an
organization to automate continuous delivery of new software
versions, while guaranteeing their correctness and reliability
(LEITE et al., 2019)
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 3
Definição de DevOps - CAMS
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 4
⚫ Culture
⚫ Automation
⚫ Measurement
⚫ Sharing
(HUMBLE and MOLESKY, 2011)
DevOps
DevOps is a collaborative and multidisciplinary effort within an organization to
automate continuous delivery of new software versions, while guaranteeing their
correctness and reliability
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 5
DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 6
Entre Devs e Ops
Antes o ágil ficava só nos devs
DevOps is a collaborative and multidisciplinary effort within an organization to
automate continuous delivery of new software versions, while guaranteeing their
correctness and reliability
DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 7
Cultura de colaboração!
DevOps is a collaborative and multidisciplinary effort within an organization to
automate continuous delivery of new software versions, while guaranteeing their
correctness and reliability
Cultura (Westrum, 2014)
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 8
⚫ Pathological (power-oriented)
Fear and threat
⚫ Bureaucratic (rule-oriented)
Protect the department
⚫ Generative (performance-oriented)
Focus on the mission (alinhamento)
Cultura (Westrum, 2014)
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 9
Pathological Bureaucratic Generative
Low cooperation Modest cooperation High cooperation
Messengers “shot” Messengers neglected Messengers trained
Responsibilities shirked Narrow responsibilities Risks are shared
Bridging discouraged Bridging tolerated
Bridging encouraged
Failure leads to scapegoating Failure leads to justice Failure leads to inquiry
Novelty crushed Novelty leads to problems Novelty implemented
Cultura e desempenho de entrega
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 10
(FORSGREN et al., 2018)
The three ways of DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 11
⚫ Mapping the value stream for global optimization, not local optimization
⚫ Amplifying continuous feedback loops to support necessary corrections
⚫ Improving daily work through a culture promoting frequent experimentation,
risk-taking, learning from mistakes, and knowing that practice and repetition are
prerequisites to mastery
(KIM et al., 2016)
⚫ Mapping the value stream for global optimization, not local optimization
⚫ Amplifying continuous feedback loops to support necessary corrections
⚫ Improving daily work through a culture promoting frequent experimentation,
risk-taking, learning from mistakes, and knowing that practice and repetition are
prerequisites to mastery
The three ways of DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 12
Muito mais sobre cultura, né?
CAMS
(KIM et al., 2016)
DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 13
DevOps is a collaborative and multidisciplinary effort within an organization to
automate continuous delivery of new software versions, while guaranteeing
their correctness and reliability
Entrega contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 14
⚫ Any software version committed to the repository
must be a production-candidate version
⚫ After passing through stages, such as compilation
and automated tests, the software is sent to
production by the press of a button
CAMS
Entrega contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 15
O deploy se torna chato!
Entrega contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 16
Entrega contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 17
Entrega contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 18
(FORSGREN et al., 2018)
Delivery performance
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 19
⚫ Frequência de implantação
⚫ Tempo de entrega
⚫ Tempo de recuperação
⚫ Frequência de falhas
(FORSGREN et al., 2018)
⚫ Frequência de implantação
⚫ Tempo de entrega
⚫ Tempo de recuperação
⚫ Frequência de falhas
Delivery performance
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 20
I.e.: o quão bem você consegue fazer entrega contínua
(FORSGREN et al., 2018)
Implantação contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 21
Sempre automático
Práticas - Entrega Contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 22
(FORSGREN et al., 2018)
Integração contínua
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 23
⚫ Integrate and test changes after no more than a couple of hours
⚫ Team programming isn’t a divide and conquer problem
⚫ It’s a divide, conquer, and integrate problem
⚫ The integration step is unpredictable
⚫ The longer you wait to integrate, the more it costs
(BECK and ANDRES, 2004)
O que seria não fazer integração contínua?
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 24
?
Integração contínua vs entrega contínua?
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 25
?
DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 26
DevOps is a collaborative and multidisciplinary effort within an organization to
automate continuous delivery of new software versions, while guaranteeing their
correctness and reliability
Como garantir correctness?
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 27
?
Reliability
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 28
⚫ Reduce toil
⚫ Infrastructure staff code to improve NFR
⚫ Limit of 50% of operational work to the infrastructure
staff
⚫ Developers sustain the product for a period
Práticas Runtime
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 29
(LEITE et al., 2019)
CAMS
Práticas Runtime
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 30
(LEITE et al., 2019)
Microsserviços
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 31
⚫ The microservice architectural style is an approach to developing a single
application as a suite of small services, each running in its own process and
communicating with lightweight mechanisms, often an HTTP resource API
⚫ These services are built around business capabilities and independently
deployable by fully automated deployment machinery
(LEWIS and FOWLER, 2014)
Por que microsserviços precisam de DevOps?
32
?
Por que DevOps precisa de microsserviços?
33
?
Microsserviços e DevOps
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 34
⚫ Automação de deploy
⚫ Entrega contínua com monolito é mais difícil
⚫ Build de 10 minutos
⚫ Log aggregator
⚫ Correlation ID's
⚫ Monitoração
⚫ Extra: automação da automação!
Ferramentas
35
Ferramentas
36
Tem que saber tudo isso para ser um DevOps?
?
Ferramentas
37
(LEITE et al., 2019)
Ferramentas
38
(LEITE et al., 2019)
Referências
Kent Beck, Cynthia Andres. Extreme Programming Explained: Embrace Change. 2 ed.
Addison-Wesley Professional, 2004
Jez Humble, David Farley. Continuous Delivery: Reliable Software Releases through Build, Test,
and Deployment Automation. 2010
Jez Humble and Joanne Molesky. Why Enterprises Must Adopt Devops to Enable Continuous
Delivery. Cutter IT Journal. 2011
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 39
Referências
Ron Westrum. The study of information flow: A personal journey. Safety Science. 67, 58-63, 2014.
James Lewis and Martin Fowler. Microservices. 2014.
https://www.martinfowler.com/articles/microservices.html.
Gene Kim, Jez Humble, Patrick Debois, John Willis, John Allspaw. The DevOps Handbook: How to
Create World-Class Agility. 2016
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 40
Referências
Niall Richard Murphy, Betsy Beyer, Chris Jones, Jennifer Petoff. Site Reliability Engineering: How
Google Runs Production Systems. 2016
Nicole Forsgren, Jez Humble, Gene Kim. Accelerate: The Science of Lean Software and DevOps:
Building and Scaling High Performing Technology Organizations. 2018
Leonardo Leite, Carla Rocha, Fabio Kon, Dejan Milojicic, and Paulo Meirelles. A Survey of DevOps
Concepts and Challenges. ACM Computing Surveys, 52, 1-35, 2019.
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 41
Licença
Estes slides são concedidos sob uma Licença Creative Commons. Sob as seguintes condições:
Atribuição, Uso Não-Comercial e Compartilhamento pela mesma Licença.
Mais detalhes sobre essa licença em: creativecommons.org/licenses/by-nc-sa/3.0/
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 42
Leonardo Leite
https://www.ime.usp.br/~leofl/
https://ccsl.ime.usp.br/devops/
https://twitter.com/leonardofl
https://www.linkedin.com/in/leonardo-alexandre-ferreira-leite-17194322
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 43
Laboratório de Sistemas
Computacionais Complexos
2020/04/16 - AULA 11
MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP
Alfredo Goldman
gold@ime.usp.br
https://uclab.xyz/sistemas-complexos-aula11
João Francisco Daniel
joaofran@ime.usp.br
Renato Cordeiro Ferreira
renatocf@ime.usp.br
Thatiane de Oliveira Rosa
thatiane@ime.usp.br
Leonardo Leite
leofl@ime.usp.br

More Related Content

Similar to Sistemas complexos-devops-2020-04-16

How to Use DevOps & APM to Release Better Software Faster
How to Use DevOps & APM to Release Better Software FasterHow to Use DevOps & APM to Release Better Software Faster
How to Use DevOps & APM to Release Better Software Faster
Dynatrace
 
Upmc tpdev5
Upmc tpdev5Upmc tpdev5
Upmc tpdev5
Jean-Yves Rigolet
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
Future Simmons
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
Future Simmons
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
minseok kim
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
TechWell
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous Delivery
Robert Mircea
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
ghodgkinson
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
ayoubbahaddouayoub
 
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksUsing Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
IBM UrbanCode Products
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deployment
Claudia Ring
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Ireland
 
DevOps for dummies study sharing - part II
DevOps for dummies study sharing - part IIDevOps for dummies study sharing - part II
DevOps for dummies study sharing - part II
Chen-Tien Tsai
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorial
Breno de França
 
Requirements driven Model-based Testing
Requirements driven Model-based TestingRequirements driven Model-based Testing
Requirements driven Model-based Testing
Dharmalingam Ganesan
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdf
BoreVishnusai
 
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
TechWell
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
aralikatte
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
TechWell
 

Similar to Sistemas complexos-devops-2020-04-16 (20)

How to Use DevOps & APM to Release Better Software Faster
How to Use DevOps & APM to Release Better Software FasterHow to Use DevOps & APM to Release Better Software Faster
How to Use DevOps & APM to Release Better Software Faster
 
Upmc tpdev5
Upmc tpdev5Upmc tpdev5
Upmc tpdev5
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow Recent
 
Performance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N TPerformance Test Slideshow R E C E N T
Performance Test Slideshow R E C E N T
 
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous Delivery
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
 
DevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practicesDevOps culture, concepte , philosophie and practices
DevOps culture, concepte , philosophie and practices
 
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksUsing Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
Using Lean Thinking to Identify and Address Delivery Pipeline Bottlenecks
 
Shift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deploymentShift left - find defects earlier through automated test and deployment
Shift left - find defects earlier through automated test and deployment
 
Curiosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous TestingCuriosity Software Presents: Modelling for Continuous Testing
Curiosity Software Presents: Modelling for Continuous Testing
 
DevOps for dummies study sharing - part II
DevOps for dummies study sharing - part IIDevOps for dummies study sharing - part II
DevOps for dummies study sharing - part II
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorial
 
Requirements driven Model-based Testing
Requirements driven Model-based TestingRequirements driven Model-based Testing
Requirements driven Model-based Testing
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdf
 
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenance
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service Virtualization
 

More from Leonardo Ferreira Leite

Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
Leonardo Ferreira Leite
 
Interação entre times de plataforma e desenvolvedores: como deve ser?
Interação entre times de plataforma e desenvolvedores: como deve ser?Interação entre times de plataforma e desenvolvedores: como deve ser?
Interação entre times de plataforma e desenvolvedores: como deve ser?
Leonardo Ferreira Leite
 
Defesa de doutorado - Leonardo Leite (USP)
Defesa de doutorado - Leonardo Leite (USP)Defesa de doutorado - Leonardo Leite (USP)
Defesa de doutorado - Leonardo Leite (USP)
Leonardo Ferreira Leite
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Leonardo Ferreira Leite
 
Times plataforma-tdc2020
Times plataforma-tdc2020Times plataforma-tdc2020
Times plataforma-tdc2020
Leonardo Ferreira Leite
 
Software livre no governo
Software livre no governoSoftware livre no governo
Software livre no governo
Leonardo Ferreira Leite
 

More from Leonardo Ferreira Leite (6)

Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...
 
Interação entre times de plataforma e desenvolvedores: como deve ser?
Interação entre times de plataforma e desenvolvedores: como deve ser?Interação entre times de plataforma e desenvolvedores: como deve ser?
Interação entre times de plataforma e desenvolvedores: como deve ser?
 
Defesa de doutorado - Leonardo Leite (USP)
Defesa de doutorado - Leonardo Leite (USP)Defesa de doutorado - Leonardo Leite (USP)
Defesa de doutorado - Leonardo Leite (USP)
 
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Do commit à produção: integração contínua e entrega contínua no pipeline de i...
Do commit à produção: integração contínua e entrega contínua no pipeline de i...
 
Times plataforma-tdc2020
Times plataforma-tdc2020Times plataforma-tdc2020
Times plataforma-tdc2020
 
Software livre no governo
Software livre no governoSoftware livre no governo
Software livre no governo
 

Recently uploaded

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Sistemas complexos-devops-2020-04-16

  • 1. Laboratório de Sistemas Computacionais Complexos 2020/04/16 - AULA 11 MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP Alfredo Goldman gold@ime.usp.br https://uclab.xyz/sistemas-complexos-aula11 João Francisco Daniel joaofran@ime.usp.br Renato Cordeiro Ferreira renatocf@ime.usp.br Thatiane de Oliveira Rosa thatiane@ime.usp.br Leonardo Leite leofl@ime.usp.br
  • 2. Agenda Tema da aula: DevOps 1. Definição DevOps 2. Cultura DevOps 3. Entrega contínua 4. Runtime and reliability 5. DevOps e microsserviços 6. Ferramentas MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 2
  • 3. Definição de DevOps DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability (LEITE et al., 2019) MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 3
  • 4. Definição de DevOps - CAMS MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 4 ⚫ Culture ⚫ Automation ⚫ Measurement ⚫ Sharing (HUMBLE and MOLESKY, 2011)
  • 5. DevOps DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 5
  • 6. DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 6 Entre Devs e Ops Antes o ágil ficava só nos devs DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability
  • 7. DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 7 Cultura de colaboração! DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability
  • 8. Cultura (Westrum, 2014) MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 8 ⚫ Pathological (power-oriented) Fear and threat ⚫ Bureaucratic (rule-oriented) Protect the department ⚫ Generative (performance-oriented) Focus on the mission (alinhamento)
  • 9. Cultura (Westrum, 2014) MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 9 Pathological Bureaucratic Generative Low cooperation Modest cooperation High cooperation Messengers “shot” Messengers neglected Messengers trained Responsibilities shirked Narrow responsibilities Risks are shared Bridging discouraged Bridging tolerated Bridging encouraged Failure leads to scapegoating Failure leads to justice Failure leads to inquiry Novelty crushed Novelty leads to problems Novelty implemented
  • 10. Cultura e desempenho de entrega MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 10 (FORSGREN et al., 2018)
  • 11. The three ways of DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 11 ⚫ Mapping the value stream for global optimization, not local optimization ⚫ Amplifying continuous feedback loops to support necessary corrections ⚫ Improving daily work through a culture promoting frequent experimentation, risk-taking, learning from mistakes, and knowing that practice and repetition are prerequisites to mastery (KIM et al., 2016)
  • 12. ⚫ Mapping the value stream for global optimization, not local optimization ⚫ Amplifying continuous feedback loops to support necessary corrections ⚫ Improving daily work through a culture promoting frequent experimentation, risk-taking, learning from mistakes, and knowing that practice and repetition are prerequisites to mastery The three ways of DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 12 Muito mais sobre cultura, né? CAMS (KIM et al., 2016)
  • 13. DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 13 DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability
  • 14. Entrega contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 14 ⚫ Any software version committed to the repository must be a production-candidate version ⚫ After passing through stages, such as compilation and automated tests, the software is sent to production by the press of a button CAMS
  • 15. Entrega contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 15 O deploy se torna chato!
  • 16. Entrega contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 16
  • 17. Entrega contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 17
  • 18. Entrega contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 18 (FORSGREN et al., 2018)
  • 19. Delivery performance MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 19 ⚫ Frequência de implantação ⚫ Tempo de entrega ⚫ Tempo de recuperação ⚫ Frequência de falhas (FORSGREN et al., 2018)
  • 20. ⚫ Frequência de implantação ⚫ Tempo de entrega ⚫ Tempo de recuperação ⚫ Frequência de falhas Delivery performance MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 20 I.e.: o quão bem você consegue fazer entrega contínua (FORSGREN et al., 2018)
  • 21. Implantação contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 21 Sempre automático
  • 22. Práticas - Entrega Contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 22 (FORSGREN et al., 2018)
  • 23. Integração contínua MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 23 ⚫ Integrate and test changes after no more than a couple of hours ⚫ Team programming isn’t a divide and conquer problem ⚫ It’s a divide, conquer, and integrate problem ⚫ The integration step is unpredictable ⚫ The longer you wait to integrate, the more it costs (BECK and ANDRES, 2004)
  • 24. O que seria não fazer integração contínua? MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 24 ?
  • 25. Integração contínua vs entrega contínua? MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 25 ?
  • 26. DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 26 DevOps is a collaborative and multidisciplinary effort within an organization to automate continuous delivery of new software versions, while guaranteeing their correctness and reliability
  • 27. Como garantir correctness? MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 27 ?
  • 28. Reliability MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 28 ⚫ Reduce toil ⚫ Infrastructure staff code to improve NFR ⚫ Limit of 50% of operational work to the infrastructure staff ⚫ Developers sustain the product for a period
  • 29. Práticas Runtime MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 29 (LEITE et al., 2019) CAMS
  • 30. Práticas Runtime MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 30 (LEITE et al., 2019)
  • 31. Microsserviços MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 31 ⚫ The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API ⚫ These services are built around business capabilities and independently deployable by fully automated deployment machinery (LEWIS and FOWLER, 2014)
  • 32. Por que microsserviços precisam de DevOps? 32 ?
  • 33. Por que DevOps precisa de microsserviços? 33 ?
  • 34. Microsserviços e DevOps MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 34 ⚫ Automação de deploy ⚫ Entrega contínua com monolito é mais difícil ⚫ Build de 10 minutos ⚫ Log aggregator ⚫ Correlation ID's ⚫ Monitoração ⚫ Extra: automação da automação!
  • 36. Ferramentas 36 Tem que saber tudo isso para ser um DevOps? ?
  • 39. Referências Kent Beck, Cynthia Andres. Extreme Programming Explained: Embrace Change. 2 ed. Addison-Wesley Professional, 2004 Jez Humble, David Farley. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. 2010 Jez Humble and Joanne Molesky. Why Enterprises Must Adopt Devops to Enable Continuous Delivery. Cutter IT Journal. 2011 MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 39
  • 40. Referências Ron Westrum. The study of information flow: A personal journey. Safety Science. 67, 58-63, 2014. James Lewis and Martin Fowler. Microservices. 2014. https://www.martinfowler.com/articles/microservices.html. Gene Kim, Jez Humble, Patrick Debois, John Willis, John Allspaw. The DevOps Handbook: How to Create World-Class Agility. 2016 MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 40
  • 41. Referências Niall Richard Murphy, Betsy Beyer, Chris Jones, Jennifer Petoff. Site Reliability Engineering: How Google Runs Production Systems. 2016 Nicole Forsgren, Jez Humble, Gene Kim. Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. 2018 Leonardo Leite, Carla Rocha, Fabio Kon, Dejan Milojicic, and Paulo Meirelles. A Survey of DevOps Concepts and Challenges. ACM Computing Surveys, 52, 1-35, 2019. MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 41
  • 42. Licença Estes slides são concedidos sob uma Licença Creative Commons. Sob as seguintes condições: Atribuição, Uso Não-Comercial e Compartilhamento pela mesma Licença. Mais detalhes sobre essa licença em: creativecommons.org/licenses/by-nc-sa/3.0/ MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP 42
  • 44. Laboratório de Sistemas Computacionais Complexos 2020/04/16 - AULA 11 MAC0475 - Laboratório de Sistemas Computacionais Complexos - IME-USP Alfredo Goldman gold@ime.usp.br https://uclab.xyz/sistemas-complexos-aula11 João Francisco Daniel joaofran@ime.usp.br Renato Cordeiro Ferreira renatocf@ime.usp.br Thatiane de Oliveira Rosa thatiane@ime.usp.br Leonardo Leite leofl@ime.usp.br