Salesforce – A Cautionary Tale

When OpenNMS was small, we maintained our customer lists and sales prospects in a spreadsheet. As we grew, this didn’t work out so well, so we needed some sort of CRM solution.

As open source fans, we turned to SugarCRM, but the “community” version was a little hard to maintain. Unlike OpenNMS, they didn’t bother packaging things, so upgrades were a pain, and we found the application a little wanting in other aspects. The person in charge of sales suggested Salesforce, so against my objections we tried them out.

What were my objections? Well, first, I distrust putting company sensitive information into “the cloud”. I think the regulatory structure necessary to protect consumer data is horribly lacking and I didn’t want our clients, potential clients, revenues, etc. to be in someone else’s system. But that would be an issue with almost any hosted solution, so another of my objections was the price. Salesforce is designed for companies with teams of sales people – people who log in at the start of the day and log out at the end. We found out that our sales tend to be quite technical, so our sales guys are also engineers and product managers. The guy who is primarily concerned with sales probably doesn’t log into Salesforce every day, and I log into my account seven or eight times a month – tops.

But I am also a pragmatist. As someone running a company that survives by being profitable, I have to be. So when Salesforce seemed to be the best option, we went ahead and signed up. Other than the price and some small security concerns (I think Salesforce makes an honest effort to protect client data) I was satisfied. It’s just like when one of my guys wants a MacBook – I am moving away from Apple gear but I am not going to impact their productivity because of my personal bias.

A short while ago, I got an e-mail from the account manager at Salesforce:

I noticed you had signed the previous Salesforce contract. David had contacted Salesforce about adding licences, do you know if this was still the case? I ask because the discount I was going to apply for the net new discounts expire shortly.

This pissed me off for a couple of reasons. First of all, if David, the president and COO of the company, is the contact, deal with him, not me. It’s kind of like a small child running to Mom when Dad says “No”. Second, I hate (detest, despise, abhor) hard sell tactics like the “discounts expire shortly”. What? Salesforce has some extra accounts that are going to go bad, like a brown banana, if you don’t order before midnight tonight? It’s not like there are only a certain number of accounts available, and once they are gone, they are gone. I figured that ol’ Arunan was obvisouly B-team sales material.

In any case I asked David what was going on. We are growing a lot in 2013. We are formally opening the Georgia office and we plan to open three more offices by the end of the year. We’re hiring due to increased demand and that has led to the need for more account management. He was looking to add a couple of Salesforce accounts so that we could put more people into a part time sales role.

The key word being “part time”. Even the discount prices that Arunan was offering were too much for what we were getting. We figured we’d either make do with our current accounts or switch to something like SugarCRM (their hosted service is half the cost of Salesforce and it looks like their “community” version has gotten a lot better, including the upgrade process).

I wrote back to Arunan and said that we would not be getting any more licenses, and that we would probably be switching to something else before our contract expired in July. He replied:

Thanks Tarus for the note. Please make sure to call 415-901-8457 to log your cancellation notice so they can turn off the auto-renew on your contract.

Dave, it was a pleasure speaking with you the other day, and until the summer I will continue to be the Account Manager, so please do not hesitate to call or email when you need me.

Nothing offensive there. I would have probably asked why we were switching, if just to have a data point that some sort of smaller cost plan was desired by some Salesforce customers. I didn’t think much about it. Until the next day when I got:

You don’t have to worry about calling Billing. I’ve put in the cancellation for you – the case # is xxxxxxx for your records. Your account will not renew and your licenses will delete this summer. Make sure to call back in if you want to keep them.

What? Is this some sort of sales guy lesson I missed? When a customer expresses dissatisfaction and is thinking about leaving, you shove them out the door?

The thing that most frightened me about this was that we have a lot of data in Salesforce – data I hope to migrate to the new system. While nothing in his correspondence stated it, words like “delete” jumped out, and it dawned on me that Salesforce could decide to nuke that data at any time and we would have little real recourse. Instead of helping the issue, Arunan not only insured that I would not be a customer of Salesforce come July, he instilled fear in me about a whole industry. If Salesforce decided, on a whim, to cut us off, we may have some legal recourse but in the meantime we would be screwed. Salesforce is a lot bigger than us and could probably keep us tied up for years. All just because a mediocre Account Manager wanted us off his list.

And think about it – before this exchange I would actually recommend Salesforce. Sure it was a little reserved, along the lines of “I am not super happy about them but they are the best alternative I’ve found” but it was a recommendation nonetheless.

I think it is possible to provide cloud based services in a secure fashion, but I am not sure Salesforce is one to do it. We are installing SugarCRM now, so I’ll post later with an update on how the migration went, and a more up to date understanding of Salesforce vs. Sugar.

One Hot Tomato (#noapple)

I had started to notice that my home wi-fi performance seemed to be degrading. I use an Apple Airport Extreme and I’m not sure if it is just the new proliferation of Android and Linux devices in my house or if something else is going on, but I was seeing a lot of network drops and slow connections when wireless.

I figured I could continue on my #noapple quest and get rid of yet another Apple product if I decided to replace the router. I knew that whatever I purchased I wanted the option of loading FOSS firmware, so I did a little research and came across the DD-WRT and the Tomato projects (I’m sure there are others, these just seemed to be the most popular).

There was a pretty high profile case a few years back when it was realized that the base operating system of Linksys routers was Linux, and due to the diligence of the Software Freedom Law Center and others, device vendors using Linux had to be more transparent about it. The name of the DD-WRT project came, in part, from the Linksys WRT54G router that was the main focus of these early alternative firmware versions.

My requirements for a new router were that it had to support both 2.4 GHz and 5 GHz, it had to support SNMP (‘natch) and I wanted to be able to host a guest network. I live out on a farm and often I have people visit who want to access the Internet. Rather than give them the password to my network, the Extreme allowed you to create a “guest” network that had no local access but could connect to the Internet over wi-fi.

I settled on the Linksys E4200 and ordered it from Amazon. When it arrived I started playing with the stock firmware and found another feature that I quite liked: a built in UPnP server. This allows you to connect a hard drive to the router and then serve media content such as music and videos to devices that can access UPnP media servers (such as my TV and the PS3).

I didn’t like the way Linksys implemented the guest network, however. Unlike the Extreme, where it was just a separate SSID that you could leave open, this required a password, and you had to connect to a web page and authenticate first. I believe this was a feature brought in from legacy Cisco gear, but I didn’t care for it. Still, I figured that as little as that feature got used I could live with it.

No, the show stopper for me was the lack of SNMP support. For some reason modern consumer-grade routers just don’t support it. But, not to worry, I could load in an alternative firmware.

Or so I thought.

I had decided to use Shibby’s Tomato firmware since I really liked the idea of a UPnP server and I read that the one that ships with DD-WRT wasn’t very good (I’m not stating that as fact, mind you, but the limited amount of research I was able to do seemed to indicate it). I downloaded the version for the E4200 and hit a roadblock: the firmware wouldn’t install.

Turns out that I had the E4200 version 2, which uses the Maxwell chipset instead of the Broadcom chipset. None of the firmware versions I could find support that chipset, so I was stuck. I packed the router up and shipped it back to Amazon.

(sigh)

To replace it, I ordered the Asus RT-N66U. It seemed to be decent hardware and had solid alternative firmware support. I knew from my research that the default software did not support SNMP, so I immediately installed Tomato. The process was incredibly simple:

  • Download the proper firmware version from Shibby’s site
  • Put the router in “rescue mode”: first, turn it off
  • Remove the power cord
  • Press and hold the reset button (the small recessed button between the LAN port and the USB ports)
  • Replace the power cord
  • Turn on the router
  • Release the reset button once the power light slowly flashes (on 4-5 seconds, off 4-5 seconds)

At this point in time you can navigate to 192.168.1.1 and access the firmware reload screen. I set up 192.168.1.2 as a static address on my system since I read that this process can have issues if you are using a DHCP address, and then I simply uploaded the new firmware through the browser and installed it.

That was it – once the router rebooted I was able to access the Tomato webUI and it “just worked”.

The number of features are just staggering. Want to create a guest network? Just create a new SSID and associated it with a new VLAN. Need SNMP? Configures out of the box. The UPnP server was pretty easy to set up, but I had formatted the external drive as ext4 and it wouldn’t mount. I was able to ssh in to the router and look at dmesg to see that it was complaining about “extra features” so I reformatted as ext3 and it mounted just fine.

While I haven’t played with everything (such as QoS), I was really impressed with the IPv6 support. Since my ISP doesn’t support IPv6, I needed to set up an IPv4 to IPv6 tunnel. I signed up for a free account at Hurricane Electric and I was able to get IPv6 working rather quickly. However, since my public address is assigned via DHCP, any changes would cause the tunnel to break. However, Tomato comes with a built in Dynamic DNS client that talks to the Hurricane Electric site and updates the tunnel with any changes. Now that I have IPv6 working, I can configure the Juniper router in the office to allow traffic between the two networks with no need for a VPN.

Cool.

Once again I am impressed that not only is a complex open source application available for free, but that it trumps its commercial counterpart by far.

OpenNMS Hardware Specs Case Study

Back in December I visited a client site where they had been running OpenNMS for a couple of years. The main reason was to migrate to new hardware as the old system was pretty overloaded and slow, with a load average between 6 and 10.

We replaced it with this:

Dell R420 Server

  • 2x Intel Xeon E5-2430 2.20GHz, 15M cache, 6-core processors
  • 24 GB RAM (6x 4GB 1333MHz DIMM)
  • 2x 500GB 7.2K RPM SAS 6Gbps 2.5” HDD – in RAID 1
  • 2x 100GB SATA Enterprise Value Solid State Drives 2.5” – in RAID 1
  • PERC H710 RAID controller, 512MB NV Cache
  • Intel Quad-port 1Gb Ethernet Adapter (add-on)
  • 2x onboard 1Gb Ethernet adapters

Here are the stats from today:

 09:23:56 up 30 days, 19:20,  2 users,  load average: 0.11, 0.06, 0.06

This system is monitoring 950 nodes, 4841 interfaces and 10171 services and 84738 RRD files. We put the O/S and application on the regular hard drives and /var/opennms on the SSDs. The database lives on a separate server on the same switch.

Note that we also switched from JRobin to RRDtool. While your mileage may vary, I have seen a number of installations that have benefited greatly, performance-wise, from that switch. On new installs I always set RRDtool as the default (it’s not in the main distribution because of the extra step of getting and installing the RRDtool package). The downside is there is no way to easily convert your old data.

I thought I’d share in case anyone else was looking to monitor a similar network.

If you learned something from this, or would like to learn more about OpenNMS and performance, don’t miss the 2013 OpenNMS Users Conference being held at the University of Fulda in March. We have people from six countries already registered, and I’m surprised my friends from Belgium, the Netherlands and the UK have yet to “represent”. Early bird registration ends on the 15th.

Odds and Ends

Just a few notes that I wanted to share today.

First, OpenNMS was mentioned on Somos Libres, a website promoting free and open source software in Peru, in its “Best Free Software in 2012 According to Users” article in the “Essential for Communication Networks” category. I thought that was pretty cool.

Next, we have training scheduled later this month in London at the Red Hat offices. This is probably a one-time deal for us to be able to hold training in such a convenient location and we only have a few seats left, so if you are interested please be sure to register (if you have contacted me to reserve a seat rest assured that I have done so, but please register as well). The next training in the US will be held in April.

Finally, the OpenNMS Users Conference, sponsored by the OpenNMS Foundation, will be held in March at the University of Fulda. Early bird registration for that event ends on the 15th, so if you want to save a few euros be sure to sign up soon. This will be the place in 2013 to learn about the latest changes to OpenNMS as well as to meet many of the people behind the project.

The Dell XPS 13 Ubuntu Edition

Over the last year or so I’ve managed to divest myself of most of my Apple products in a project I call #noapple. The last remaining piece of Apple equipment I used frequently was an 11-inch MacBook Air (MBA) that I would dual boot with OS X and Ubuntu.

I was able to use it mainly booted to Ubuntu, but there were certain things that were a little bothersome. For example, the trackpad driver under Ubuntu wasn’t nearly as smooth as it was under OS X, and it was extremely sensitive, having little of what is called “palm detection”. Quite frequently, in the middle of typing something, the cursor would jump to some random part of the document when my palm barely brushed the trackpad.

But in any case, it worked well enough that I could use Ubuntu when I was on the road.

Back in December I learned that Dell was releasing an Ubuntu optimized version of its XPS 13 laptop. This device is very similar to a MBA, and I was excited to read that Dell had worked hard with the vendor of the trackpad to optimize the drivers for Ubuntu.

I ordered one, and I thought I’d share my experience here.

The ordering process was pretty straightforward. Simply visit the website and configure your system. It’s very similar to ordering on the Apple store website. I ordered the laptop and a number of accessories, and in short order received a confirmation e-mail with links to track the progress of the order.

Here is where I hit my biggest issue with the whole process. Like Apple, some of the accessories I ordered shipped in advance of the laptop itself. Now, when I order things on-line, I have them shipped to the office since we have a loading dock in the building with a full time shipping manager who can sign for things. Dell decided to ship my packages to my billing address (my home), even though I had specified a separate location. I’m not sure if this was due to security reasons, but they were unaware of one thing: I own large dogs, one of which likes to gnaw on electrical cords.

So, when my first shipment arrived (a spare power supply and a VGA adapter) it was left on my front porch. I didn’t realize it had come, so I left it there. It wasn’t until I saw the packaging spread across my front yard that I realized what happened, and found that the VGA adapter had been chewed into two pieces.

This was on a Saturday and my laptop had not yet shipped, so I wanted to make sure they corrected the shipping address before that went out. I ended up spending nearly two hours trying to reach a human being at Dell. Once I worked my way through their automated system until I got to the question “is this for home or business?” and when I hit “business” I was told to call back on Monday during their normal hours. So I tried again and hit “home” which put me in a queue for about 30 minutes until the call was unceremoniously dropped. I kept trying but finally just bailed and sent in a request via e-mail.

I didn’t get a response to that request until Wednesday, but by that time my laptop had shipped. The support representative, Jeanette, apologized for the issues but I was pretty unhappy and pretty much ignored her e-mails and phone calls. Since they were using FedEx, I was able to divert the package to a local FedexKinkos office and managed to get it (sans teeth marks) with a little extra effort.

I wasn’t impressed with Dell support, but then Jeanette wouldn’t let it drop. She kept trying to call and e-mail. She arranged for a replacement adapter to be sent. She kept wanting to make sure I was happy. In fact, as I write this I have an outstanding e-mail I need to reply to but I wanted to write this up first. If this is the kind of personal attention issues get from Dell, then Dell may have a chance against Apple. But they really need to do something about their automated system. Overall, due to Jeanette’s persistence, I am satisfied with my purchase experience.

Anyway, what about the laptop itself? In the style of the Apple fanboys, I thought I’d do a little unboxing.

The laptop arrived in a Dell labeled box. I always liked the fact that Apple’s boxes are shipped inside a thinner, brown paper box since I like to keep the boxes around, but once I opened it up I realized that the “real” box was inside.

It was a very nice, heavy black box that felt more like opening up a precious jewel or a nice watch than a laptop.

When opened, the laptop takes up most of the box.

Underneath is the power adapter and a small black folder with basic warranty information. I will miss Apple’s power adapter design, I dislike the whole “brick” model and it makes it a little more difficult to use in other countries, but I’ll get over it.

All in all I think Dell did a pretty good job with the packaging “experience”.

Dell sells a Windows version of the XPS 13, but this one has a small “Ubuntu” sticker on the wrist rest (which I’ll probably remove)

but there is also a permanent Ubuntu logo on the back.

When you start it up for the first time, you get a nifty little “welcome” animation. I apologize in advance for the video quality.

The laptop is slightly larger than my MBA, but then again I bought the smallest MBA and there is a 13-inch version available from Apple.

The main place that Dell loses some points is in the screen resolution. It has the same 1366 by 768 pixels as my smaller MBA, and by comparison the equivalent MBA has a 1440 by 900 screen. I like having more pixels, and I get so frustrated when vendors brag about the “HD” quality of their displays, especially with external monitors. To me, 1920 by 1080 is not sufficient pixel density on a 27 inch monitor, for example.

But after using the XPS for awhile, I’ve found that my old eyes tend to prefer the larger screen.

The XPS is fast. I thought the MBA booted fast, but the Dell boots so fast I don’t mind shutting it down completely vs. suspending it.

Now granted, I have rEFIt running on the MBA, but even with that you can see the difference. Note that in fairness the MBA does boot to OS X a little faster, but the XPS still wins on the overall speed issue.

And, yay, the trackpad actually does work well on the XPS. It has the same kind of “natural scrolling” that I’ve missed. Swipe faster and the scrolling speeds up, etc.

Overall I’m happy with the XPS 13 so far. I have yet to take it on the road for a full workout, but I’m happy that Dell is making this available.

While I wasn’t unhappy with my MBA, I like to vote with my wallet and so I was happy to encourage Dell to cater more to the Linux crowd by buying this machine. Only by patronizing Linux friendly vendors, early and often, will we see them pay more attention to pretty much the only free and open desktop alternative available.

OpenNMS is Hiring

OpenNMS is Hiring!

I hope everyone had a great holiday. I enjoyed it, but I did miss getting a couple of gifts: two top-notch Java developers.

OpenNMS is hiring. In our quest to become the de facto network management platform of choice, we’ve experienced an increased demand for new features and we are now in a position to hire a couple of new developers. We are are looking for both a senior and a more junior person to join our close-knit team to make OpenNMS the best it can be.

If you are interested, you should have wicked Java skills and be able to demonstrate how you’ve used them over the years. OpenNMS heavily leverages the Spring Framework, as well as Hibernate, and we use Maven to build it all. Other technologies we use are (but not limited to) OSGi, Google Web Toolkit (GWT), Jetty, JBoss, Vaadin and Karaf. Yes, we like to play will all the new Java toys.

We also rely on junit tests, so knowledge of Agile methods such as test driven development are a big plus. We are a network management solutions company, so experience with similar products and things like SNMP is valuable. Open source experience will earn you even more points.

For the senior position, you should have that and more (grin).

As one would expect with a job like this, we are looking for people used to being self-directed – we have a pretty flat management structure.

Other things we have: a awesome team. You will be able to work in either the Pittsboro, North Carolina office or the Marietta, Georgia office with some of the best people in the business. OpenNMS has no outside investment and we have an 8 year track record of 25%-40% year over year revenue growth. Our business plan is “Spend Less Than You Earn”. This allows us to be focused on our customers, which are spread out over 25 countries, and our mission statement is “Help Customers, Have Fun, Make Money”.

Since we want our mission to be successful, we do try to take your mind off the small stuff with full health benefits, profit sharing, a 401K plan, and great holiday and vacation policies. We also don’t scrimp on computer equipment. While there are those of us who travel a lot, these positions will require minimal travel.

To help us in our quest to find the brightest and the best, we have retained the services FORTUNE Personnel Consultants. If you are interested, please contact David Cole at david.cole@fpcraleigh.com or +1 (919) 760 3016.

You can also check out http://issues.opennms.com and fix a bug or two. That’s always a good way to get our attention.