rex - les conteneurs windows au sein d'une banque de financement & d'investissement
TRANSCRIPT
![Page 1: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/1.jpg)
Docker Windows + Continuous Delivery = <3
![Page 2: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/2.jpg)
Laurent Grangeau
Guillaume Bizet
@laurentgrangeau@finaxys
Cedric Coroir
@guillaumebizet1@finaxys
@cedric_coroir@sg_insideit
![Page 3: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/3.jpg)
Docker Windows + Continuous Delivery =
<3
![Page 4: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/4.jpg)
Windows Server & Hyper-V containers
N° 4
LOB app(+Binaries)
Host OSw/Container Support
Server(Physical or Virtual)
Web tier
Container A
Libraries(Shared across containers)
Container B Container C
LOB app(+Binaries)
App tier
Libraries
LOB app(+Binaries)
DB tier
Hypervisor
Server
Hyper-V Container
App ABins/Libraries
Windows Guest OSOptimized for Hyper-V Container
Hyper-V Container
App BBins/Libraries
Windows Guest OSOptimized for Hyper-V Container
![Page 5: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/5.jpg)
Docker integration
N° 5
Docker Client
Windows Server Linux
Docker Engine(Daemon)
Windows ServerContainer Support
Linux ContainerSupport
Docker Engine(Daemon)
Docker.exeExamples:docker rundocker images
Docker Remote APIExamples:GET images/jsonPOST containers/create
![Page 6: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/6.jpg)
Continuous deliveryWhat is continuous delivery ?
N° 6
![Page 7: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/7.jpg)
• Have a replicable environment• Build once, run everywhere• No more « it runs locally »
Continuous deliveryWhy Docker ?
N° 7
![Page 8: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/8.jpg)
The new Continuous Delivery chainSociété Générale
N° 8
APP
IN P
AAS Dockerfile
Source Control Managerco
mpo
se GitHook
DeployContinuous Integration
Topology CaaSCD Platform Outside
ExternalxPaaS
Ambassadors
Applications& xPaaS
ITaaS
Source SG at dockercon 2016: https://www.youtube.com/watch?v=fd9yiUS6Sbw
![Page 9: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/9.jpg)
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 securitystandards
Dynamic scale, hybrid cloud usecase
![Page 10: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/10.jpg)
PlatformContinuous 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
Servicehook
Build the appStore artifactsGenerate app image
Run theapp image
![Page 11: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/11.jpg)
Simple picture of the builder+imageContinuous delivery platform
N° 11
Builder image
Docker file
App Docker Image
![Page 12: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/12.jpg)
PlatformBuilder image
N° 12
builder.bat
choco: nuget/msbuild/web-target
powershell: asp-net45
git
chocolatey
windowsservercore
![Page 13: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/13.jpg)
echo "##enter container of build ##"git clone %repogit%echo "Clone done"set PATH=%PATH%;C:\Windows\Microsoft.NET\Framework\v4.0.30319cd c:\cd %slnpath%nuget restoremsbuildcd /robocopy C:\%slnpath% c:\work\output /Epowershell -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
PlatformBuilder dockerfile
N° 13
FROM guibizet/gitENV repogit repogitENV slnpath testsENV mybuild nameofcontainerRUN ["choco","install","nuget.commandline","-y"]RUN ["choco","install","microsoft-build-tools","-y"]RUN ["choco","install","curl","-y"]RUN mkdir workVOLUME c:\\workCOPY ./builder.bat .COPY ./build.txt .CMD builder.bat
Builder.bat
![Page 14: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/14.jpg)
PlatformDockerfile
N° 14
FROM windowsservercoreRUN 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:\\inetpub\\wwwrootRUN mkdir demoRUN cd demoRUN mkdir websiteCOPY ./FinaxysMeetup/ c:\\inetpub\\wwwroot\\demo\\websiteRUN /windows/system32/inetsrv/appcmd.exe set vdir "Default Web Site/" -physicalPath:"c:\inetpub\wwwroot\demo\website"
CMD ["cmd"]
![Page 15: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/15.jpg)
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 appdocker 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% powershelldocker push guibizet/%dep.DockerWindows_LogsOfTheContainer.env.nameofbuild%:1.%build.counter%
Quick overview of TC build config
N° 15
![Page 16: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/16.jpg)
• 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
![Page 17: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/17.jpg)
N° 17
![Page 18: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/18.jpg)
@microsoftfrance @Technet_France @msdev_fr@laurentgrangeau | @guillaumebizet1 |
@finaxys
N° 18
![Page 19: REX - Les conteneurs Windows au sein d'une banque de financement & d'investissement](https://reader036.vdocuments.fr/reader036/viewer/2022081520/5880f8fd1a28abc3368b5d9d/html5/thumbnails/19.jpg)
Notez cette sessionEt 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