SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
MedTech
Chapter 8 – Deployment
Deployment Process, Best Pratices, DevOps
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 1
MedTech – Mediterranean Institute of Technology
CS321-Software Engineering
MedTech
MedTech
INTRODUCTION TO DEPLOYMENT
Deployment
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 2
MedTech
Deployment Phase
• One of the biggest application lifecycle management challenges
• Deployment
• All the activities that make a software system available for use
• Activity responsible for movement of approved releases to test and
production environment
• Release
• A collection of hardware, software, documentation, processes or other
components required to implement one or more approved changes to IT
services
• The contents of each release are managed, tested and deployed as a single
entity
• Release and Deployment Management
• Process responsible for planning, scheduling and controlling the movement
of releases to test and production environments
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 3
Deployment
MedTech
Objectives
• Efficiently build, install, test and deploy releases to a target
environment successfully and on schedule
• Clear and comprehensive release and deployment plans
• Controlled deployment of a new or changed service into
production
• Minimal unpredicted impact on the production services,
operations and support organization
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 4
Deployment
MedTech
Workflow
• Deployments should be treated as part of a development workflow, not
as an afterthought
• The workflow will usually include at least three environments:
• Development
• Staging
• Production
• Proposed Workflow:
• Developers work on bugs and features in separate branches
• Once features are implemented, they are merged into the staging branch
and deployed to the Staging environment for quality assurance and testing
• After testing is complete, feature branches are merged into the
development branch
• On the release date, the development branch is merged into production and
deployed to the Production environment
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 5
Deployment
MedTech
Version Control: Branching Workflow by Git
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 6
Deployment
See a	detailed example in:
http://nvie.com/posts/a-successful-git-branching-model/
MedTech
Development Environment
• Environment in which changes to software are developed
• Differs from the ultimate target environment:
• The target may not be a desktop computer (smartphone, embedded
system,…)
• The developer’s environment will include development tools (compiler, IDE,
libraries…) which are not necessarely present in the user’s environment
• Every developer should have his local setup
• Automatic deployment on every commit wastes a lot of time, and correcting
mistakes is tedious
• Testing on a local computer before deployment removes this difficulty
• Only stable versions are pushed to a Staging environment
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 7
Deployment
MedTech
Staging Environment
• Mirror copy of the production server
• Purpose: test the completed application on the copy of production to ensure
that it won’t break the existant production applications
• No actual code development should take place on a staging server
• Once the features are implemented and considered fairly stable, they get
merged into the staging branch
• It is recommanded to have a branch called staging to represent the staging
environment
• It allows developers to deploy multiple branches to the same server
simultaneously, simply by merging everything that needs to be deployed to the
staging branch.
• At every commit or push in the staging branch, it is recommanded that the
code is deployed to the Staging environment
• Testers go to staging servers and verify that the code works as intended
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 8
Deployment
MedTech
Production Environment
• Once the feature is implemented and tested, it can be deployed to
production
• If the feature was implemented in a separate branch, it should be
merged into a stable development branch first
• Merge the development branch into production
• Deploy the production branch to your Production environment by hand
or automatically
• Always deploy major releases to production at a scheduled time, of
which the whole team is aware
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 9
Deployment
MedTech
DEVOPS
Deployment
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 10
MedTech
DevOps: Definition
• Software for large-scale web sites has been traditionally written by
one group of people (Devs), then released and operated by a different
group (Ops)
• These two groups have very different levels of visibility on how the
software works
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 11
DevOps
MedTech
DevOps: Definition
• It leads to every role blaming the other when a problem occurs
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 12
DevOps
MedTech
DevOps: Definition
• A cultural and professional movement, focused on how we build and
operate high velocity organizations, born from the experiences of its
practitioners
• Practice of operations and development engineers participating
together in the entire service lifecycle, from design through the
development process to production support
• Based on 5 principles: CALMS
• Culture: Own the change to drive collaboration and communication
• Automation: Take manual steps out of your value chain
• Lean: Use lean principles to enable higher cycle frequency
• Measurement: Measure everything and use data to refine cycles
• Sharing: Share experiences, successful or not, to enable others to learn
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 13
DevOps
MedTech
Lean?
• Systematic method for the elimination of waste ("Muda") within a
manufacturing system
• 7 wastes: transportation, inventory, motion, waiting, over-processing, over-
production, defects
• Centered on making obvious what adds value by reducing everything
else.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 14
DevOps
MedTech
DevOps vs. Agile
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 15
DevOps
MedTech
DevOps vs. Agile
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 16
DevOps
MedTech
Why to Continuous …
• Continuous is one of the most popular words in the DevOps
lexicon
• Almost everything in DevOps is continuous: be it continuous
integration, continuous deployment, continuous delivery,
continuous testing and so on.
• Like many technological concepts, continuous something is
not clearly defined by the DevOps teams
• Most of the times, « continuous » is something of an
exaggeration
• Implies that software changes roll down the pipeline in a totally constant,
never-stopping fashion, which is wrong
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 17
Continuous something..
MedTech
Continuous Integration
• Changes to code automatically deployed to mainline branch
• After passing unit tests
• Bugs are detected quickly
• « if you have to fail, fail quickly »
• Helps automate deployments
• Use of a continuous integration server (Jenkins, Bamboo..)
• Automatically tests code written by individual developers to make sure it
can be merged into the main code base
• Helps developers to write and test small chunks of code on an ongoing
basis, which minimizes the risk that a code change could cause serious
problems and force developers to revert their application to an earlier
state.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 18
Continuous something..
MedTech
Continuous Delivery
• The process of delivering software updates to users on a nearly
constant basis
• Made possible by continuous integration and other optimizations at
earlier stages of the development process
• In Continuous Delivery, you aim to have the full software delivery life
cycle automated up until the last environment before production, so
that you are ready at any time to deploy automatically to production.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 19
Continuous something..
MedTech
Continuous Deployment
• « Process by which our team deploys software changes to
production services over 30 times per day »
• (only theoretically)
• Deployment or release of code to Production as soon as it is
ready.
• Mainly the same as Continuous Delivery, but adding an
automatic trigger to deploy to production.
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 20
Continuous something..
MedTech
Continuous Something in DevOps
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 21
DevOps
MedTech
DevOps Best Practices
• Automate everything you can
• The more you automate, the more you avoid mistakes that can be done at
deployment
• If you have difficulty automating all the process, automate what you can, and
leave the hard steps to be done manually ( just start!)
• Production should not be such a big deal!
• Keep your staging and production environments consistant
• Staging and Production should be mirror copies, but it is not enough: the
deployment mechanism should be the same too!
• DevOps doesn’t mean « deploying your application to production 30 times a
day »
• It’s not about the number of deployments a day, it’s about being able to deploy
really quickly and easily when the business requires you to
• The faster you get the feedback from production, the quicker developers can
fix it
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 22
DevOps
MedTech
DevOps Best Practices
• Any change that was not put into production, as far as the final user
is concerned, doesn’t exist
• If a member of the team is hit by a bus…
• Always think of a rollback strategy
• Even for your database, think of a way to maintain old versions for some
time, in case of a mistake
• Even though you have a very strict governance policy (25 people need
to sign in order for deployment to production to take place), you can
still automate the process
• Focus on automated testing, even in production!
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 23
DevOps
MedTech
References
Dr. Lilia SFAXI
www.liliasfaxi.wix.com/liliasfaxi
Slide 24
• Intro to DevOps, Udacity,
https://classroom.udacity.com/courses/ud611
• Damian Brady (Solution Architect at Octopus Deploy), DevOps Best
Practices, https://channel9.msdn.com/Shows/DevOps-Dimension/9--
DevOps--Deployment-Automation-Best-Practices
• Deployments Best Practices, Beanstalk Guides,
http://guides.beanstalkapp.com/deployments/best-practices.html

Contenu connexe

Tendances

DevOps Overview
DevOps OverviewDevOps Overview
DevOps OverviewSagar Mody
 
functional testing
functional testing functional testing
functional testing bharathanche
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Simplilearn
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps IntroductionRobert Sell
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentNaresh Jain
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & GitCraig Smith
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and MeasurementsDavis Thomas
 
Release Management
Release Management Release Management
Release Management Vyom Labs
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0Mohamed Taman
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?Soumya De
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | EdurekaEdureka!
 

Tendances (20)

DevOps
DevOpsDevOps
DevOps
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
functional testing
functional testing functional testing
functional testing
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
DevOps seminar ppt
DevOps seminar ppt DevOps seminar ppt
DevOps seminar ppt
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
 
Software Test Metrics and Measurements
Software Test Metrics and MeasurementsSoftware Test Metrics and Measurements
Software Test Metrics and Measurements
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
Release Management
Release Management Release Management
Release Management
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0DevOps concepts, tools, and technologies v1.0
DevOps concepts, tools, and technologies v1.0
 
What Is DevOps?
What Is DevOps?What Is DevOps?
What Is DevOps?
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 

En vedette

Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phaseLilia Sfaxi
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patternsLilia Sfaxi
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationLilia Sfaxi
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesLilia Sfaxi
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- testsLilia Sfaxi
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- designLilia Sfaxi
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introductionLilia Sfaxi
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 

En vedette (8)

Software Engineering - chp6- development phase
Software Engineering - chp6- development phaseSoftware Engineering - chp6- development phase
Software Engineering - chp6- development phase
 
Software Engineering - chp4- design patterns
Software Engineering - chp4- design patternsSoftware Engineering - chp4- design patterns
Software Engineering - chp4- design patterns
 
Software Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specificationSoftware Engineering - chp2- requirements specification
Software Engineering - chp2- requirements specification
 
Software Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologiesSoftware Engineering - chp1- software dev methodologies
Software Engineering - chp1- software dev methodologies
 
Software Engineering - chp7- tests
Software Engineering - chp7- testsSoftware Engineering - chp7- tests
Software Engineering - chp7- tests
 
Software Engineering - chp3- design
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 

Similaire à Software Engineering - chp8- deployment

DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOpsMoataz Mahmoud
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)XebiaLabs
 
Back To Basics
Back To BasicsBack To Basics
Back To Basicskamalikamj
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsXebiaLabs
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018AgileNetwork
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous deliveryMasas Dani
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks Ulf Mattsson
 
Outpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)Serena Software
 
Continuous Integration JUG Hannover
Continuous Integration JUG HannoverContinuous Integration JUG Hannover
Continuous Integration JUG HannoverYann Cébron
 
The biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about themThe biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about themWayne Greene
 
Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018Outpost24
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1G R VISHAL
 

Similaire à Software Engineering - chp8- deployment (20)

Dev ops
Dev opsDev ops
Dev ops
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Tell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you areTell me how you provision and I'll tell you how you are
Tell me how you provision and I'll tell you how you are
 
Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)Delivering Better Software Faster (Without Breaking Everything)
Delivering Better Software Faster (Without Breaking Everything)
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
 
Unified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOpsUnified Deployment: Including the Mainframe in Enterprise DevOps
Unified Deployment: Including the Mainframe in Enterprise DevOps
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
 
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
DevOps - IaC | Talk | AGILE GURUGRAM 2018 | 23 - 24 March, 2018
 
Continuous delivery
Continuous deliveryContinuous delivery
Continuous delivery
 
AICT_presentation.pptx
AICT_presentation.pptxAICT_presentation.pptx
AICT_presentation.pptx
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
Outpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOpsOutpost24 webinar: Turning DevOps and security into DevSecOps
Outpost24 webinar: Turning DevOps and security into DevSecOps
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 
Continuous Integration JUG Hannover
Continuous Integration JUG HannoverContinuous Integration JUG Hannover
Continuous Integration JUG Hannover
 
The biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about themThe biggest DevOps problems you didn't know you had and what to do about them
The biggest DevOps problems you didn't know you had and what to do about them
 
Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018Outpost24 webinar - application security in a dev ops world-08-2018
Outpost24 webinar - application security in a dev ops world-08-2018
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
Dev ops
Dev opsDev ops
Dev ops
 

Plus de Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 

Plus de Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 

Dernier

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Dernier (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

Software Engineering - chp8- deployment

  • 1. MedTech Chapter 8 – Deployment Deployment Process, Best Pratices, DevOps Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1 MedTech – Mediterranean Institute of Technology CS321-Software Engineering MedTech
  • 2. MedTech INTRODUCTION TO DEPLOYMENT Deployment Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 2
  • 3. MedTech Deployment Phase • One of the biggest application lifecycle management challenges • Deployment • All the activities that make a software system available for use • Activity responsible for movement of approved releases to test and production environment • Release • A collection of hardware, software, documentation, processes or other components required to implement one or more approved changes to IT services • The contents of each release are managed, tested and deployed as a single entity • Release and Deployment Management • Process responsible for planning, scheduling and controlling the movement of releases to test and production environments Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 3 Deployment
  • 4. MedTech Objectives • Efficiently build, install, test and deploy releases to a target environment successfully and on schedule • Clear and comprehensive release and deployment plans • Controlled deployment of a new or changed service into production • Minimal unpredicted impact on the production services, operations and support organization Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 4 Deployment
  • 5. MedTech Workflow • Deployments should be treated as part of a development workflow, not as an afterthought • The workflow will usually include at least three environments: • Development • Staging • Production • Proposed Workflow: • Developers work on bugs and features in separate branches • Once features are implemented, they are merged into the staging branch and deployed to the Staging environment for quality assurance and testing • After testing is complete, feature branches are merged into the development branch • On the release date, the development branch is merged into production and deployed to the Production environment Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 5 Deployment
  • 6. MedTech Version Control: Branching Workflow by Git Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 6 Deployment See a detailed example in: http://nvie.com/posts/a-successful-git-branching-model/
  • 7. MedTech Development Environment • Environment in which changes to software are developed • Differs from the ultimate target environment: • The target may not be a desktop computer (smartphone, embedded system,…) • The developer’s environment will include development tools (compiler, IDE, libraries…) which are not necessarely present in the user’s environment • Every developer should have his local setup • Automatic deployment on every commit wastes a lot of time, and correcting mistakes is tedious • Testing on a local computer before deployment removes this difficulty • Only stable versions are pushed to a Staging environment Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 7 Deployment
  • 8. MedTech Staging Environment • Mirror copy of the production server • Purpose: test the completed application on the copy of production to ensure that it won’t break the existant production applications • No actual code development should take place on a staging server • Once the features are implemented and considered fairly stable, they get merged into the staging branch • It is recommanded to have a branch called staging to represent the staging environment • It allows developers to deploy multiple branches to the same server simultaneously, simply by merging everything that needs to be deployed to the staging branch. • At every commit or push in the staging branch, it is recommanded that the code is deployed to the Staging environment • Testers go to staging servers and verify that the code works as intended Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 8 Deployment
  • 9. MedTech Production Environment • Once the feature is implemented and tested, it can be deployed to production • If the feature was implemented in a separate branch, it should be merged into a stable development branch first • Merge the development branch into production • Deploy the production branch to your Production environment by hand or automatically • Always deploy major releases to production at a scheduled time, of which the whole team is aware Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 9 Deployment
  • 11. MedTech DevOps: Definition • Software for large-scale web sites has been traditionally written by one group of people (Devs), then released and operated by a different group (Ops) • These two groups have very different levels of visibility on how the software works Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 11 DevOps
  • 12. MedTech DevOps: Definition • It leads to every role blaming the other when a problem occurs Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 12 DevOps
  • 13. MedTech DevOps: Definition • A cultural and professional movement, focused on how we build and operate high velocity organizations, born from the experiences of its practitioners • Practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support • Based on 5 principles: CALMS • Culture: Own the change to drive collaboration and communication • Automation: Take manual steps out of your value chain • Lean: Use lean principles to enable higher cycle frequency • Measurement: Measure everything and use data to refine cycles • Sharing: Share experiences, successful or not, to enable others to learn Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 13 DevOps
  • 14. MedTech Lean? • Systematic method for the elimination of waste ("Muda") within a manufacturing system • 7 wastes: transportation, inventory, motion, waiting, over-processing, over- production, defects • Centered on making obvious what adds value by reducing everything else. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 14 DevOps
  • 15. MedTech DevOps vs. Agile Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 15 DevOps
  • 16. MedTech DevOps vs. Agile Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 16 DevOps
  • 17. MedTech Why to Continuous … • Continuous is one of the most popular words in the DevOps lexicon • Almost everything in DevOps is continuous: be it continuous integration, continuous deployment, continuous delivery, continuous testing and so on. • Like many technological concepts, continuous something is not clearly defined by the DevOps teams • Most of the times, « continuous » is something of an exaggeration • Implies that software changes roll down the pipeline in a totally constant, never-stopping fashion, which is wrong Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 17 Continuous something..
  • 18. MedTech Continuous Integration • Changes to code automatically deployed to mainline branch • After passing unit tests • Bugs are detected quickly • « if you have to fail, fail quickly » • Helps automate deployments • Use of a continuous integration server (Jenkins, Bamboo..) • Automatically tests code written by individual developers to make sure it can be merged into the main code base • Helps developers to write and test small chunks of code on an ongoing basis, which minimizes the risk that a code change could cause serious problems and force developers to revert their application to an earlier state. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 18 Continuous something..
  • 19. MedTech Continuous Delivery • The process of delivering software updates to users on a nearly constant basis • Made possible by continuous integration and other optimizations at earlier stages of the development process • In Continuous Delivery, you aim to have the full software delivery life cycle automated up until the last environment before production, so that you are ready at any time to deploy automatically to production. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 19 Continuous something..
  • 20. MedTech Continuous Deployment • « Process by which our team deploys software changes to production services over 30 times per day » • (only theoretically) • Deployment or release of code to Production as soon as it is ready. • Mainly the same as Continuous Delivery, but adding an automatic trigger to deploy to production. Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 20 Continuous something..
  • 21. MedTech Continuous Something in DevOps Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 21 DevOps
  • 22. MedTech DevOps Best Practices • Automate everything you can • The more you automate, the more you avoid mistakes that can be done at deployment • If you have difficulty automating all the process, automate what you can, and leave the hard steps to be done manually ( just start!) • Production should not be such a big deal! • Keep your staging and production environments consistant • Staging and Production should be mirror copies, but it is not enough: the deployment mechanism should be the same too! • DevOps doesn’t mean « deploying your application to production 30 times a day » • It’s not about the number of deployments a day, it’s about being able to deploy really quickly and easily when the business requires you to • The faster you get the feedback from production, the quicker developers can fix it Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 22 DevOps
  • 23. MedTech DevOps Best Practices • Any change that was not put into production, as far as the final user is concerned, doesn’t exist • If a member of the team is hit by a bus… • Always think of a rollback strategy • Even for your database, think of a way to maintain old versions for some time, in case of a mistake • Even though you have a very strict governance policy (25 people need to sign in order for deployment to production to take place), you can still automate the process • Focus on automated testing, even in production! Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 23 DevOps
  • 24. MedTech References Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 24 • Intro to DevOps, Udacity, https://classroom.udacity.com/courses/ud611 • Damian Brady (Solution Architect at Octopus Deploy), DevOps Best Practices, https://channel9.msdn.com/Shows/DevOps-Dimension/9-- DevOps--Deployment-Automation-Best-Practices • Deployments Best Practices, Beanstalk Guides, http://guides.beanstalkapp.com/deployments/best-practices.html