SpringCM believes in leveraging technology to deliver immediate savings by automating and accelerating business processes – essentially, bringing the power of the cloud to contract and document management. SpringCM was using BIG-IP LTM to load-balance their application servers when Joel started there four years ago, and he stepped into the role of being the primary BIG-IP admin, managing the VIPs, pools, and iRules. In addition to managing the BIG-IP LTM, he’s also an architect of their continuous delivery and configuration management systems. Outside of work, he enjoys philosophy, genealogy, spending time with his family, and being a craft beer evangelist (as well as drinking craft beer).
DevCentral got a chance to talk with Joel about his work, life and how DevOps & DevCentral have more in common than just the word ‘Dev.’
DevCentral: Hi Joel, thanks for your time! You are a current DevCentral MVP and have been a tremendous contributor to our community over the years. What keeps you involved?
Joel: I think it’s that DevCentral is a very active community, with a lot of smart people trying to solve a lot of interesting problems. Just perusing the most recent questions can be a great way to learn things.
My initial interest in DevCentral was sparked by Joe Pruitt’s docs on iControl and all the PowerShell knowledge and examples he provided. After a while, I realized that having a PowerShell module to manage LTMs might be beneficial, so I developed that and shared it with the community.
DC: Tell us a little about the areas of BIG-IP expertise you have.
JN: SpringCM primarily uses the BIG-IP LTM module and iControl REST. We built and host a large, complex, public-facing web application, and as such we have hundreds of servers that require load balancing. Since we have so many servers, our goal is to do as much of the administration as possible via scripts and command line, which is where iControl REST comes in. With PowerShell and iControl REST, we’re able to configure virtual servers, pools, pool members and iRules.
DC: You are part of a DevOps team at SpringCM. Can you explain how DevCentral helps with DevOps challenges?
JN: I think DevOps is just a fancy term for the attempt to achieve better system process automation and better system visibility. Anything that allows one to programmatically change settings and retrieve information about one’s systems (such as iControl and iControl REST, and all the PowerShell /Perl /python snippets shared on DevCentral) aids people doing DevOps.
DC: Describe one of your biggest IT challenges and how DevCentral helped in that situation.
JN: SpringCM has wanted to do continuous delivery for a while. Instead of doing monolithic quarterly deployments of the entire production environment, we want to get to where we’re deploying to select servers during the day with zero downtime, as needed. A big part of this is being able to automate the management of BIG-IP pool members.
We’ve been doing zero-downtime deployments to production on a smaller scale to dozens of servers, but just recently, we accomplished our first “hot” (zero-downtime) deployment of our entire production environment (around 350 servers). This was only possible because we were able to use iControl REST and PowerShell scripts to have pool members disable themselves, wait until their connections dropped below a defined threshold, update their code, and re-enable themselves in their pool.
DC: We’re in your hometown, Chicago, this week for F5 Agility 2016. What are you looking forward to at Agility?
JN: I’ve signed up for some iRules labs, as well as one on BIG-IQ. We have some iRules that I inherited and have tweaked as needed, but I don’t feel that I’ve yet got a comprehensive picture on all that I could be using iRules for in our application. I’m looking forward to that, as well as getting a good intro to BIG-IQ.
DC: Lastly, if you weren’t an IT admin – what would be your dream job? Or better, when you were a kid – what did you want to be when you grew up?