How We Built A Successful Magento Hosting Company

So you've read the offer, the secret sauce, and you still don't believe it.

Well ok then, here's the story of how we actually did it...

Let's travel back in time to 2008 where Magento first started chewing up and spitting out servers. At that time I was working for my own email marketing company and I was focused on store integrations for advanced email marketing.  Email-Marketing-mojo

ShopSite had been my primary focus up until that point when Magento burst onto the scene.  I looked for ways to expand, saw Magento was the next big thing, and wrote my own extension extending the Magento api.  Maintaining and supporting this api became quite a nightmare due to the poor support and misconfiguration of the hosting providers my customers were using. Two things started becoming very clear, Magento's performance was a big problem, and so was the lack of support from hosting providers.

I had been working with ecommerce since 2000 and bounced between many hosted cart solutions.  In the ShopSite hosting world there were many options but only one choice: Lexiconn.  I have a great amount of respect for Lexiconn and the support they offered to their customers.  Rob will tell you I pushed the limits of ShopSite and man we did some crazy things together with it.  At one point we even had ShopSite connected up and printing etickets for the turnstyles at the Kennywood family of amusement parks in Pittsburgh (Kennywood, Sandcastle, Idlewild)!

Kennywood

 We had a store that went on Good Morning America multiple times, QVC appearances, the works.  I owe a lot to Lexiconn and I have a great amount of respect for the level of support they provided to their ShopSite customers.  Lexiconn has finally entered the Magento market and Rob told me "looks like you guys are the ones to beat".  That really meant a lot to me and I'm sure Lexiconn is going to push us harder than ever to do better.

From them I learned a host isn't just the bare metal nor the software stack nor the network.

 The host understands your problems with the application because the host are experts in the application.  They help you with configuration problems.  They help guide you on performance problems with troubleshooting and advice.  They watch your back by applying security updates, not only patching your server, but also patching your store.  They help you troubleshoot problems that you think might be the server, even when they're not, just so you can be sure. When it comes to performance problems, software or app, every performance problem becomes a problem because it's pushing the hardware too much.  Having a deep understanding of how the software and app interact with the hardware is the key to understanding all performance problems.  

Last, but not least, support should be quick to respond, and when responding they take the time to read your ticket, think it through then reply, instead of playing ticket ping pong. We all know how stressful it can be when you open a trouble ticket, wait for the response, and it comes back asking for information you already sent. Knowing that the person on the other end of the keyboard understands your problem and cares about your issue brings a tremendous amount of relief, especially when you know it's someone you can trust.

Now it's 2009, and I'm thinking, I can solve these performance problems with Magento by using better hardware.  You see sending millions of emails a day, hundreds of thousands per hour, thousands per second; requires a very particular set of skills, skills I have acquired over a very long career.

Skills that make me a nightmare for other hosts.  I struggled for years building my own colocated app infrastructure and writing all my code, including my own high performance SMTP email delivery engine, to be able to hit the intense throughput and uber low latency required.

I spent 8 years obsessed with the relationship between code and hardware and the network, to research, learn, and understand how to make them run faster together. One of the most useful pieces of hardware in solving the problem had just come out, and it was taking hardware performance to epic new levels; the solid state disk drive.   My current business partner, and former colleague Martin Pachol, was doing some freelance with me when he suggested I try virtualization.  Pretty soon all my servers were running in VM's with SSD drives. I could clearly see virtualization and SSD technologies were the future.

sheldon_big_bang_theory_t

Here we are in late 2009, I'm sick and tired of dealing with what I considered shitty support at hosting providers and I'm convinced we can build an infrastructure that will run Magento faster.

 We see there's a market where Magento is growing by leaps and bounds.  Everyone is obsessed with Magento performance and we see an opportunity to use our acquired skills to solve these widespread performance problems.

 We now have a niche market with exploding growth, a catalyst of performance problems to propel customers to our offering, and a hook of better performance plus better support to retain them for the long term.  The icing on the cake is that it's a subscription based service, you subscribe customers, they pay you every month, sweet!

MAgento11

We leased a couple servers from Dell wth SSD drives, installed them onto my existing infrastructure, loaded our hypervisor, configured our os/stack, and off we went testing.  It worked, it worked really, really, well!  I started referring customers from the email marketing side to the hosting side.  They told their friends who told their friends and so on.  Before long I had to make a choice.  I was tired of fighting with ISP's over deliverability issues and I always loved building high performance infrastructure and pushing performance boundaries more than anything (admittedly to my own detriment when I should have been doing other things :).  Good bye email markeing! so I transitioned to MageMojo full time.Animals-Waving-Goodbye-Photos-658x411

Those first years were tough.  I mean really tough.  We started this company with no investment so we had no operating capital to hire a full staff. Martin was working full time for the first year and he answered tickets during the daytime while at work.  I answered them in the evenings.

 At night I slept with my phone on my pillow and set the tickets to send me text messages to wake me up at night.  Throughout the night, buzz buzz buzz, wake up answer ticket, sleep, buzz buzz buzz.  Eventually we our income grew, we hired people, we fired people, we learned how to hire and how to fire.

Magento

We soon realized that the datacenter we were in wasn't going to be a long term growth option for us.  They were charging way too much for their bandwidth and their uplinks were saturated.  The latency wasn't great and the were doing funky things with their routing policies. And we were using their IP addresses for our customers DNS, IP addresses we could not take with us anywhere else.  

We were quickly becoming married to this datacenter and soon would never be able to leave.  We knew if we wanted to be a real hosting company; we needed to build our own network.

That's what we did, we moved our two racks into a carrier neutral facility literally right beside all the major eyeball networks.  We picked up IP transit from them, got our ASN from ARIN, and built our own damn network.  It was small, it was low throughput, it was expensive as hell for us at the time, but it was ours damn it! More importantly it's latency was super low making it faster than our previous datacenter's network. We finally had our own core network with our own IP address space; we were fast and we were free! 

Buginbed

We continued to grow, adding more servers, adding more staff. Along the way we learned hard lessons.  We experienced double drive raid failures knocking out arrays.  We experienced backup vendors buggy software failing to keep proper backups when we needed them most.  We got knocked down.  We got back up. We evaluated what went wrong. We grew stronger and stronger.

Then disaster struck at the end of 2012.  Someone launched very high rate pps ddos against one of our customers on black friday knocking us offline.

Our beloved tiny core was quickly overloaded and in that condition could not provide netflow data to identify the target of the attack.  Without the target IP address we had nothing to give our upstreams to null route stopping the flood. It took us a couple hours to figure out the IP addresses and have the null routes in place restoring service.

DDos-attack-mode

In 2013 we started out on a mission to build a new core, the ultimate core, the core we've been dreaming of.  We learned everything we could learn on firewalls, WAF's, IDS's, IPS's, and ddos protection.  We invested $500,000 into the new core and believe me when I say we had the technology and we rebuilt it better than before.  We survived the next Black Friday / Cyber Monday and we caught the attention of F5 Networks who flew us out to do a video case study.   Since then I've been a guest speaker on their webinars and events like the RSA security conference.  CDW also did case studies on too! I became a customer advisor to the Security and DDos team at F5. It's been great to work them and collaborate with their team of security experts.

Along the way I also became a customer advisor to Cisco's Performance Routing team advising on their PfR product.  And oh, also the technical editor on the first Mastering Magento book from Packt Pub.  

Things started looking bright again for old MageMojo!

Mastering

Now we're in 2016 and things are looking good. The network is running great.  Our server builds are solid.  We have iterated over version after version of our automation tools having finally evolved them into their final form.  But there's a problem, a nagging problem, something that we've been trying to avoid but know we will have to deal with eventually.

The problem is we're using someone else's hosting control panel.  Maybe you've heard of it, it's a little thing called cPanel :)  cPanel is an expensive monthly cost for us that keeps growing. It's also taking total control of the server including the software versions and components that can/can't be installed. We want to innovate and we need to try new and exciting technologies but cPanel keeps lagging behind the times, promising new features, but never delivering.  So, being the developers and programmers we are, we say hell with it, let's roll our own control panel and stack, with blackjack and hookers! And we did using angularjs plus bootstrap for the front with Saltstack in the back.  Our server performance doubled!

 Combined with our new hardware build released at the same time we saw a total 3x increase in performance in terms of both decreased latency and increased load handling!  Writing our own control panel and stack allowed us to unlock the full potential of the amazing underlying hardware builds we had created.  Sales literally doubled over night!

Sales in 2015 continued to pick up and we continued to grow while managing to keep a very high 99% retention rate of customers.  Customers that we have lost have either gone out of business or switched platforms and only very rarely left because they were unhappy with our service.  I think it takes about 5 years to bake a hosting company off, to really work out all the bugs, and get yourself humming along with great efficiency.  It certainly takes a long time for the economies of scale to kick in where you start turning profits.

Especially for fixed costs like staffing 24x7 support and running a big core network of your own. What you do sacrifice are the marketing dollars.  You can't afford to have a lounge at Imagine. You can't even go to any events at all.  You invest your money into products and services.  That's how you offer more for less.

247

Let's do some quick "hypothetical" napkin math to illustrate this.  The major expenses of a hosting company are your hardware, network/facility, and payroll.  Hardware costs of leasing one server is about $250/mo. You're still buying latest generation and top of the line hardware but you're keeping your costs low with aggressive qty discount pricing while also leasing on FMV terms.  You can signup customers at your current prices to bring in an avg $1000/mo rev per server. You're left  with $750/mo in income per server after hardware costs. Let's say, "hypothetically", you have 150 physical servers. Take 150 servers multiplied by $750/mo and you have $112,500 in income.  Subtract your network/facility cost of $20,000 and that leaves you with $92,500 for payroll and misc expenses. Can you hire 15-20 highly skilled FTE's living in NYC for that amount? Almost, but not quite.

Fortunately, you don't have to. You need staffing 24x7, so you look for staff in other countries.  It so happens that we've attracted ex-magento employees from Magento Go and EE support, living in Ukraine, who love working with us and fit perfect into our nightshift.  That significantly lowers costs per FTE.  You also allow your employees to work from home so they can enjoy being in lower cost of living areas.

 They love the benefit of remote work while still being paid well for their area. You're able to attract talented people because many want to leave the big cities and head back to rural areas. Plus now you've expanded your job search across the entire country widening your talent pool.  If you had to setup a large office and required everyone to come into work, you couldn't afford to attract talent, nor be profitable.  You also don't need everyone to be a Senior Admin.  What you need are people with hosting experience who are trainable using your playbook.  Lastly, when your two owners are also working at the company full time, you avoid paying the senior management pork.

Pork

My business partner Martin and I did not start this company to get rich.  We started it first because we love building high performance infrastructures and making applications go really really fast.  Second because we wanted to create good jobs for people where they love what they do, they like the people they work with, they look forward to starting work everyday, and they're well taken care of.  I don't care if Martin and I find an exit to cash out.  We're just happy building a family of people who love what they do.  And we love helping our customers.  This is a serious business.  

Our customers depend on us to make sure their store is online and fast.  They might be the owner who's relying on one more order he needs to make his rent this month or she might be working for a large company putting her reputation and job on the line by choosing us.  We depend on our customers to put food on our table and a roof over our head.  Just like our customers depend on us to do the same for them by supporting their online store.

We think that makes a strong bond between us ensuring mutual success.  That's why we choose to build not just another hosting company, but the best damn hosting company specifically for Magento.  Even if we weren't making profits I would still be happy because I love what I do everyday and I love the people I do it with. Even if we never get rich I'll retire happy knowing that we still improved the lives of millions of people through helping our employees, our customers and their customers.

Superman

 

 

One thought on “How We Built A Successful Magento Hosting Company”

  • Ryan

    One of the best blog posts I've read in a long time. We are extremely happy to be hosted here. The level of support is awesome and we are excited to be able to upgrade our server - knowing our growth would not be possible without MM.

Leave a Reply
  • Cisco
  • Intel
  • Redis
  • Magento
  • Nginx
  • Dell
  • Percona
  • MemCached
  • PCI Compliant
  • BBB