SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

En vedette

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
 

En vedette (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
 

Similaire à 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.
 

Similaire à 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
 

Dernier

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Continuous Delivery

Notes de l'éditeur

  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