Jumping From Cloud To Cloud, A Technical Update

Estimated reading time: 3 minutes

If you’ve noticed improved performance while using Teachery this past week you’re not going crazy. In the name of providing a better user experience to you, as well as your customers/students, we recently switched out our cloud infrastructure and beefed up our servers. In the end, our efforts resulted in a 4-5x performance increase over our old cloud provider as well as a 40% reduction in costs. Let’s take a look where we started and where we are now…

In The Beginning

Like many small start ups we originally ran on the Heroku Cloud platform. Heroku is great for getting a project up and running quickly and they even provide a free tier which keeps costs to zero while you’re in the initial stages of development. I would say there’s no easier platform to use for such an early stage business. The flipside to all this initial convenience is that you pay a significant premium once you need to run a full production level service. This cost premium was fine during the initial months of Teachery but we always knew that we would move away to a more cost effective provider to handle traffic growth.

Where We Are Now

The short answer is that our servers now reside with Digital Ocean, managed by Cloud66. It’s a two pronged approach that replicates nearly the same level of convenience as Heroku but with more flexibility, reduced costs, and better performance.

Digital Ocean provides low cost, reliable, and fast servers through a very simple web interface. It’s important to note that while Digital Ocean provides some support for bootstrapping a server, it does not handle any automation once the server is booted. That’s where Cloud66 fits in.

Running operations for a server cluster is not a trivial task and requires a great deal of knowledge and time to do it right and I’d much rather be building Teachery then managing servers it runs on. Cloud66 provides all the orchestration needed to boot up an application as well as scale out the servers needed to support a production level stack. In other words, it handles all of the stuff I don’t want to.

Not Everything Went To Plan

Overall the transition from Heroku to Cloud66 & Digital Ocean went smoothly but it wasn’t entirely without problems. First and foremost I forgot to install an SSL certificate on the new server! Further complicating things was the fact that I lost the key that the original certificate was created with and had to get an entirely new key issued. I also incorrectly updated our domain’s DNS records without saving the old values and had to scramble to sort out the correct settings. Both issues were resolved rather quickly but it goes to show, no matter how much you rehearse, the live situation is always unpredictable.

Into The Future

As I mentioned earlier, we’ve seen a 4-5x increase in performance with a 40% drop in overall costs but more importantly I believe we are much better suited to scale our services to match user growth in a cost effective and sustainable manner. I hope this was an interesting look into our continual efforts to make Teachery a better platform for you and your customers. If you’re interested in hearing more about the behind the scenes of Teachery, send me a tweet!

 

Gerlando Piro

Co-Founder of Teachery. Crafting the web since before it was cool. Full Time Portland (Ripcity!) Evangelist.