Kubernetes & PageChecker Case Study: Thinking scalability from the ground-up
Here is a recent Kubernetes implementation done by the OCS team for our client PageChecker at Singapore. In a few words, PageChecker is a SaaS with the mission of enabling marketers to monitor the landing pages on their websites. Ultimately, this solution is saving a lot on traffic cost. Besides, PageChecker business requires an extreme reliability at minimal cost.
Therefore, retained solution has been based on Kubernetes. In resume, Kubernetes is an open-source container-orchestration system for automating application deployment, scaling, and management.
In few weeks, our Kubernetes consultants at Singapore did an impressive job leveraging the best of the Cloud, Containers and Orchestration. Finally, they successfully faced all PageChecker challenges:
- Cloud Solution
- Super High Reliability
- High and Fast Scalability
- Minimize Cost
- Leverage Open Source
Case study slide version is available at this link, Kubernetes & PageChecker . You will better understand the realised approach and final outcomes.
— Detailed Approach —
No issue there – who wants to own servers on site nowadays!
Beside the reliability issue that would be linked to the code itself (their solution needs to ensure that from the software point of view is it resilient and bug free), we identified the main sources of issues as:
- Networking issues related to ISPs (e.g.. connectivity between the probes server and the website to be checked)
- Hardware issues at the Cloud Provider’s level (faulty disk, CPU or machine running the virtual server)
- Zone Issues at the Cloud Provider’s level (e.g. an entire availability zone going down)
- Systemic issues at the Cloud Provider’s level (e.g. the entire Cloud Provider going down)
Therefore it is our view that multi-cloud hosting is crucial to ensure the highest availability possible. Kubernetes allows this (spreading of the infrastructure across clouds) as well as all the other more simple networking and hardware related issues.
Being a start-up, they will start with 0 clients – so they will want to minimise their hosting costs at first. Whilst it is sometimes quite easy to just upgrade the instance type that you are running in your Cloud, when it comes to really scale up if success knocks at the door, it often requires to rethink the architecture (database, client/service/API, etc.). The beauty with Kubernetes is that scalability is not only ensured, it is at the root of the cause. Kubernetes is built to scale. And not only scale vertically but horizontally as well.
Depending on the Cloud provider, Kubernetes costs vary. However, it remains low and free to use (no license costs are needed). It will be of course a little more expensive to run at first than a micro-instance at AWS, however, the upfront costs paid in the beginning will for sure be offset as soon your scalability kicks in.
We can see how Kubernetes ticked all the boxes in this case and why we designed the architecture this way. The rest of the PageChecker.io architecture is based on PHP/Symfony for the backend and Vue.Js for the front end – whilst the probes are written in Golang.
A final debate on the database:
Are we recommending a NoSQL approach in order to be able to scale, a cloud managed SQL database (such as Cloud Spanner or DynamoDB) or a self-managed SQL database. Well, frankly here, as we all know, SQL databases have not really evolved for the last 20 years. And it all comes down to how comfortable the dev team is with writing routines, queries and optimizing NoSQL vs SQL databases. But when it comes to BigData analysis, there is usually an advantage for SQL. NoSQL users will tend to have to add an additional database layer for their data crunching. So in our case, after a lot of consideration, it was decided to use a managed NoSQL system such as MongoDB Atlas. The analytics part is leveraging data series thanks to Prometheus.
Hopefully this article would have given you some insights into the thought process behind the usage of Kubernetes and its relevance for SaaS startups in today’s environment.
For any question please do not hesitate to our Kubernetes consultants at Singapore for a free-talk on the Cloud and Open Source.
— posted by the Open Cloud Society content team