This week I caught up with Jacob Fogg, VP of Technology at DataJoe. They have 90+ clients, most of which are business journals and newspapers. The team at DataJoe adopted Jelastic, powered by our hosting partner in the USA ServInt and Jacob was kind enough to share their initial challenge, the solution and their overall experience and setup.
What solution you were using prior to adopting Jelastic powered by ServInt?
Prior to Jelastic we were running a traditional setup on dated hardware. Infrastructure updates were slow and expensive. Software Deployment was manual. The worst part of this setup was, we had to carefully juggle maintenance tasks and batch processing jobs to both fit within our slow times (10pm – 5am eastern). If jobs ended up overlapping too much, it would cause the entire system to spiral into a deadlock that required manual intervention. Now, maintenance finishes quickly and the batch jobs can run on a single cluster node while the others are standing by for application requests.
What is DataJoe?
DataJoe is a software platform and research consulting firm for news publishers who produce editorial databases such as nominations, ranked lists, directories, and public records (filings). The key to our success is offering tools to ease the burden of research and provide new revenue streams via turnkey eCommerce and subscription based web interfaces.
For more details, check out this blog post.
Who are the people behind the project?
We are a small team with huge ambition. We are like a family and can accomplish what companies many times our size cannot.
- Johnny Levy, President of our company, is a teacher at heart, a salesman by necessity, and an enthusiastic optimistic extrovert.
- Jacob Fogg (me), VP of Technology, passionate about all things technology, and an enthusiastic optimistic introvert.
- Lucas Maliszewski, Software developer and my right hand man, creative, artistic, and helps hold our software together.
- Michelle Pearson, Client support and contract research extraordinaire, highly productive and all about the details.
- Jill Prew, Client training coordinator, knows our software like the back of her hand.
- Caleb Anthony, Sales Superhero and software evangelist.
For more info, checkout our about us page.
What was the challenge you faced?
Managing growth. Our software was not originally written to scale. That is all changing now!
What was the solution?
We are rewriting our code one segment at a time. We have adopted a 100% API first mentality. All database and complex functionality is now driven via an extensive REST style internal API. We then are exposing a limited external REST API for our clients’ use, which directly interfaces with our internal API. This will allow us to segment our processes across multiple servers and leverage the flexibility to rapidly develop and deploy new client facing interfaces.
You considered OpenShift vs. Jelastic. Why did you choose Jelastic?
OpenShift met all of our needs, and offered some options like application cartridges to automate much of what we want to do. It required however a large learning curve to implement or additional human resources to manage for us. Jelastic with ServInt took care of the learning curve and implementation, plus it provides extra flexibility with tools like shell access, allowing us to make customized changes that we simply couldn’t do without. As an added bonus, we now have application cartridges!
Can you share your setup with us?
On the front end we will have an NGINX load balancer juggling an Apache cluster running PHP 5.5. I’ve found through testing, we can handle our client load way more efficiently with several small application servers than a single very VERY large server. Leveraging the Jelastic tools, we have setup auto deployment from our Git repos allowing the entire cluster to pull the latest software releases. This is using a simi-standard Jelastic node with a couple of minor backend tweaks. We also have a set of replicated NFS servers built on VDS nodes mounted to the Apache cluster for unified storage across each node. Next, have offloaded a proprietary application we use for generating print production ready PDF’s onto its own VDS node to remove its processor load from our application servers. Finally, we have our massive database running PostgreSQL on it’s set of custom VDS nodes.
Before, we were running on a dedicated server with 4 dual core processors, 32GB ram, and an 8 disk RAID raid. Now, we have the resources of 4 quad core, dual thread processors, 128GB ram, and a 24 disk RAID. All of this on a VDS dedicated to that hardware. This has reduced queries by a minimum of 25%, and reduced a set of long running batch processing jobs from 6 hours down to 2-3 hours.
Here is a simplified summary:
That's incredible! So you are saving several hours per day in processing batch jobs and you're seeing a 25% reduction in simi complex queries?
What are the benefits and results of using Jelastic powered by ServInt?
Rapid server deployment, server failover and clustering, faster response times, better server upgrade path, more flexibility, and the list goes on.
How has the support been compared to previous providers?
Great. Biggest difference is, we had a traditional contract sysadmin who only made changes when we made a request and paid him to do so. Now we have a whole team of developers advancing the platform as a whole!
Lastly, what new features would you like to see on our platform?
Keep adding functionality. You have an ambitious roadmap, keep it up! Also, more server “add-ons” would be great. FTP is super useful, but SSHD would be another great “add-on”. I know there are ways to gaining SSH access, but not having to manually install SSHD on standard Apache instances would be amazing!