This document summarizes Selenium, an open source web automation testing framework. It discusses how Selenium provides a standardized way to write automated tests for web applications using various programming languages. The document also briefly describes the different Selenium tools - Selenium IDE for recording and playing back tests in Firefox, Selenium RC for remote control of browsers, Selenium WebDriver which has replaced RC, and Selenium Grid for distributed testing on multiple machines. Some key benefits of the Selenium framework mentioned are that it is cross-browser, supports different languages, and can test web applications across domains in an automated manner.
Using DevOps to Improve Software Quality in the CloudTechWell
DevOps is gaining popularity as a way to quickly and successfully deploy new software. With all the emphasis on deployment, software quality can sometimes be overlooked. In order to understand how DevOps and software testing mesh, Glenn Buckholz demonstrates a fully implemented continuous integration/continuous delivery (CI/CD) stack. After describing the internals of how CI/CD works, Glenn identifies the touch points in the stack that are important for testing organizations. With the now accelerated ability to deliver software, the testing groups need to know how this technology works and what to do with it because swarms of manual testers will not be able to keep up. Glenn demonstrates where and how to use automated testing, how to collect and make sense of the massive amount of test results that can be generated from CI/CD, and how to usefully apply manual testing.
This document summarizes Dean Leffingwell's presentation on scaling agile software development. It discusses four key parts: 1) a lean and scalable requirements model using user stories, features, and non-functional requirements; 2) the agile release train approach with fixed schedules and variable scope; 3) rearchitecting systems for flow; and 4) agile portfolio management using epics to plan large initiatives. The document provides examples and diagrams to illustrate how requirements and planning are structured at the team, release, and portfolio levels when using scaled agile frameworks.
AfterTest Madrid March 2016 - DevOps and Testing IntroductionPeter Marshall
This document discusses continuous testing in the context of DevOps. It defines continuous testing as including automated testing, managing production and non-production environments, application monitoring, and evaluating business objectives. Continuous testing relies on DevOps activities like automating builds, infrastructure, deployments, and monitoring. It advocates for smaller, more frequent deliveries through practices like test automation, infrastructure as code, and treating testing as integral to the software delivery process. The conclusion emphasizes automation, configuration management, and obtaining frequent feedback to enable continuous testing.
Continuous testing & devops with @petemar5hallPeter Marshall
This document discusses testing software in high frequency delivery environments using continuous testing and DevOps practices. It outlines how continuous testing is not just about test automation, but also includes automated management of environments, application feedback through monitoring, and engaging in XP practices. DevOps helps by automating building, testing, and deployment to provide consistency and tools for teams. Characteristics of high frequency delivery environments include automating infrastructure, testing, and deployment to reduce errors and allow for smaller, more frequent deliveries. This allows for a single view of quality and faster restore times when issues arise.
Pre-Con Education: Introduction to Mainframe Academy With CA TechnologiesCA Technologies
Mainframe Academy with CA Technologies is a 7-week immersive certification program which brings basic mainframe skills to recent grads and veteran distributed systems staff alike. This presentation provides a sample of the content taught during the program and can be combined with hands-on lab access in the CA Technologies lab room. If you want to see how to transform your career with mainframe skills or how to build a team of productive systems programmers in short order, see this key educational offering.
For more information on Mainframe solutions from CA Technologies, please visit: http://bit.ly/1wbiPkl
Analyst Keynote: Continuous Delivery: Making DevOps AwesomeCA Technologies
This document summarizes a keynote presentation about continuous delivery and DevOps. The presentation discusses research showing that continuous delivery is a key driver of IT and organizational performance. It also discusses how lean management practices and organizational culture contribute to performance. The presentation provides examples of how continuous delivery, lean practices, and culture have helped organizations deliver more value. It encourages adopting these approaches to improve outcomes.
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Mozaic Works
This document discusses the journey of Virgil Chereches and Robert Mircea in implementing continuous delivery at their organization Orange. It provides an overview of continuous delivery and DevOps practices like automated testing, deployment pipelines, configuration management, and infrastructure automation that were implemented. Specific techniques discussed include blue-green deployments, feature flags, database migrations, metrics collection, logging, provisioning with Puppet, and scaling Puppet and Foreman. The goal is to achieve continuous delivery at Orange's scale to provide agility and reduce risk.
This document summarizes Selenium, an open source web automation testing framework. It discusses how Selenium provides a standardized way to write automated tests for web applications using various programming languages. The document also briefly describes the different Selenium tools - Selenium IDE for recording and playing back tests in Firefox, Selenium RC for remote control of browsers, Selenium WebDriver which has replaced RC, and Selenium Grid for distributed testing on multiple machines. Some key benefits of the Selenium framework mentioned are that it is cross-browser, supports different languages, and can test web applications across domains in an automated manner.
Using DevOps to Improve Software Quality in the CloudTechWell
DevOps is gaining popularity as a way to quickly and successfully deploy new software. With all the emphasis on deployment, software quality can sometimes be overlooked. In order to understand how DevOps and software testing mesh, Glenn Buckholz demonstrates a fully implemented continuous integration/continuous delivery (CI/CD) stack. After describing the internals of how CI/CD works, Glenn identifies the touch points in the stack that are important for testing organizations. With the now accelerated ability to deliver software, the testing groups need to know how this technology works and what to do with it because swarms of manual testers will not be able to keep up. Glenn demonstrates where and how to use automated testing, how to collect and make sense of the massive amount of test results that can be generated from CI/CD, and how to usefully apply manual testing.
This document summarizes Dean Leffingwell's presentation on scaling agile software development. It discusses four key parts: 1) a lean and scalable requirements model using user stories, features, and non-functional requirements; 2) the agile release train approach with fixed schedules and variable scope; 3) rearchitecting systems for flow; and 4) agile portfolio management using epics to plan large initiatives. The document provides examples and diagrams to illustrate how requirements and planning are structured at the team, release, and portfolio levels when using scaled agile frameworks.
AfterTest Madrid March 2016 - DevOps and Testing IntroductionPeter Marshall
This document discusses continuous testing in the context of DevOps. It defines continuous testing as including automated testing, managing production and non-production environments, application monitoring, and evaluating business objectives. Continuous testing relies on DevOps activities like automating builds, infrastructure, deployments, and monitoring. It advocates for smaller, more frequent deliveries through practices like test automation, infrastructure as code, and treating testing as integral to the software delivery process. The conclusion emphasizes automation, configuration management, and obtaining frequent feedback to enable continuous testing.
Continuous testing & devops with @petemar5hallPeter Marshall
This document discusses testing software in high frequency delivery environments using continuous testing and DevOps practices. It outlines how continuous testing is not just about test automation, but also includes automated management of environments, application feedback through monitoring, and engaging in XP practices. DevOps helps by automating building, testing, and deployment to provide consistency and tools for teams. Characteristics of high frequency delivery environments include automating infrastructure, testing, and deployment to reduce errors and allow for smaller, more frequent deliveries. This allows for a single view of quality and faster restore times when issues arise.
Pre-Con Education: Introduction to Mainframe Academy With CA TechnologiesCA Technologies
Mainframe Academy with CA Technologies is a 7-week immersive certification program which brings basic mainframe skills to recent grads and veteran distributed systems staff alike. This presentation provides a sample of the content taught during the program and can be combined with hands-on lab access in the CA Technologies lab room. If you want to see how to transform your career with mainframe skills or how to build a team of productive systems programmers in short order, see this key educational offering.
For more information on Mainframe solutions from CA Technologies, please visit: http://bit.ly/1wbiPkl
Analyst Keynote: Continuous Delivery: Making DevOps AwesomeCA Technologies
This document summarizes a keynote presentation about continuous delivery and DevOps. The presentation discusses research showing that continuous delivery is a key driver of IT and organizational performance. It also discusses how lean management practices and organizational culture contribute to performance. The presentation provides examples of how continuous delivery, lean practices, and culture have helped organizations deliver more value. It encourages adopting these approaches to improve outcomes.
Robert Mircea & Virgil Chereches: Our Journey To Continuous Delivery at I T.A...Mozaic Works
This document discusses the journey of Virgil Chereches and Robert Mircea in implementing continuous delivery at their organization Orange. It provides an overview of continuous delivery and DevOps practices like automated testing, deployment pipelines, configuration management, and infrastructure automation that were implemented. Specific techniques discussed include blue-green deployments, feature flags, database migrations, metrics collection, logging, provisioning with Puppet, and scaling Puppet and Foreman. The goal is to achieve continuous delivery at Orange's scale to provide agility and reduce risk.
How to Use DevOps & APM to Release Better Software FasterDynatrace
This document discusses how DevOps and application performance management (APM) can be used together to release better software faster. It provides three key points:
1) DevOps breaks down silos between development and operations teams and enables collaboration, infrastructure automation, continuous integration and delivery, and other practices that reduce risks and speed up the software release cycle.
2) Applying APM strategies throughout the entire software lifecycle provides visibility into business metrics and the health of each build. This allows issues to be identified and prioritized earlier when they are cheaper to fix.
3) Integrating APM intelligence into deployment workflows and automated processes helps optimize mean time to repair and allows software to be released at the speed of business
This document discusses DevOps and continuous software delivery. It begins with an agenda that covers challenges in software delivery, what DevOps is, adopting DevOps in enterprises, DevOps in a hybrid world, and IBM Bluemix and DevOps. It then discusses challenges with current software delivery processes, defines DevOps, and outlines key DevOps principles and technical capabilities like continuous integration, delivery, testing, monitoring, infrastructure as code, and delivery pipelines. It also addresses DevOps in hybrid cloud environments and how IBM tools like UrbanCode Deploy can help with automating deployments across on-premise and cloud systems.
Automated performance testing simulates real users to determine an application's speed, scalability, and stability under load before deployment. It helps detect bottlenecks, ensures the system can handle peak load, and provides confidence that the application will work as expected on launch day. The process involves evaluating user expectations and system limits, creating test scripts, executing load, stress, and duration tests while monitoring servers, and analyzing results to identify areas for improvement.
Automated performance testing simulates real users to determine an application's speed, scalability, and stability under load before deployment. It helps detect bottlenecks, ensures the system can handle peak usage, and provides confidence that the application will work as expected on launch day. The process involves evaluating user needs, drafting test scripts, executing different types of load tests, and monitoring servers and applications to identify performance issues or degradation over time.
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0minseok kim
devops has been popular in IT ever since emerging cloud technology. to make IT more agile, we need to keep setup goal and measure performance with adopting new cloud native tools.
Some notions of continuous testing (CT) have been applied in software development methodologies for a while but it was never called by that term. Another term sometimes used for CT is parallel testing. While some have mastered CT, most of us struggle with how to transform our current testing approaches to CT approaches and align them with evolving development methodologies. Join Tom Wissink as he discusses current examples of CT implementations across different software development methodologies (agile, waterfall, incremental) and describes where parallel or CT type testing yields the best benefits. Arguably the most challenging methodology that demands CT testing is DevOps. DevOps requires all phases of testing to be done quickly and in parallel with the development process and some contend that testing continues into actual operations. Leave this session with a better understanding of CT, and how this approach can be best leveraged in your development environment.
This document discusses the journey of Virgil Chereches and Robert Mircea in implementing continuous delivery at their organization Orange. It outlines the need for continuous delivery to increase agility, techniques used like blue-green deployments and feature flags, infrastructure automation with tools like Puppet, centralized logging, and metrics collection. The goal is to achieve continuous deployment at Orange's scale through establishing best practices and an automated deployment pipeline.
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...ghodgkinson
1. The document discusses using IBM Rational Method Composer (RMC) to develop a Center of Excellence (CoE) intranet website for a major healthcare provider.
2. RMC allows optimizing software delivery processes through a CoE by developing a CoE website that contains customizable process libraries and templates.
3. A demo of the CoE website shows how it can contain over 100 practices and processes to leverage and customize for roles like planning, requirements, architecture, implementation and more.
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksIBM UrbanCode Products
Inefficient software delivery impacts the entire business, from line of business units, to operations, to development and test, and the variety of suppliers.
Wastes in your processes are causing bottlenecks.
Join Eric Minick, IBM DevOps Evangelist (and UrbanCode guy), as he explores how ‘Lean Thinking’ techniques can be leveraged to help identify ‘bottlenecks’ in your delivery pipeline that can be addressed by adopting DevOps.
Shift left - find defects earlier through automated test and deploymentClaudia Ring
Do you know how much time it takes or how that translates into dollars lost every time you fix a defect in development, QA, or Production? The cost of application failures or errors increases exponentially the further into the delivery pipeline they are when found. If application defects are discovered by end users in Production, or errors cause a Production outage, the cost can be thousands per second, in addition to the intangible loss of reputation.
So how do you begin to identify defects earlier in software development and prevent them from becoming major, costly errors later on? Join Al Wagner, IBM Technical Evangelist, as he discusses how to "shift left" and;
Incorporate service virtualization and automated testing into development for a more thorough and accurate representation of application quality
Integrate deployment automation with continuous testing to remove wait times on application promotion
Adopt best practices that have proven successful for IBM customers who are currently shifting left
This webinar was hosted live on 28th January 2023. Watch the on demand recording here: https://www.curiositysoftware.ie/modelling-continuous-testing-webinar
Teams striving to “do” DevOps and test continuously often reach for nearby tools, without first fixing their mindset and techniques. This often backfires long-term, as sticking-plaster solutions introduce anti-patterns, uncertainty, and repetition to tight sprints. Monolithic automation frameworks break and need fixing as developers make changes to systems coded using more modern techniques. Further maintenance emerges as tests, data and environments become misaligned. And has anyone stopped to consider how well you understand the system being developed, given its complexity exceeds human comprehension and has been reflected in the bewildering pipelines designed to test it?
This webinar will consider how you can apply a DevOps mindset to Continuous Testing, before exploring tools and techniques to support it. It will discuss how you can componentise vastly complex systems into understandable chunks, while mapping each component to the automation, data and environments needed to test it. You will see how cross-functional teams can combine reusable models to map complex systems, while generating tests, data and environments for in-sprint testing. As complex systems change, updating individual models and automation libraries regenerates rigorous tests, maintaining both the living documentation and aligned artifacts needed for Continuous Testing.
Watch the webinar on demand - https://www.curiositysoftware.ie/modelling-continuous-testing-webinar
DevOps for dummies study sharing - part IIChen-Tien Tsai
This document summarizes chapters from a book on DevOps. Chapter 4 discusses how cloud computing accelerates DevOps by enabling fast environment provisioning and deployment automation. It also covers Infrastructure as a Service, Platform as a Service, and Software as a Service cloud models. Chapter 5 explores using DevOps for mobile applications, continuous integration/deployment challenges, and scaling agile frameworks. Chapter 6 shares IBM's experience transforming to DevOps through goals, team structure, and metrics. Chapter 7 debunks common DevOps myths such as it only applying to web companies or necessitating operations learning code.
Breno de França is a professor interested in continuous software engineering. He has a background in software processes, architecture, and empirical software engineering. Continuous software engineering aims to deliver software frequently through practices like continuous integration, delivery, and deployment in order to get faster feedback. There are challenges in areas like continuous planning, testing, experimentation, and managing architectural degradation from rapid releases. Tools and strategies are needed to support practices like rollback and hot deployment in a continuous manner.
This document provides an introduction and overview of DevOps concepts and practices. It discusses how DevOps seeks to resolve the core conflict between development needs to deploy new features quickly and operations needs to keep systems running stably. The document outlines some key DevOps concepts like breaking down silos between development and operations, enabling collaboration across teams, integrating tooling and automating processes to allow for faster and more reliable software releases. It also discusses how DevOps aims to better align IT capabilities with business needs like continuously delivering value to customers through software.
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston
High performing DevOps teams point to effective test automation as a key to their success. This talk delivers key automation practices required to assess the risk of moving their builds through the pipeline - including balancing test scope & risk, test env/data management and continuous improvement
Continuous Testing through Service VirtualizationTechWell
The demand to accelerate software delivery and for teams to continuously test and release high quality software sooner has never been greater. However, whether your release strategy is based on schedule or quality, the entire delivery process hits the wall when agility stops at testing. When software/services that are part of the delivered system or required environments are unavailable for testing, the entire team suffers. Al Wagner explains how to remove these testing interruptions, decrease project risk, and release higher quality software sooner. Using a real-life example, Al shows you how service virtualization can be applied across the lifecycle to shift integration, functional, and performance testing to the left. Gain an understanding of how service virtualization can be incorporated into your automated build and deployment process, making continuous testing a reality for your organization. Learn what service virtualization can do for you and your stakeholders. The ROI is worth it!
The document discusses how agile methods can and should be applied to software maintenance, not just development. It provides several examples and studies that show how agile practices like Extreme Programming (XP) improve maintenance by reducing costs and issues while improving quality, compared to traditional waterfall methods. Open source software development is also discussed as a natural fit for agile maintenance practices.
Continuous Testing through Service VirtualizationTechWell
The demand to accelerate software delivery and for teams to continuously test and release high quality software sooner has never been greater. However, whether your release strategy is based on schedule or quality, the entire delivery process hits the wall when agility stops at testing. When software or services that are part of the delivered system, or required environments are unavailable for testing, the entire team suffers. Al Wagner explains how to remove these testing interruptions, decrease project risk, and release higher quality software sooner. Using a real-life example, learn how service virtualization can be applied across the lifecycle to shift integration, functional, and performance testing to the left. Gain an understanding of how service virtualization can be incorporated into your automated build and deployment process, making continuous testing a reality for your organization. Learn what service virtualization can do for you and your stakeholders. The ROI is worth it!
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...Leonardo Ferreira Leite
Apresentação realizada na Trilha da Indústria da CBSoft 2023.
Resumo: Apresentamos aqui um catálogo de padrões para aprimorar a operacionalização de serviços, o que reduz o tempo de reparo. Tal catálogo é baseado na prática de equipes do Serpro, estatal federal de tecnologia. Contudo, há um ônus considerável para se aplicar todos esses padrões. É possível também a má aplicação e o esquecimento deles. Assim, o catálogo traz reflexões sobre dificuldades em se produzir microsserviços (muitos serviços com constante atualização). Tais reflexões podem basear futuras pesquisas.
Mais informação: https://www.ime.usp.br/~leofl/devops/2023-09-14/chastra-no-cbsoft.html
Interação entre times de plataforma e desenvolvedores: como deve ser?Leonardo Ferreira Leite
Times de plataforma têm sido um caminho para lidar com os dilemas da divisão do trabalho entre os grupos de infraestrutura e de desenvolvimento, resultando na aceleração da entrega contínua. Nesse paradigma, desenvolvedores usam a plataforma de forma autônoma para implantar e operar seus serviços. Assim, eles não precisam interagir com a equipe da plataforma diariamente. Porém, ainda assim, não adianta ter a plataforma sem que haja certos padrões de colaboração entre o time de plataforma e os desenvolvedores. São esses padrões de colaboração, apresentados nesta palestra baseada em minha pesquisa de doutorado na USP, que tornam o paradigma de times de plataforma saudável e sustentável.
Evento: TDC 2022 São Paulo, trilha DevOps
https://thedevconf.com/tdc/2022/business/trilha-devops
How to Use DevOps & APM to Release Better Software FasterDynatrace
This document discusses how DevOps and application performance management (APM) can be used together to release better software faster. It provides three key points:
1) DevOps breaks down silos between development and operations teams and enables collaboration, infrastructure automation, continuous integration and delivery, and other practices that reduce risks and speed up the software release cycle.
2) Applying APM strategies throughout the entire software lifecycle provides visibility into business metrics and the health of each build. This allows issues to be identified and prioritized earlier when they are cheaper to fix.
3) Integrating APM intelligence into deployment workflows and automated processes helps optimize mean time to repair and allows software to be released at the speed of business
This document discusses DevOps and continuous software delivery. It begins with an agenda that covers challenges in software delivery, what DevOps is, adopting DevOps in enterprises, DevOps in a hybrid world, and IBM Bluemix and DevOps. It then discusses challenges with current software delivery processes, defines DevOps, and outlines key DevOps principles and technical capabilities like continuous integration, delivery, testing, monitoring, infrastructure as code, and delivery pipelines. It also addresses DevOps in hybrid cloud environments and how IBM tools like UrbanCode Deploy can help with automating deployments across on-premise and cloud systems.
Automated performance testing simulates real users to determine an application's speed, scalability, and stability under load before deployment. It helps detect bottlenecks, ensures the system can handle peak load, and provides confidence that the application will work as expected on launch day. The process involves evaluating user expectations and system limits, creating test scripts, executing load, stress, and duration tests while monitoring servers, and analyzing results to identify areas for improvement.
Automated performance testing simulates real users to determine an application's speed, scalability, and stability under load before deployment. It helps detect bottlenecks, ensures the system can handle peak usage, and provides confidence that the application will work as expected on launch day. The process involves evaluating user needs, drafting test scripts, executing different types of load tests, and monitoring servers and applications to identify performance issues or degradation over time.
Pivotal korea transformation_strategy_seminar_enterprise_dev_ops_20160630_v1.0minseok kim
devops has been popular in IT ever since emerging cloud technology. to make IT more agile, we need to keep setup goal and measure performance with adopting new cloud native tools.
Some notions of continuous testing (CT) have been applied in software development methodologies for a while but it was never called by that term. Another term sometimes used for CT is parallel testing. While some have mastered CT, most of us struggle with how to transform our current testing approaches to CT approaches and align them with evolving development methodologies. Join Tom Wissink as he discusses current examples of CT implementations across different software development methodologies (agile, waterfall, incremental) and describes where parallel or CT type testing yields the best benefits. Arguably the most challenging methodology that demands CT testing is DevOps. DevOps requires all phases of testing to be done quickly and in parallel with the development process and some contend that testing continues into actual operations. Leave this session with a better understanding of CT, and how this approach can be best leveraged in your development environment.
This document discusses the journey of Virgil Chereches and Robert Mircea in implementing continuous delivery at their organization Orange. It outlines the need for continuous delivery to increase agility, techniques used like blue-green deployments and feature flags, infrastructure automation with tools like Puppet, centralized logging, and metrics collection. The goal is to achieve continuous deployment at Orange's scale through establishing best practices and an automated deployment pipeline.
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...ghodgkinson
1. The document discusses using IBM Rational Method Composer (RMC) to develop a Center of Excellence (CoE) intranet website for a major healthcare provider.
2. RMC allows optimizing software delivery processes through a CoE by developing a CoE website that contains customizable process libraries and templates.
3. A demo of the CoE website shows how it can contain over 100 practices and processes to leverage and customize for roles like planning, requirements, architecture, implementation and more.
Using Lean Thinking to Identify and Address Delivery Pipeline BottlenecksIBM UrbanCode Products
Inefficient software delivery impacts the entire business, from line of business units, to operations, to development and test, and the variety of suppliers.
Wastes in your processes are causing bottlenecks.
Join Eric Minick, IBM DevOps Evangelist (and UrbanCode guy), as he explores how ‘Lean Thinking’ techniques can be leveraged to help identify ‘bottlenecks’ in your delivery pipeline that can be addressed by adopting DevOps.
Shift left - find defects earlier through automated test and deploymentClaudia Ring
Do you know how much time it takes or how that translates into dollars lost every time you fix a defect in development, QA, or Production? The cost of application failures or errors increases exponentially the further into the delivery pipeline they are when found. If application defects are discovered by end users in Production, or errors cause a Production outage, the cost can be thousands per second, in addition to the intangible loss of reputation.
So how do you begin to identify defects earlier in software development and prevent them from becoming major, costly errors later on? Join Al Wagner, IBM Technical Evangelist, as he discusses how to "shift left" and;
Incorporate service virtualization and automated testing into development for a more thorough and accurate representation of application quality
Integrate deployment automation with continuous testing to remove wait times on application promotion
Adopt best practices that have proven successful for IBM customers who are currently shifting left
This webinar was hosted live on 28th January 2023. Watch the on demand recording here: https://www.curiositysoftware.ie/modelling-continuous-testing-webinar
Teams striving to “do” DevOps and test continuously often reach for nearby tools, without first fixing their mindset and techniques. This often backfires long-term, as sticking-plaster solutions introduce anti-patterns, uncertainty, and repetition to tight sprints. Monolithic automation frameworks break and need fixing as developers make changes to systems coded using more modern techniques. Further maintenance emerges as tests, data and environments become misaligned. And has anyone stopped to consider how well you understand the system being developed, given its complexity exceeds human comprehension and has been reflected in the bewildering pipelines designed to test it?
This webinar will consider how you can apply a DevOps mindset to Continuous Testing, before exploring tools and techniques to support it. It will discuss how you can componentise vastly complex systems into understandable chunks, while mapping each component to the automation, data and environments needed to test it. You will see how cross-functional teams can combine reusable models to map complex systems, while generating tests, data and environments for in-sprint testing. As complex systems change, updating individual models and automation libraries regenerates rigorous tests, maintaining both the living documentation and aligned artifacts needed for Continuous Testing.
Watch the webinar on demand - https://www.curiositysoftware.ie/modelling-continuous-testing-webinar
DevOps for dummies study sharing - part IIChen-Tien Tsai
This document summarizes chapters from a book on DevOps. Chapter 4 discusses how cloud computing accelerates DevOps by enabling fast environment provisioning and deployment automation. It also covers Infrastructure as a Service, Platform as a Service, and Software as a Service cloud models. Chapter 5 explores using DevOps for mobile applications, continuous integration/deployment challenges, and scaling agile frameworks. Chapter 6 shares IBM's experience transforming to DevOps through goals, team structure, and metrics. Chapter 7 debunks common DevOps myths such as it only applying to web companies or necessitating operations learning code.
Breno de França is a professor interested in continuous software engineering. He has a background in software processes, architecture, and empirical software engineering. Continuous software engineering aims to deliver software frequently through practices like continuous integration, delivery, and deployment in order to get faster feedback. There are challenges in areas like continuous planning, testing, experimentation, and managing architectural degradation from rapid releases. Tools and strategies are needed to support practices like rollback and hot deployment in a continuous manner.
This document provides an introduction and overview of DevOps concepts and practices. It discusses how DevOps seeks to resolve the core conflict between development needs to deploy new features quickly and operations needs to keep systems running stably. The document outlines some key DevOps concepts like breaking down silos between development and operations, enabling collaboration across teams, integrating tooling and automating processes to allow for faster and more reliable software releases. It also discusses how DevOps aims to better align IT capabilities with business needs like continuously delivering value to customers through software.
DevOpsDays Houston 2019 - Lee Barnes - Effective Test Automation in DevOps - ...DevOpsDays Houston
High performing DevOps teams point to effective test automation as a key to their success. This talk delivers key automation practices required to assess the risk of moving their builds through the pipeline - including balancing test scope & risk, test env/data management and continuous improvement
Continuous Testing through Service VirtualizationTechWell
The demand to accelerate software delivery and for teams to continuously test and release high quality software sooner has never been greater. However, whether your release strategy is based on schedule or quality, the entire delivery process hits the wall when agility stops at testing. When software/services that are part of the delivered system or required environments are unavailable for testing, the entire team suffers. Al Wagner explains how to remove these testing interruptions, decrease project risk, and release higher quality software sooner. Using a real-life example, Al shows you how service virtualization can be applied across the lifecycle to shift integration, functional, and performance testing to the left. Gain an understanding of how service virtualization can be incorporated into your automated build and deployment process, making continuous testing a reality for your organization. Learn what service virtualization can do for you and your stakeholders. The ROI is worth it!
The document discusses how agile methods can and should be applied to software maintenance, not just development. It provides several examples and studies that show how agile practices like Extreme Programming (XP) improve maintenance by reducing costs and issues while improving quality, compared to traditional waterfall methods. Open source software development is also discussed as a natural fit for agile maintenance practices.
Continuous Testing through Service VirtualizationTechWell
The demand to accelerate software delivery and for teams to continuously test and release high quality software sooner has never been greater. However, whether your release strategy is based on schedule or quality, the entire delivery process hits the wall when agility stops at testing. When software or services that are part of the delivered system, or required environments are unavailable for testing, the entire team suffers. Al Wagner explains how to remove these testing interruptions, decrease project risk, and release higher quality software sooner. Using a real-life example, learn how service virtualization can be applied across the lifecycle to shift integration, functional, and performance testing to the left. Gain an understanding of how service virtualization can be incorporated into your automated build and deployment process, making continuous testing a reality for your organization. Learn what service virtualization can do for you and your stakeholders. The ROI is worth it!
Similar to Sistemas complexos-devops-2020-04-16 (20)
Microsserviços, por que tão difícil? Um catálogo de padrões para criar serviç...Leonardo Ferreira Leite
Apresentação realizada na Trilha da Indústria da CBSoft 2023.
Resumo: Apresentamos aqui um catálogo de padrões para aprimorar a operacionalização de serviços, o que reduz o tempo de reparo. Tal catálogo é baseado na prática de equipes do Serpro, estatal federal de tecnologia. Contudo, há um ônus considerável para se aplicar todos esses padrões. É possível também a má aplicação e o esquecimento deles. Assim, o catálogo traz reflexões sobre dificuldades em se produzir microsserviços (muitos serviços com constante atualização). Tais reflexões podem basear futuras pesquisas.
Mais informação: https://www.ime.usp.br/~leofl/devops/2023-09-14/chastra-no-cbsoft.html
Interação entre times de plataforma e desenvolvedores: como deve ser?Leonardo Ferreira Leite
Times de plataforma têm sido um caminho para lidar com os dilemas da divisão do trabalho entre os grupos de infraestrutura e de desenvolvimento, resultando na aceleração da entrega contínua. Nesse paradigma, desenvolvedores usam a plataforma de forma autônoma para implantar e operar seus serviços. Assim, eles não precisam interagir com a equipe da plataforma diariamente. Porém, ainda assim, não adianta ter a plataforma sem que haja certos padrões de colaboração entre o time de plataforma e os desenvolvedores. São esses padrões de colaboração, apresentados nesta palestra baseada em minha pesquisa de doutorado na USP, que tornam o paradigma de times de plataforma saudável e sustentável.
Evento: TDC 2022 São Paulo, trilha DevOps
https://thedevconf.com/tdc/2022/business/trilha-devops
This document summarizes Leonardo Leite's thesis defense presented at the University of São Paulo, Brazil on organizational structures for development and infrastructure professionals in software organizations. The thesis presented a grounded theory on organizational structures developed through three phases of research involving interviews with software professionals. The research developed a taxonomy of four common organizational structures and analyzed why different structures are adopted, how their drawbacks are addressed, and implications for practitioners and scholars.
Do commit à produção: integração contínua e entrega contínua no pipeline de i...Leonardo Ferreira Leite
O documento discute integração contínua e entrega contínua no pipeline de implantação, incluindo commits frequentes, branches curtas, merges frequentes, feature flags, retrocompatibilidade, microsserviços, compilação, testes de unidade, análise de qualidade, implantação em validação, testes de aceitação, testes de carga, verificações de segurança, testes manuais e implantação em produção com entrega contínua e implantação contínua. Exemplos reais de pipelines são fornecidos de projetos
Como organizar as interações (humanas) entre devs e ops num contexto de entrega contínua? Em uma pesquisa com 46 pessoas, de 44 empresas, em 8 países, em meu doutorado na USP, identifiquei 4 estruturas organizacionais. Entre elas, destaca-se a que denominei de ?times de plataforma?: o time de infra passa a fornecer serviços altamente automatizados para empoderar os desenvolvedores, que por sua vez se tornam responsáveis pela operação de seus serviços. Apesar dos desafios, esse esquema contribui para um alto desempenho de entrega. Nesta palestra, você entenderá o que é um time de plataforma e suas consequências; somada à minha experiência no Serpro, discutirei essa abordagem para as empresas.
O documento discute a história do uso de software livre pelo governo brasileiro desde os anos 2000, quando começou a ser adotado em vários ministérios sob o governo Lula. No entanto, sua adoção declinou sob os governos Dilma e Temer à medida que associações políticas se desenvolveram. O documento também discute propostas legislativas a favor do software livre e casos de sucesso em outros países.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-und-domino-lizenzkostenreduzierung-in-der-welt-von-dlau/
DLAU und die Lizenzen nach dem CCB- und CCX-Modell sind für viele in der HCL-Community seit letztem Jahr ein heißes Thema. Als Notes- oder Domino-Kunde haben Sie vielleicht mit unerwartet hohen Benutzerzahlen und Lizenzgebühren zu kämpfen. Sie fragen sich vielleicht, wie diese neue Art der Lizenzierung funktioniert und welchen Nutzen sie Ihnen bringt. Vor allem wollen Sie sicherlich Ihr Budget einhalten und Kosten sparen, wo immer möglich. Das verstehen wir und wir möchten Ihnen dabei helfen!
Wir erklären Ihnen, wie Sie häufige Konfigurationsprobleme lösen können, die dazu führen können, dass mehr Benutzer gezählt werden als nötig, und wie Sie überflüssige oder ungenutzte Konten identifizieren und entfernen können, um Geld zu sparen. Es gibt auch einige Ansätze, die zu unnötigen Ausgaben führen können, z. B. wenn ein Personendokument anstelle eines Mail-Ins für geteilte Mailboxen verwendet wird. Wir zeigen Ihnen solche Fälle und deren Lösungen. Und natürlich erklären wir Ihnen das neue Lizenzmodell.
Nehmen Sie an diesem Webinar teil, bei dem HCL-Ambassador Marc Thomas und Gastredner Franz Walder Ihnen diese neue Welt näherbringen. Es vermittelt Ihnen die Tools und das Know-how, um den Überblick zu bewahren. Sie werden in der Lage sein, Ihre Kosten durch eine optimierte Domino-Konfiguration zu reduzieren und auch in Zukunft gering zu halten.
Diese Themen werden behandelt
- Reduzierung der Lizenzkosten durch Auffinden und Beheben von Fehlkonfigurationen und überflüssigen Konten
- Wie funktionieren CCB- und CCX-Lizenzen wirklich?
- Verstehen des DLAU-Tools und wie man es am besten nutzt
- Tipps für häufige Problembereiche, wie z. B. Team-Postfächer, Funktions-/Testbenutzer usw.
- Praxisbeispiele und Best Practices zum sofortigen Umsetzen
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
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!
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)
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
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)
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