I must make a confession. I’ve written posts for the Zenoss blog for about two years, but up until recently, I didn’t really understand what ZenPacks were. I knew they had something to do with open source and something to do with customization, but if you had asked me anything beyond that, I would have been forced to plead ignorance. Well, not anymore. It finally dawned on me that if I didn’t understand the concept of the ZenPack, plenty of business people probably didn’t either. And when you don’t understand something, you tend to discount its value. The possibility that IT organizations might fail to leverage the advantages of Zenoss’ unique offerings because the executive brethren couldn’t tell a ZenPack from a pack rat began to weigh on me. So I put on my dunce cap and Skyped David Winter, Director of Zenoss Hosted Solutions and a former Zenoss customer and ZenPack user, in the hopes of getting a grasp of what ZenPacks are and what they can do. Although he does have this Chuck Norris poster hanging in his office, Dave couldn’t have been more patient with my rudimentary questions.
1) What are ZenPacks?
According to Dave, ZenPacks are plugins.
ZenPacks provide a plug-in architecture that allows community members to extend Zenoss's functionality...ZenPacks are encapsulated in Python eggs and provide instrumentation and reports for monitored infrastructure components.
But the jargon here was so thick I had ignored the description, focusing instead on the clever use of “eggs” to describe packages in Python (talk about grade school). Thankfully Dave supplied me with an analogy I could relate to:
People use Chrome [or] Safari, and when they want to have cool little widgets or little tools inside the browser, then they go to...the browser extension store or the plugin store and say “Yeah, I want this screenshot plugin or Evernote plugin or this other plugin.” ZenPacks are the same thing. They extend the core functionality of Zenoss.
2) What differentiates ZenPacks from plugins used by competing solutions?
For a minute I thought Zenoss was unique in offering ZenPacks, but Dave quickly corrected that notion. Just like browsers, most monitoring systems have plugins of some type. “It’s a ‘me-too’ with our competitors,” he told me. Yet when Dave headed the Managed Services practice at Cisco partner Presidio, he chose Zenoss back in 2008. ZenPacks were a key reason:
I wanted to build my managed services platform on [Zenoss because] creating my own ZenPacks, creating my own plugins, was a much more flexible process, something that a user could do versus just waiting for the manufacturer to come out with a new plugin.
Dave went on to explain that competing solutions didn’t offer the same freedom to create a plugin to monitor, say, Google TV. In many cases, you would need to wait for the vendor to supply that plugin, which could take months if it happened at all, and then hoping your manager would sign off on buying it for you:
If I was like, “Hey, I really want to monitor my Google TV that I have sitting in my office [to] know when it's on or off,”...I could just hack myself out a ZenPack that monitors the Google TV [versus having to] call my account manager [and find out] if it's on the roadmap or not...or he's going to quote me how much it's going to cost for them to write it and I'm going to have to wait six months for it. There's none of that with ZenPacks. ZenPacks, if you want it, you go write it yourself and integrate it into the product.
So ZenPacks give the developers the freedom to “hack out” a solution to monitoring that Google TV without having to involve non-technical colleagues in the organization for approval — people who would rather focus on the end result of what a technology offers the business, rather than on the minutia of the technology itself. And this aspect certainly aligns with one of the most recited mantras of running any sort of dynamic infrastructure, orient technology to business goals.
3) How does the open source community make ZenPacks so flexible and powerful?
As we discussed in question 1, you don’t necessarily need to hack out your own ZenPack. In many cases, you can find the ZenPack of your dreams on the ZenPack Wiki. Even though Dave’s group could write its own Google TV ZenPack, he could potentially find one, if not several, through the Zenoss community:
I can find out...three different people have written three different ZenPacks having to do with my Google TV. I'm going to test all three of them [and] figure out which one most closely approximates my need...Maybe I'm even going to take that one and extend that one, build on somebody else's work. That's the value of ZenPacks, not the fact that they exist but the fact that they're so extensible and that there's an open source community out there where, if you're not really the best programmer in the world, you can have an idea, go see if someone else has had the idea, use it and maybe build on it and integrate it into your products.
And this open source advantage isn’t limited to what the Zenoss community offers. When Dave worked at Presidio, his group often viewed their ZenPacks as valuable intellectual property (IP) they chose to keep “close to the vest:”
Our [ZenPacks] were all around usually Cisco’s Unified Communications, and we thought we were the best at Cisco [UC]...We used them to be competitive in our business...We weren't saying, “Hey, I use Zenoss, and this other competitor uses Zenoss; therefore, we have equal capability because we're both using the same manufacturer supply of ZenPack.” No, my ZenPack is custom. It's better than your ZenPack.
Um, you can’t do even a fraction of these things using proprietary plugins. And although I admit I’ve probably drunk the open-source Kool Aid, the fact that ZenPacks (let alone Zenoss itself) are based on open source enables them to solve whatever monitoring challenges you may face on a granular level.
So what's my conclusion from Part 1 of my interview with Dave?
Zenoss’ commitment to open source benefits you, no matter how you adopt (free vs. paid). You can download over 300 ZenPacks alone just on the Zenoss community page. You can modify those ZenPacks to fit your needs. You can create your own ZenPack that will integrate into your Zenoss installation because Zenoss and its open source community have developed standards and best practices you can follow. And depending on your business objectives, you can either share your ZenPacks with the Zenoss community or leverage them to your competitive advantage, another example of how Zenoss’ focus is on the ultimate value to your business, rather than its technology underpinnings. I hope this multi-part ZenPack primer will help you (and possibly your less technically-inclined colleagues) get a better handle on what ZenPacks are and what they offer. They're all about getting you the capabilities you need, when you need them.
If you have a ZenPack question, please post it in the comments below. I’m happy to don my dunce cap and pose your questions to the experts - like Dave and his crew.