Validated Learning via Retrospective Wardley Value Chain Mapping

When I changed roles to a DevOps tooling team lead, I inherited a bunch of tools that essentially amount to ready-to-use deployment automation artifacts. They were managed as shared source. Similar to open source, features and fixes to the tooling could be implemented by anyone in the group. As my team started working with the code, we kept finding woefully out-of-date code. We also discovered improvements and features in some tools that were not in others of the exact same kind. Most this tooling was built for both Linux and Windows. We were also finding significant differences in functionality between the Linux and Windows versions of the same tools.


Read more

Share Comments

Undo-WinRMConfig Version 1.2.0 is Generally Available

Back in June I kicked off the open source project for reverting WinRM to its pristine state (or as close as possible). There has not been a lot of community feedback, so I’m going to take that as a sign that the approach is sound and the initial operating support is sufficient.

The GA release version is 1.2.0 and we have a new icon: Undo-WinRmConfigIcon


Read more

Share Comments

WinRM For Provisioning - Close The Door On The Way Out Eh!

Growing up in Northern Canada I heard “Don’t forget to close the door on your way out!” many times a day for about 9 months of the year. Leaving a door open on your home wastes energy - leaving a door open in your computing environment can lead to downright mayhem. Many windows remote orchestration tools (e.g. Packer) instruct you to open up winrm permissions in a way that is not safe for (nor intended for) use in production. (e.g. https://www.packer.io/docs/builders/ncloud.html#requirements-for-creating-windows-images)

Generally there is no guidance on how to re-secure it nor even a reminder to do so. The assumption most likely being that you would handle proper winrm re-configuration as a part of provisioning a machine from the template image your making. However, in many organizations, system image preparation may be the only use of WinRM - so it is forgotten. Or maybe whatever is used to re-configure WinRM on first boot does not actively reset one or more of the permissive settings used during machine provisioning.


Read more

Share Comments

Webinar - Securing DevOps - Advice from the Frontlines

I will be participating in an expert panel to discuss how to effectively bridge the infosec/DevOps divide. Learn how you can too, 2pm ET, June 20, 2018. Tenable Webinar Landing Page

Read more

Share Comments

Accelerate Software Deployment Automation With Chocolatey NuGet Essentials For Automation Pros

After my session “Setting Up Your Own Private, Secured Package Repository” at the PowerShell DevOps Summit, there has been more interest in the PluralSight course I built to help automation developers get started with Chocolately. Chocolatey NuGet Essentials for Automation Pros unpacks the Chocolatey technology set and helps you understand what role it plays in deployment automation, and how it can deliver critical value to your software deployment automation tool chain whether you live in a DevOps world or a Traditional Ops world.

Read more

Share Comments

Setting Up Your Own Private, Secured Package Repository Conference Session Video and Materials

I really enjoyed speaking at the PowerShell Summit and meeting so many Windows DevOps enthusiasts! As promised here are links to the video, the slides and the code. Video Slides and Code My PluralSight Course Chocolatey NuGet Essentials Automation Pros goes into much more detail on using Chocolatey packaging technology to accelerate your software deployment automation. Session Abstract: Security and availability are good defensive reasons to curate public packages into a private repository, but there are many positive reasons as well!

Read more

Share Comments

Rugged Tooling: Forget AI - Integrate Human Intelligence

I lead a team that builds highly shared, deep-in-the-stack automation at a large SaaS company that has many software stacks in AWS. This automation includes things like installing security scanners, log collection agents and monitoring agents - all for both Windows and Linux.

I inherited a lot of this code and was working together with a team member and a technician from the software company for one of these agents that was giving us trouble, when I realized we could improve the ruggedness of our code significantly!


Read more

Share Comments

Culling Dead Computer Records From AD with a Scheduled PowerShell Oneliner

In one of the DevOps automation testing environments I work with I recently came across an AD OU that had over 75,000 unused computer records. This environment is used for repeated testing of entire automation stacks with unique computer names, so it is normal that these records would pile up. While this particular OU was for Linux machines - the problem obviously affected both Windows and Linux across all OUs.

Being that it is the year 2018 I thought finding a ready-made solution on the web would be child’s play (oh Murphy - why do you plant those thoughts in my head!).

As it is with the Toolsmithing nature, when I could not find a simple solution, I had a strong desire to conjure a tool for everyone.


Read more

Share Comments

Fully Automated, On Demand EBS Initialization in both Bash (for Linux) and PowerShell (for Windows)

There has been a nasty rumor going around that EBS volumes no longer need initialization (formerly pre-warming). The Amazon page that talks about this mentions that it is no longer needed, but that it IS needed for EBS volumes created from snapshots.

Although custom and Amazon AMIs are stored as snapshots, many people I talk to have come to believe that EBS volumes simply don’t need initialization, no matter what. I sought clarification from AWS support and learned that the boot volumes of our custom AMIs definitely need initialization as do AWS AMIs. Basically initialization is not needed if you just created a fresh EBS volume (console or Cloud Formation) that has never been snapshotted as part of an AMI.

The newest utility advised by Amazon is the File IO testing utility known as FIO. I decided to write a provisioning automation utility script that would automatically download this and run it or schedule it. Since I have been looking for excuses to improve my Bash coding skills - I decided to write the provisioning automation in both Bash and PowerShell.


Read more

Share Comments

Setting Up Your Own Private, Secured Package Repository at PowerShell and DevOps Summit 2018

I will be speaking at the PowerShell and DevOps Summit 2018 on the topic of Setting Up Your Own Private, Secured Package Repository Abstract: Security and availability are good defensive reasons to curate public packages into a private repository, but there are many positive reasons as well! We will cover the benefits of a dedicated, private repository, as well as enabling secure, global reach and an analysis of repository options.

Read more

Share Comments