Building the World's Largest MikroTik API
In our quest to enhance our product, we relentlessly refine our code, explore new technologies, and critically assess our decisions. The foundation of our APIs is built upon three essential pillars:
- Reliability
- Security
- Scalability
Here’s a glimpse into how we achieve these core objectives:
Crafting a Robust Ecosystem
Our technological stack has evolved significantly and currently includes:
Frontend
- VueJS - The most beloved JavaScript framework globally.
- NuxtJS - An excellent framework for optimizing VueJS development.
- TailwindCSS - A highly efficient utility-first CSS framework.
Backend
- Laravel - As iconic as Elvis Presley, Laravel brings a level of elegance to our backend.
- RoadRunner - A superior PHP application server, load balancer, and process manager.
- SingleStore - Recognized as the fastest relational database globally.
- DynamoDB - A NoSQL database for ultra-fast performance at any scale, primarily serving as our caching layer.
- FluentBit - An efficient system for massive-scale log and traffic data collection.
Infrastructure
- Lambda - Facilitates running serverless code seamlessly at any scale.
- SQS - A resilient and reliable message queuing service.
- Kinesis - Ideal for data ingestion and processing through a pipeline.
- S3 - Offers object storage with unparalleled data durability.
- ELB combined with WAF - Ensures high availability and security for application load balancing.
Although we've streamlined our ecosystem for brevity, our technology selection prioritizes modern, cloud-native architectures that are rigorously tested by leading internet companies worldwide.
Embracing Serverless Architecture
Since February 2022, we've transitioned from traditional server deployments to utilizing AWS Lambda for all API traffic, eliminating the need for manual scaling during peak loads.
AWS Lambda has revolutionized how MikroCloud addresses scalability, reliability, and server management challenges. This shift allows us to concentrate on crafting exceptional code rather than managing infrastructure, with numerous benefits including cost-effective billing, precise unit economics, and hassle-free scalability.
Utilizing Laravel Vapor, we've simplified the management of our growing suite of microservices, enhancing our operational efficiency.
Accelerating with a High-Performance Database
The winter of 2021 marked a pivotal moment with the onboarding of our first enterprise user, revealing the limitations of our then-current database solution under heavy load. This led us to explore various cloud-native databases, with SingleStore emerging as the unequivocal choice due to its scalability, cost-efficiency, and unmatched speed.
SingleStore's performance enables real-time query execution for our dashboards, eliminating the need for background service workers. This has significantly contributed to our ability to handle large-scale deployments without compromising performance.
How fast is it? Here's an example on a table with 50 million rows:
Query | Result | Execution Time |
---|---|---|
SELECT COUNT(id) FROM site_checkins; | 50900951 | 530 ms |
SELECT sum(cpu_count) FROM site_checkins; | 121662433 | 950 ms |
For those interested in the capabilities of SingleStore, Jack Ellis provides an insightful article on achieving exceptional database performance.
Our journey in building the world's largest MikroTik API is a testament to our commitment to innovation, reliability, and scalability. Through strategic technology choices and a focus on serverless architecture, we continue to set new standards in the industry.
Was this page helpful?