Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement

722 views

Published on

"Depuis ces dernières années, les conteneurs prennent de plus en plus d'importance. Microsoft implémente aussi cette technologie au travers de la feature Containers de Windows Server 2016.
Durant ce talk, nous vous ferons un retour sur l'implémentation d'un cluster Docker Windows au sein d'une chaine de Continuous Delivery au sein d'une banque de financement et d’investissement, et comment ce cluster a permis aux équipes de développement de déployer plus rapidement, plus simplement et de manière plus fiable."

Published in: Technology
  • Be the first to comment

  • Be the first to like this

REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement

  1. 1. Docker Windows + Continuous Delivery = <3
  2. 2. Laurent Grangeau Guillaume Bizet @laurentgrangeau @finaxys Cedric Coroir @guillaumebizet1 @finaxys @cedric_coroir @sg_insideit
  3. 3. Docker Windows + Continuous Delivery = <3
  4. 4. Windows Server & Hyper-V containers N° 4 Web tier Container A Container B Container C App tier DB tier
  5. 5. Docker integration N° 5
  6. 6. Continuous delivery What is continuous delivery ? N° 6
  7. 7. • Have a replicable environment • Build once, run everywhere • No more « it runs locally » Continuous delivery Why Docker ? N° 7
  8. 8. The new Continuous Delivery chain Société Générale N° 8 APPINPAAS Dockerfile Source Control Manager compose Git Hook Deploy Continuous Integration Topology CaaSCD Platform Outside External xPaaS Ambassadors Applications & xPaaS ITaaS Source SG at dockercon 2016: https://www.youtube.com/watch?v=fd9yiUS6Sbw
  9. 9. Maturity and savings levels N° 9 CONTAINED AUTOMATED EMPOWERED MANAGED Containerize App. Automate in continuous delivery platform Deploy on central Docker Execution Platform Transform to leverage on built- in features: -Discovery -Elasticity -High availability Transform to in- house standards: - Monitoring - Logging - Billing Transform to fit with deployment topologies Use managed services (xPaaS): DB, Cache, MQ... MICRO SERVICES Leverage on platform security standards Dynamic scale, hybrid cloud usecase
  10. 10. Platform Continuous delivery platform N° 10 Github Build the app in a container Grab log of ran container Store artifacts on TC master Generate app image Deploy on Docker Service hook Build the app Store artifacts Generate app image Run the app image
  11. 11. Simple picture of the builder+image Continuous delivery platform N° 11 Builder image Docker file App Docker Image
  12. 12. Platform Builder image N° 12
  13. 13. echo "##enter container of build ##" git clone %repogit% echo "Clone done" set PATH=%PATH%;C:WindowsMicrosoft.NETFrameworkv4.0.30319 cd c: cd %slnpath% nuget restore msbuild cd / robocopy C:%slnpath% c:workoutput /E powershell -Command "(Get-Content c:build.txt) -replace 'mybuild', $Env:mybuild | Set- Content c:build.xml" curl.exe -v -u gbizet:XXXXXXX http://178.33.83.137/app/rest/buildQueue --request POST -- header "Content-Type:application/xml" --data-binary @build.xml Platform Builder dockerfile N° 13 FROM guibizet/git ENV repogit repogit ENV slnpath tests ENV mybuild nameofcontainer RUN ["choco","install","nuget.commandline","-y"] RUN ["choco","install","microsoft-build-tools","-y"] RUN ["choco","install","curl","-y"] RUN mkdir work VOLUME c:work COPY ./builder.bat . COPY ./build.txt . CMD builder.bat Builder.bat
  14. 14. Platform Dockerfile N° 14 FROM windowsservercore RUN dism /online /enable-feature /all /featurename:iis-webserver /NoRestart #RUN dism /online /enable-feature /all /featurename:IIS-ASPNET45 /NoRestart RUN powershell -executionpolicy bypass -command "add-windowsfeature Web-Asp-Net45" RUN cd c:inetpubwwwroot RUN mkdir demo RUN cd demo RUN mkdir website COPY ./FinaxysMeetup/ c:inetpubwwwrootdemowebsite RUN /windows/system32/inetsrv/appcmd.exe set vdir "Default Web Site/" -physicalPath:"c:inetpubwwwrootdemowebsite" CMD ["cmd"]
  15. 15. echo "Launching Build container" docker run -d --name %nameofbuild% -e "mybuild=%nameofbuild%" -e "repogit=%giturltobuild%" -e "slnpath=%slnpath%" -v %teamcity.build.checkoutDir%:c:work guibizet/builder-dotnet:%versionbuilder% Build configuration using binary from Build Container and building docker image of the app docker build -t guibizet/%dep.DockerWindows_LogsOfTheContainer.env.nameofbuild%:1.%build.counter% . docker rm -fv %dep.DockerWindows_LogsOfTheContainer.env.nameofbuild% docker run -d --name %dep.DockerWindows_LogsOfTheContainer.env.nameofbuild% -p 80:80 guibizet/%dep.DockerWindows_LogsOfTheContainer.env.nameofbuild%:1.%build.counter% powershell docker push guibizet/%dep.DockerWindows_LogsOfTheContainer.env.nameofbuild%:1.%build.counter% Quick overview of TC build config N° 15
  16. 16. • Create your own builder image • Build your application inside the builder image • Leverage on every aspect of Docker in the Continuous delivery chain Takeaway N° 16
  17. 17. N° 17
  18. 18. @microsoftfrance @Technet_France @msdev_fr @laurentgrangeau | @guillaumebizet1 | @finaxys N° 18
  19. 19. Notez cette session Et tentez de gagner un Surface Book Doublez votre chance en répondant aussi au questionnaire de satisfaction globale * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle

×