In Today’s Architect’s Corner we speak with Cris Fairweather, an Architect and Engineer at WCG…
July 13, 2018
Architect’s Corner: How MightWeb uses containers to provide scalable websites
In today’s Architect’s Corner, we speak with Greg Reed, CEO and owner of Relander Group Inc., the parent company of MightWeb. Greg put on his SysAdmin hat for our conversation about how MightWeb uses containers to provide their customers with scalable websites that don’t require them to manage any infrastructure or operating systems. You can also find a PDF of this case study here.
Key technologies discussed
Infrastructure – On-premises private cloud
Container runtime – Docker
Orchestration – ComputeStacks
Stateful Services – WordPress, Magento, Redis
Tell me a little bit about what MightWeb does as a company?
MightWeb is a one-stop shop for hosting needs. We offer everything from shared web hosting to virtual private servers (virtual machines), and even dedicated servers. As we’ve watched a big part of the industry move to containers, we’ve recently decided to add a container offering to our platform as well.
I see our container offering as the perfect service for people who are outgrowing a shared server but don’t want to manage an operating system in a VM. Or maybe they don’t know how, or don’t want to learn, or don’t have the time.
With a container-based platform, the customer can simply stand up a WordPress container or a Magento container, or any other popular web application, and have their website up and running and instantly load-balanced, replicated, and scalable, without any machine or operating system management overhead.
A second use case I see for containers is for those doing custom development work which is so much easier in a container environment.
And since our pricing is very consumption-based, we think we can compete well with the bigger guys. For instance with AWS, you could stand up a container system with EC2, but it’s just a VM running Docker and that’s it. And then if you want data replication, it’s an extra VM cost, plus, you have to configure everything yourself. If you want a load balancer, of course, there is an extra charge for that. So it’s not super cost-effective. Not to mention we don’t have anything else to configure. Just stand up the environment you want, scale at will and it’s instantly all ready. This is where we feel like we’re nestled in the container space.
Can you tell me a little bit about your role at the company?
I’m the CEO and owner of Relander Group Inc., which is the parent company of MightWeb. I’ve been a system administrator for years, and wear many other hats for the company as well.
What container scheduler do you use?
We use ComputeStacks, which is a container platform specifically designed for service providers like us. ComputeStacks is a scheduler like Kubernetes is a scheduler. At the very end of the line is Docker running on servers, but everything from what the user interacts with all the way down to the actual Docker container is ComputeStacks. And ComputeStacks has different modules as add-ons. We use the Portworx module for persistent storage.
What type of containerized applications do your customers run?
Hands down our biggest use case is WordPress. Right now, we have about 100 beta testers of this container offering. Everyone I talked to about the service was like, “Oh, I have a perfect website for it.” When I asked what kind of website, they almost all said WordPress. Because of all the interest around WordPress, we offer a preconfigured ComputeStack-created WordPress container that works well in the system with a database backend. So it makes everything scalable and movable. We do offer many other pre-configured apps for simple 3-click stand up of containers. In addition to WordPress, I also have some developers that are running Tomcat or Go apps or Redis along with developing Laravel or different website development environments. Since launching the container service we’ve received only positive feedback and we couldn’t be happier with the results.
What were some of the challenges you needed to overcome in order to run stateful containers like WordPress?
When we evaluated storage options for our container platform, we basically had three choices. I could go with local disks, I could go with a shared NAS, or I could go with something like Portworx. Whichever option I went with, I knew I needed three main capabilities.
First, I need a failover/high availability option. So when a customer creates a container, its data is replicated to another node, in case one goes down.
Second, I needed the ability to take snapshots. With WordPress, it is easy to mess up, and then my customers are like, “Oops.” It needs to be really easy to bring the site back after that.
The last, most important thing, is being able to scale.
This is an area that the website owners that I interviewed were concerned about. It’s a really frustrating point for them when they have a lot of traffic come in (for example, if they’re doing a flash sale) and their site crashes. In our container environment, we can easily solve this problem with the shared storage in Portworx. We can allow users to scale their front end WordPress containers to load balance between the containers instantly.
When I looked at how to achieve HA, snapshots, and scale, the only solution that I could use was Portworx.
In the end, Portworx enabled me to increase revenue by offering a service that I would never have been able to build myself. Because I’m able to offer this container service, I’m more competitive than the bigger guys right now, on account of the features that Portworx gives me. Portworx also helps me increase my margins because I can oversubscribe my servers, thanks to thin provisioning. And I’m operationally efficient because Portworx automatically handles so many common failures that can occur in a dynamic server environment. And on top of that, my customers love it because thanks to ComputeStacks and Portworx, they get a scalable website without having to manage any infrastructure or operating systems.
If I got the crazy idea to try to build what Portworx has already done myself, it would cost a lot more money than what Portworx’s licensing does, and there would have to be a lot more infrastructure around the container service than what I’m able and capable to do right now.
Do you have any advice that you would give someone else who was seriously considering running stateful containers in production?
Do it! With solutions like Portworx, now is the time!
I’ve watched the container space evolve for the last three or four years when containers were just starting to get mainstream. And comparing now to then, it’s black and white, especially with a product like Portworx. It just makes a container-based product a lot easier to sell and a lot easier for people to use.