Earlier this year, myself and my Colleague Christopher we’re lucky enough to find ourselves in Hannover, Germany for the 2016 PowerShell Conference Europe [http://www.psconf.eu/]. This event hosts PowerShell lovers from all around the world and really brings out the inner nerd in all of us.
The event took place over 3 days at the international conference center in Hanover and saw 64 speakers from over 18 different countries come together to talk about something we all love, PowerShell. The Keynote presentation was fronted by non-other than Jeffrey Snover, The creator of Windows PowerShell and Microsoft Technical Fellow. Along with Tobias Weltner, the two celebrated the 10 year birthday of PowerShell which included a full orchestra playing a spine-tingling musical ensemble.
Over the 3 days we were delighted to see talks from numerous PowerShell community members along with developers from Microsoft themselves stepping forward to show what they’ve been working on and which direction the PowerShell team are heading in the future.
Talks from the conference included deep dives into Desired State Configuration (DSC), The future of the Windows world with Nano Server, DSC and Octopus Deploy and many more interesting panel like discussions and deep dives.
From this conference, we’ve taken ideas back into the Coolblue office and commenced testing these with our current Continuous Integration and Deployment Pipeline to optimize deployment strategies. Some of theses included, setting a standard for Class based DSC resources as opposed to traditional function use of DSC. We’ve also included Pester tests for all current DSC modules and set standards for Unit and Integration testing all PowerShell and DSC code moving forward.
The event itself was a mix of great presentations and social events. On the second night of the conference we we’re treated to an after hours trip to the Hanover Zoo where a fully catered dinner was awaiting us; we even got to see the Polar bears.
Key points to take away from the conference:
Nano Server is truly the future of Windows Server.
Nano Server allows us to really start developing micro-services in a lightning fast modern operating system. It comes with a model of ‘Just enough Operating System’ as it is simply a Windows Kernel with package management capabilities. Since Nano Server has such a tiny footprint, a new server can be created in roughly 30 seconds, it also takes about 1.5 seconds to bootup. On Nano Server the full capabilities of .NET have been stripped away and replaced with .NET Core. .NET Core is the future of the .NET framework and together with Nano Server will revolutionize Windows development.
Windows Server Containers will become the main way to run applications on Servers.
Working closely with our developers we’re making steps towards Windows Server Containers for certain applications and services.
DSC is the future of Windows configuration management for Cloud and on-premise.
We love DSC and we truly believe it is the way forward. Because of this we’re investing in writing all of our server configuration in DSC modules moving forward. Desired State Configuration allows us to use native PowerShell code to define role based configuration for our Servers. This concept allows keep our configuration code in source control and and deploy it to our servers with the touch of a button. No more cuddling our servers and tucking them in at night. If it’s not working as intended we can simply destroy it and have DSC bring it back into desired state.
Class based DSC resources assist with readability and speed of execution.
To help bridge the gap with our C# developers we’re wringing all of our DSC modules in PowerShell V5 Classes. This helps the dev’s contribute to the Ops side of things!
Pester and PSScriptAnalyzer should be implemented into main CI/CD Pipeline.
It’s important to know if things are going to work before we deploy them into our acceptance environment, because of this we run unit and integration testing with our DSC resources.
Operations Validation testing is a crucial aspect of CI/CD.
There is nothing more frustrating them thinking something is going to work and finding out it didn’t play nicely with another system. For this we’ve implemented Operations Validation Testing for our Vanessa application and its deployment.
To check out the introduction to the conference and the keynote presentation see below: