Around a month ago, I had an idea. I was going to uproot my team’s way of work entirely. Grand plans for improving test environment creation, build pipelines, automated tests and software deployments were the objects of my DevOps dreams for months. Literally. I would come up with ideas for substantially improving the way we work in my sleep, see if it was possible to get them started to find out I would be trumped by fires. Talk about frustrating! I could see a substantially better way of doing things in my head while being forced by the whim of the culture and management to fix bugs, add common features and keep the developers at bay. The continuous delivery gods were shining the CD light; I could see it but was being held in the mud. Until this month. I’ve beaten the “beg for forgiveness than ask for permission” drum […]Read more
We all probably know what a software developer is as the title has been around for decades. In the past, the position was known as a computer programmer. It’s basically a position where the code is written to develop software and applications that will be used by users. However, an infrastructure developer is not a commonly known term and is a more recent position found in the IT world. Before virtualization, everything was hardware within the infrastructure, with physical everything, from the server to the network. There was no way you could be an infrastructure developer since the infrastructure was a physical component. Today, with virtualization, things have changed. One can now actually write code to develop a software infrastructure. What you will now see is a job channel for infrastructure developers. This position is one that treats code that is written for the orchestration of infrastructure. Instead of writing […]Read more
I’m an engineer and developer and if you’re a regular reader of this blog, you might be too. We are known for our left-brained, logical thinking. We pride ourselves on designing solutions by designing and thinking through and analyzing lots of potential pitfalls. Afterall, we want to build a great solution that not only solves the immediate problem but can stand the test of time! Why solve just the immediate problem? While we’re at it, why not try to think through every….single…use case? We wouldn’t be good engineers if we only solved the immediate problem and moved on, right? That would be a major hack! No. Just no. There are times when it’s critical to spend lots of time up front on tasks thinking through everything that could go wrong. But, we’re not structural engineers or high-rise architects. We’re automation enthusiasts and developers! Developers work with text; not load-bearing walls that […]Read more
I’ve recently been playing with Ansible quite a bit and, unfortunately, it’s only available on Linux. Being a big Windows guy, I’ve had to learn a ton about how Linux and Python interact with Windows. My goal was to get my Ubuntu Linux box to simply be able to query a Windows box. Let’s break it down! My Environment Ubuntu 14.04 WMIC on Linux The first task was to query a common WMI class on a Windows box. To do this on Linux, we need to download and compile the WMIC package. To do this, I followed this tutorial. For anyone too lazy to click the link, here’s what to run to make it happen.
sudo apt-get install autoconf
## Download to your home folder
tar -xvf wmi-1.3.14.tar.bz2
## Edit the GNUMakeFile and add a line
cd wmi-1.4.14/ #or whatever version you installed
## Add "ZENHOME=../.." to the GNUMakeFile without the quotes
sudo make "CPP=gcc -E -ffreestanding"
## Make a copy of the wmic binary
cp bin wmic
## Copy the binary to somewhere in your path
sudo cp wmic /usr/bin/
## Test a query to a remote computer
wmic -Utestuser%tstpass //172.16.2.2 "SELECT * FROM Win32_OperatingSystem"
If you see the properties and values of Win32_OperatingSystem you’re good! WMI in Python The next step is to get a WMI module for Python. I chose to use the wmi-client-wrapper Python module. To […]Read more
This is a guest post by Josh Duffney. Josh is a PowerShell/DevOps extraordinaire and wanted to share a great post on Jenkins, PowerShell, and DSC. I read it, thought it was great and decided to oblige. So, without further ado, take it away, Josh! -Adam In this post, you will learn how to create a Jenkins JNLP scheduled task on a Windows Server slave with Desired State Configuration. In a previous post on my blog, I used PowerShell to create the scheduled task; I will now show you how to take that code and convert it to a DSC configuration by using the xScript DSC resource. xScript is a DSC resource found in the xPSDesiredStateConfiguration module. It is a fantastic resource for running PowerShell code inside your DSC configurations without having to write an entire resource. Download xPSDesiredStateConfiguration Before you can use xScript, you first have to download the […]Read more
From SysAdmin to Developer Hi. I’m Adam, and I’m a developer. I never thought I’d say that because, for the longest time, I’ve been a system administrator and was proud of it. As you probably know, sysadmins and developers have historically not gotten along. There’s always been this binary “you’re with us, or you’re with them” mentality. That is…until DevOps. As a sysadmin, I was always the guy that knew how to script. I loved it! I’ve built some pretty advanced (ugly) batch files and more than my fair share of many-hundred-line-long VBscript scripts. Not because I had to but just because I enjoyed automating stuff. It seems like this is a common starting point for sysadmins that are slowly turning into code monkeys. Afterall, scripts are code. I found that I enjoyed writing the scripts much more than actually doing the job. I love automation and making processes more efficient. […]Read more
I recently wrote an article for InfoWorld entitled 7 Signs You’re Doing DevOps Wrong. It was the first time I’ve written about something that didn’t have PowerShell in the article anywhere. It was a fun article to write and hit on concepts that I’m passionate about. It hit a nerve to a lot of people and I recently got an email from someone about one of the topics I touched on; not considering failure unacceptable. The question came from a someone at a highly-regarded financial institution. He was concerned that in a financial environment lots of money can be lost if something goes wrong in production. He was polite but I could sense a tone of disagreement when I basically said it’s OK to fail. Here was my reply to him< I made it clear in the article that not all companies can embrace all DevOps methodologies. Failure in production […]Read more