SlideShare a Scribd company logo
1 of 23
DEPLOYMENT AUTOMATION
& CONTINUOUS DEPLOYMENT

           Szymon Pobiega
ONLY WEB APPLICATIONS
MANUAL SERVER CONFIGURATION
ONLY SIT ENVIRONMENT



                      PUSH MODEL
                     SPECIAL BUILD
GO NOT TO THE ELVES ARCHITECTS FOR




                                     http://bit.ly/AqFnOf
COUNSEL, FOR THEY WILL SAY BOTH NO
             AND YES
http://bit.ly/z5Fpp3
DEPLOYMENT AUTOMATION
& CONTINUOUS DEPLOYMENT

           Szymon Pobiega
HOW LONG WOULD IT TAKE YOUR
ORGANIZATION TO DEPLOY A CHANGE
THAT INVOLVES JUST ONE SINGLE LINE
            OF CODE?

                  Mary Poppendieck
FEEDBACK
WAIT

                                    NO
        CHECK VERSION OF
          LATEST BUILD
                                    NEW?
                                         YES

                  RUN INTEGRATION
UPDATE RC STATE
                        TESTS
                                    DEPLOY
REPEATABILITY
PS C:PowerShell>

COMMON.BAT     PARAMS.BAT



       DEPLOY_A.BAT         APPS.CSV      DEPLOY.PS1


         DEPLOY_B.BAT

             DEPLOY_C.BAT        DEPLOY-ALL.PS1




    DEPLOY_ALL.BAT
PS C:PowerShell>



    Import-CSV

   Invoke-Command
PS C:PowerShellLINQ>

PS C:$a = $b `                 var a = b

| ForEach-Object { 2 * $_ } `   .Select(x=> 2*x)

| Where-Object { $_ -gt 0 } `   .Where(x=> x>0)

| Select-Object -Unique `       .Distinct()

| Select-Object -Skip 1 `       .Skip(1)

| Select-Object -First 2        .Take(2);
CONFIGURATION
 MANAGEMENT
ENV +
 ENV
          APP



SHARED   APP
ENVIRONMENTS , ROLES & MACHINES

 PRODUCTION     TESTING      CI


        WEB-1
                 TEST-1


WEB-2                        CI-1

                 TEST-2
        WEB-3



APP-1
WEB APPS AND SCHEDULED JOBS
AUTOMATIC SERVER CONFIGURATION
PULL MODEL



               EVERY BUILD CREATES RC
          VERSION-CONTROLLED CONFIG
                    PACKAGE SECURITY
2 WORKWEEKS TO IMPLEMENT
SAVED 1 WORKWEEK DURING FIRST MONTH




         PRODUCTION DEPLOYMENT BY BA
    PRODUCTION DEPLOYMENT EVERY WEEK
PROPER ENVIRONMENT DESIGN

                        POWERSHELL
                        SCRIPTING




EVENT SOURCING ARCHITECTURE
ZERO-DOWNTIME DEPLOYMENT
MONITORING & INSTRUMENTATION
              VM PROVISIONING
THANK YOU


   SZYMON@POBIEGA.COM
SIMON-SAYS-ARCHITECTURE.COM
     @SZYMONPOBIEGA

More Related Content

Viewers also liked

Growing Change Agile Leaders - Why, What and How
Growing Change Agile Leaders - Why, What and HowGrowing Change Agile Leaders - Why, What and How
Growing Change Agile Leaders - Why, What and HowSharon Richmond
 
Integrando web services j2 ee com
Integrando web services j2 ee comIntegrando web services j2 ee com
Integrando web services j2 ee commsincic
 
Acque
AcqueAcque
Acquesara
 
Thoughts on MongoDB Analytics
Thoughts on MongoDB AnalyticsThoughts on MongoDB Analytics
Thoughts on MongoDB Analyticsrogerbodamer
 
Thoughts on consistency models
Thoughts on consistency modelsThoughts on consistency models
Thoughts on consistency modelsrogerbodamer
 
Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling rogerbodamer
 
DDD-Enabling Architectures with EventStore
DDD-Enabling Architectures with EventStoreDDD-Enabling Architectures with EventStore
DDD-Enabling Architectures with EventStoreSzymonPobiega
 
Domain Driven Design, czyli progamowanie przez modelowanie
Domain Driven Design, czyli progamowanie przez modelowanieDomain Driven Design, czyli progamowanie przez modelowanie
Domain Driven Design, czyli progamowanie przez modelowanieSzymonPobiega
 
Schema Design with MongoDB
Schema Design with MongoDBSchema Design with MongoDB
Schema Design with MongoDBrogerbodamer
 
Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011rogerbodamer
 
Tipos de mosquetones
Tipos de mosquetonesTipos de mosquetones
Tipos de mosquetonesuzzi
 
управления репутацией и коммуникациями
управления репутацией и коммуникациямиуправления репутацией и коммуникациями
управления репутацией и коммуникациямиoleksandrdrozd
 
управления репутацией и коммуникациями
управления репутацией и коммуникациямиуправления репутацией и коммуникациями
управления репутацией и коммуникациямиoleksandrdrozd
 
брендывинтернет2011парадоксыст
брендывинтернет2011парадоксыстбрендывинтернет2011парадоксыст
брендывинтернет2011парадоксыстoleksandrdrozd
 
EventStore as a message broker
EventStore as a message brokerEventStore as a message broker
EventStore as a message brokerSzymonPobiega
 

Viewers also liked (19)

WCF 4
WCF 4WCF 4
WCF 4
 
Growing Change Agile Leaders - Why, What and How
Growing Change Agile Leaders - Why, What and HowGrowing Change Agile Leaders - Why, What and How
Growing Change Agile Leaders - Why, What and How
 
Integrando web services j2 ee com
Integrando web services j2 ee comIntegrando web services j2 ee com
Integrando web services j2 ee com
 
Deployment
DeploymentDeployment
Deployment
 
Acque
AcqueAcque
Acque
 
Mongo db japan
Mongo db japanMongo db japan
Mongo db japan
 
Thoughts on MongoDB Analytics
Thoughts on MongoDB AnalyticsThoughts on MongoDB Analytics
Thoughts on MongoDB Analytics
 
Thoughts on consistency models
Thoughts on consistency modelsThoughts on consistency models
Thoughts on consistency models
 
Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling Intro to MongoDB and datamodeling
Intro to MongoDB and datamodeling
 
DDD-Enabling Architectures with EventStore
DDD-Enabling Architectures with EventStoreDDD-Enabling Architectures with EventStore
DDD-Enabling Architectures with EventStore
 
Domain Driven Design, czyli progamowanie przez modelowanie
Domain Driven Design, czyli progamowanie przez modelowanieDomain Driven Design, czyli progamowanie przez modelowanie
Domain Driven Design, czyli progamowanie przez modelowanie
 
Schema Design with MongoDB
Schema Design with MongoDBSchema Design with MongoDB
Schema Design with MongoDB
 
Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011Mongo Web Apps: OSCON 2011
Mongo Web Apps: OSCON 2011
 
Tipos de mosquetones
Tipos de mosquetonesTipos de mosquetones
Tipos de mosquetones
 
управления репутацией и коммуникациями
управления репутацией и коммуникациямиуправления репутацией и коммуникациями
управления репутацией и коммуникациями
 
управления репутацией и коммуникациями
управления репутацией и коммуникациямиуправления репутацией и коммуникациями
управления репутацией и коммуникациями
 
брендывинтернет2011парадоксыст
брендывинтернет2011парадоксыстбрендывинтернет2011парадоксыст
брендывинтернет2011парадоксыст
 
Prodigi lds july-2011
Prodigi lds july-2011Prodigi lds july-2011
Prodigi lds july-2011
 
EventStore as a message broker
EventStore as a message brokerEventStore as a message broker
EventStore as a message broker
 

Similar to Continuous Delivery

Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012timstone
 
Continuous delivery continuous integration 0.3
Continuous delivery continuous integration 0.3Continuous delivery continuous integration 0.3
Continuous delivery continuous integration 0.3Alex Tregubov
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Yan Cui
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Yan Cui
 
Continuous delivery @CD Summit Stockholm
Continuous delivery @CD Summit StockholmContinuous delivery @CD Summit Stockholm
Continuous delivery @CD Summit StockholmMichael Medin
 
Autoscaling, Chef and New Relic
Autoscaling, Chef and New RelicAutoscaling, Chef and New Relic
Autoscaling, Chef and New RelicFernando Honig
 
Refactoring & Restructuring - Improving the Code and Structure of Software
Refactoring & Restructuring - Improving the Code and Structure of SoftwareRefactoring & Restructuring - Improving the Code and Structure of Software
Refactoring & Restructuring - Improving the Code and Structure of SoftwareCodeOps Technologies LLP
 
Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Yan Cui
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014Amazon Web Services
 
Continuous delivery from the trenches Redhat Forum Edition
Continuous delivery from the trenches Redhat Forum EditionContinuous delivery from the trenches Redhat Forum Edition
Continuous delivery from the trenches Redhat Forum EditionMichael Medin
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenchesYan Cui
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience reportYan Cui
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaAmazon Web Services
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012Henri Gomez
 
Kubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsKubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsAna-Maria Mihalceanu
 
Evolutionary infrastructure agile 2018 - kief morris
Evolutionary infrastructure   agile 2018 - kief morrisEvolutionary infrastructure   agile 2018 - kief morris
Evolutionary infrastructure agile 2018 - kief morrisKief Morris
 
Modernizing Traditional Applications with Docker EE: From PoC to Production
Modernizing Traditional Applications with Docker EE: From PoC to ProductionModernizing Traditional Applications with Docker EE: From PoC to Production
Modernizing Traditional Applications with Docker EE: From PoC to ProductionDocker, Inc.
 

Similar to Continuous Delivery (20)

Stripes RJUG March 2012
Stripes RJUG March 2012Stripes RJUG March 2012
Stripes RJUG March 2012
 
Continuous delivery continuous integration 0.3
Continuous delivery continuous integration 0.3Continuous delivery continuous integration 0.3
Continuous delivery continuous integration 0.3
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
Architecting Applications
Architecting ApplicationsArchitecting Applications
Architecting Applications
 
Continuous delivery @CD Summit Stockholm
Continuous delivery @CD Summit StockholmContinuous delivery @CD Summit Stockholm
Continuous delivery @CD Summit Stockholm
 
Autoscaling, Chef and New Relic
Autoscaling, Chef and New RelicAutoscaling, Chef and New Relic
Autoscaling, Chef and New Relic
 
Refactoring & Restructuring - Improving the Code and Structure of Software
Refactoring & Restructuring - Improving the Code and Structure of SoftwareRefactoring & Restructuring - Improving the Code and Structure of Software
Refactoring & Restructuring - Improving the Code and Structure of Software
 
Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)Serverless in production, an experience report (CoDe-Conf)
Serverless in production, an experience report (CoDe-Conf)
 
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
(GAM304) How Riot Games re:Invented Their AWS Model | AWS re:Invent 2014
 
Continuous delivery from the trenches Redhat Forum Edition
Continuous delivery from the trenches Redhat Forum EditionContinuous delivery from the trenches Redhat Forum Edition
Continuous delivery from the trenches Redhat Forum Edition
 
AWS Lambda from the trenches
AWS Lambda from the trenchesAWS Lambda from the trenches
AWS Lambda from the trenches
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
 
Kubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud appsKubernetes and the 12 factor cloud apps
Kubernetes and the 12 factor cloud apps
 
Provisioning the IoT
Provisioning the IoTProvisioning the IoT
Provisioning the IoT
 
Evolutionary infrastructure agile 2018 - kief morris
Evolutionary infrastructure   agile 2018 - kief morrisEvolutionary infrastructure   agile 2018 - kief morris
Evolutionary infrastructure agile 2018 - kief morris
 
Pentagon
PentagonPentagon
Pentagon
 
Modernizing Traditional Applications with Docker EE: From PoC to Production
Modernizing Traditional Applications with Docker EE: From PoC to ProductionModernizing Traditional Applications with Docker EE: From PoC to Production
Modernizing Traditional Applications with Docker EE: From PoC to Production
 

Recently uploaded

TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024Stephanie Beckett
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIES VE
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 

Recently uploaded (20)

TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 

Continuous Delivery

Editor's Notes

  1. Przedstawić sięSkąd pomysł na prezentację? – problem do rozwiązania. Jestem inżynierem – rozwiązuję problemy
  2. Co to jest webdeploy? Zapytać ludzi na SaliCo to jest push?Rozwiązanie kiepsko się skalowało wraz ze wzrostem skomplikowania solution
  3. Krótko bardzo kto to TrevorSkąd jest cytat: Władca Pierścieni: Frodo do Gildora (na zdjęciu Elrond)
  4. Architekt się załamał nad moją nieodpowiedzialnością
  5. Następnie przyszła porcja teorii w postaci znakomitej książkiKolejne założenia: deployment na każde środowisko ma być wykonywany zgodnie z tą samą procedurą a deployowane mają być dokładnie te same binaria.
  6. build
  7. agile software development is all about mutually reinforcing hierarchical feedback loops
  8. Ostatnim elementem układanki jest implementacja potoku.PowerShellWindowsSchedulerMetadane – która wersja wdrożona na które środowisko?
  9. one uniform repeatable manual deployment process for all environments is better than three separatate automated processes for each environment
  10. Wiele plikow bat. Bardzo ograniczony język. Skomplikowna składania, szczególnie pętli. Brak łatwego sposobu oporowania na strukturach danych wyższego poziomu takich jak tablice i rekordy – niezbędne do obsługi metadatanychGlowna pętla w DeployAll iteruje po wszystkich plikach pasujących do wzorca nazwy.Każdy plik referuje params (ładuje zmienne określające parametry wszystkich aplikacji), przepisuje wartości zmiennych aplikacji X do zmiennych wspólnych i wywołuje common.bat.Parametry aplikacji są wczytane z pliku metadanych. Pętla iteruje po aplikacjach i dla każdej wywołuje Deploy
  11. Import-CSVKonwertuje CSV na listę anonimowych obiektów, nazwy properties w nagłówku. Invoke-CommandWykorzystuje WS-Management via WinRM (http/s, xml). Transportuje zserializowany blok skryptu do zdalnego hosta, wykonuje go i zwraca wyniki.Natywne wsparcie dla serializacji XML w PSAutentykacja Windows, CredSSP
  12. ForEach – jak połączenie foreach oraz .Select. Iteruje po obiektach wykonując operację. Zwraca wynik operacji.Inne: sort-object, group-object
  13. it is easier to break your system by changing a single line of configuration then it is by changing a single line of code
  14. Kolejnym z fundamentów continous delivery jest zarządzanie konfiguracją. Konfiguracja musi być wersjonowana.Nasze podejście: konfiguracja w VCS, dodawana do paczki wdrożeniowej.Podział wg. dwóch ortogolalnych kryteriów: zmienności względem środowiska i względem aplikacji/procesuPodczas deplojmentu, spośród wszystkich plików konfiguracyjnych wybierane są te właściwe dla danej kombinacji środowiska i aplikacjiPrzykładyHelpers:appSettings file=DirectoryJunction (mklink /J – directory hard link)
  15. Środowisko: DEV, TEST, PROD, DR. Nazwany zbiór maszyn na który deplojowana jest aplikacjaRola: nazwany zbiór aplikacji deplojowany wspólnie na wybrene maszyny. Jednostka deplojmentuMaszyna: fizyczny lub wirtualny serwerKompromis pomiędzy elastycznością (możliwością deplojowania wszystkiego wszędzie), a zwięzłością i łatwością zarządzania
  16. MSBuild – skrypt pakujący. W starym TFS także skrypt budującyPS – wszędobylski klej spajający rozwiązanieWebDeploy – mechanizm paczkowania. Alternatywnie – NuGet lub OpenWrap. WebDeploy łatwy dla aplikacji webowych – buduje odpowiednie paczki na bazie projektu Web ApplicationCurl – download paczek, komunikacja z trackerem RCPackaging tool – brak wsparcia dla podpisu cyfrowego ootb. Dodatkowo zipuje bez koniecznosci instalowania 3rd party toolRC tracking – mały tool a cieszy
  17. Co to jest webdeploy? Zapytać ludzi na SaliCo to jest push?Rozwiązanie kiepsko się skalowało wraz ze wzrostem skomplikowania solution
  18. See the state & deploy