Architecture and platform engineering
Built for the cloud it runs on
Most systems described as cloud-native are hosted in a cloud and built like they are not — one deployable, one database, scaled by making the machine bigger. The difference shows up under load, and again on the invoice.
Where the architecture earns its keep
Cloud-native is not a stack, and it is not a hosting decision. It is a set of assumptions: that capacity changes, that any component can fail without taking the system with it, and that the platform underneath provides more than virtual machines.
Those assumptions pay off unevenly. A steady internal tool gains very little from being decomposed. A product with spiky load, tenants that must stay separated, or a workload that needs to scale on a different axis from the rest gains a great deal.
So the question we start with is not containers or serverless. It is which parts of the system have genuinely different operational shapes — because those are the only ones worth separating.
Scope
What you get
-
Containerized services
Kubernetes where a system needs long-running services, fine-grained control and predictable behavior under sustained load.
-
Serverless workloads
Managed functions and event pipelines where load is spiky or infrequent, and running a cluster would be cost without benefit.
-
Multi-tenant platforms
Separation designed into the data layer from the first schema, so one platform can serve many customers without one leaking into another.
-
Event-driven integration
Queues, streams and events between services, so a slow or failed component degrades the system rather than stopping it.
-
Infrastructure as code
Environments defined in version control and reproducible, because an architecture nobody can rebuild is a single point of failure.
-
Observability and operations
The logging, tracing and alerting that make a distributed system debuggable — built in, not added after the first incident.
Approach
How the decision gets made
- 01
Find the different shapes
Which workloads scale differently, fail differently or need isolating. Those are the seams worth cutting along.
- 02
Choose per workload
Containers, managed functions or a plain service — decided by the shape of the load rather than by a house standard.
- 03
Make it reproducible
Infrastructure in code and environments that can be rebuilt, before the system gets complicated enough to need it.
- 04
Operate it
The architecture is a hypothesis until it has run under real traffic. We stay to find out where it was wrong.
Proof
Where it has run before
Case study IoT · Digital Twin · Real-timeThe software platform behind connected smart lighting
How Toobler built Infinity — the multi-tenant, multi-site cloud platform behind CosmicNode's connected lighting: real-time control and monitoring of thousands of LED fixtures and sensors across greenhouses and smart buildings, on a cloud-native (Amazon EKS) architecture.
Case study SaaS Product Engineering · MobileFrom website builder to all-in-one SaaS platform
How Toobler engineered GoSite's all-in-one SaaS platform for local service businesses — a no-code website builder, unified CRM/booking/payments/reviews/messaging, native mobile, on a serverless AWS stack — over six years.
Case study Video · ServerlessA platform for creating and sharing video
How Toobler built vidiCrew — a collaborative video-production and media platform on a serverless AWS pipeline (MediaConvert to HLS to CloudFront), with searchable galleries and web plus native iOS and Android apps.
Case study Live Streaming · Real-time · AIA real-time platform for live moments
How Toobler engineered HypeDirector — a real-time, AI-powered live-content platform across native iOS/Android, PWA and web: live streaming, AI-and-human moment detection, a live clip-and-notify pipeline and real-time push at scale.
Start with the architecture question
A readiness sprint maps the workloads, the constraints and the integration surface before anyone commits to a shape.