SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a 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 FasterDynatrace
 
Performance Test Slideshow Recent
Performance Test Slideshow RecentPerformance Test Slideshow Recent
Performance Test Slideshow RecentFuture 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 TFuture 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.0minseok kim
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New NormalTechWell
 
Our Journey To Continuous Delivery
Our Journey To Continuous DeliveryOur Journey To Continuous Delivery
Our Journey To Continuous DeliveryRobert 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 practicesayoubbahaddouayoub
 
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 BottlenecksIBM 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 deploymentClaudia 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 TestingCuriosity 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 IIChen-Tien Tsai
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialBreno de França
 
Requirements driven Model-based Testing
Requirements driven Model-based TestingRequirements driven Model-based Testing
Requirements driven Model-based TestingDharmalingam Ganesan
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdfBoreVishnusai
 
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 VirtualizationTechWell
 
Agile maintenance
Agile maintenanceAgile maintenance
Agile maintenancearalikatte
 
Continuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationContinuous Testing through Service Virtualization
Continuous Testing through Service VirtualizationTechWell
 

Semelhante a 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
 

Mais de 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
 

Mais de 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
 

Último

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 

Último (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 

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