This case study features TextMaster, a company that provides a professional SaaS translation services. It includes a short introduction to TextMaster, as well as details on their infrastructure setup, which includes the use of Docker with Cloud 66 on AWS and Microsoft Azure.
I reached out to TextMaster, to find out more about their innovative approach to running an online translation agency and I had the opportunity to catch up with Pierre-Louis Gottfrois, the Lead Software Engineer at TextMaster. I asked Pierre-Louis to share his experience of working at a global online business and with Cloud 66.
TextMaster was created in 2011 and now it is the European leader in online translation with more than 10,000 clients in 110 countries, 200 million words translated and expert translators in over 50 languages. TextMaster’s mission is to facilitate international dialogue through high-quality multilingual content that is combined with the advanced technology.
TextMaster Product: The company offers three main services that can support any international business expansion to the next level.
Translation services available in over 50 languages and in a wide range of expertise e.g. general business, scientific, legal, medical and more.
Web content writing, where the TextMaster specialists work closely with clients to create a high-quality SEO content to enhance the search engine rankings.
Professional proofreading, where TextMasters ensure that your documents (emails, brochures, websites, etc.) are 100% free of spelling, punctuation, grammar and style mistakes.
How it works TextMaster’s sophisticated platform has an easy, user-friendly interface with a variety of powerful features working in the background. Clients can access it through an online SaaS platform, API or a wide range of integrations and partners.
To get started , place your order by uploading content to the TextMaster platform and selecting the right language and level of the service. TextMaster assigns the most relevant translator to your project. Once the project is submitted you will receive an estimated delivery time (usually within 24 hours).
The main advantage of TextMaster is the ability to monitor the progress of your order in real time and allowing direct interaction with the translator at any point of the process. Once your order is completed you can rate the quality and build your own team of translators for the future projects.
Now let's chat with Pierre-Louis to find out how TextMaster manages their infrastructure.
Pierre-Louis, can you give us an overview of your infrastructure set up?
We currently have about 15 services running on Cloud 66, where 10 of them run in the production environment.
We used to host our services on Heroku but things were getting too expensive as we moved to a more microservice architecture.
The first step for us was to Dockerize our services since it appears to be easier to manage dockerized services with tools like Cloud 66. Our services are hosted on AWS and one or two services are on Azure. We plan to move more services on Azure in the coming months but we are still experiencing some issues there. One thing we loved with Cloud 66 is that we did not have to worry about how things have to work on AWS.
We are a team of 8 Backend/Frontend developers with little knowledge about DevOps in general. Leaving the comfort zone of Heroku for a more "do it yourself" platform was a big decision, but so far, we are pretty happy where we are now.
What are the benefits of using Cloud 66 on the top of AWS?
Using Cloud 66 allows you to have little knowledge about how things are supposed to work on AWS. You don’t have to worry about how to setup things like your load balancers or security groups. The AWS interface is not really user-friendly compared to Cloud 66. Of course, you can always jump in AWS and fine tune some configuration if you really want to and if you know what you are doing but this is something we didn't have to do.
I would even go one step further and say that Cloud 66 provides a great abstraction on top of popular Cloud providers like AWS, Azure, DigitalOcean and so on. Something we definitely want to look into more is the opportunity to manage bare metal or custom servers through Cloud 66 as well.
Why did you choose Cloud 66 over other available providers to deploy your docker containers?
To be honest, we also looked at Kubernetes. The product is great but was too low level for us considering the little DevOps skills we have.
On daily work, we don’t actually care about the implementation details, we just want things to work. We don’t want to worry about service discovery or network issues between docker containers. Cloud 66 handles all of this for us and even more. We simply looked at the stack it was using when considering our options and we saw it was using Weave, which I believe is a great solution.
The other key reason we choose Cloud 66 was the application itself. The UI is very clear and pretty rock solid considering the async/remote actions going on there. As a team of developers, we like to only push and click a couple of buttons to scale or restart our services. Seeing everything is green and stack score A is a very relaxing indicator as well.
How are you using Cloud 66 and what are your favorite features?
Our services run on Docker and are configured to pull the code from a git url. The BuildGrid service then builds our image and deploys it on the hosts.
Surprisingly we don’t use very often the service scale feature since we chose to scale our rails server using Puma process fork. I also feel that by having the service running multiple times on different hosts benefits from high availability, rather than scaling the service on the same machine.
We would like to look more closely on how to set up Continuous Delivery in pair with Semaphore CI, which is the tool we use to run our test suites.
Cloud 66 has CI integration with different vendors including Semaphore. Additionally, webhooks can always be used for CI integration.
What are your plans for 2017?
In terms of DevOps feature, we would like to be able to build on-demand test servers, for our QA, using Cloud 66. We’ve started looking at Cloud 66 API in order to trigger a test stack building through our chat bot Hubot. This is more like a "nice to have" feature but we think it will make our QA life easier.
We would also like to migrate more services from AWS to Azure, managed by Cloud 66.
Finally, we plan to deploy and manage a mid-sized Elasticsearch cluster on Cloud 66 to power MementoTM, our new translation memory feature for the year 2017. This should allow our authors and our clients to benefit the most out of the translations memory on TextMaster, in near real-time. Very exciting subject for us!
For more information on TextMaster business plans, refer to the integration page.
It's a great pleasure to work with the awesome folks at TextMaster.
Thank you Pierre-Louis for finding the time in your busy schedule to chat with us about TextMaster. It's always fantastic to discover all the unique ways in which our customers are using Cloud 66.