ClickMasters
← Back to all FAQ cards

Cloud & DevOps

Cloud-Native Development FAQs

What is cloud-native development?

Cloud-native development is an approach to building applications designed from the start to run in cloud environments taking advantage of managed services, horizontal scaling, containerisation, and continuous delivery. Cloud-native applications follow the 12-factor methodology: stateless services (no local state state lives in managed databases and caches), configuration via environment variables (no hardcoded config), and process-based scaling (scale by running more container instances, not by making one instance bigger). Practical outcomes: cloud-native applications scale horizontally (add container instances to handle load), deploy without downtime (rolling deployments new containers started before old stopped), and recover from failures automatically (unhealthy containers replaced without human intervention). This is distinct from applications that are "on the cloud" but architected like on-premises software a monolith on a single large EC2 instance is on the cloud but not cloud-native.

ECS Fargate vs Kubernetes (EKS) which should I choose?

ECS Fargate is simpler and sufficient for most B2B products. It runs containerised applications without needing to manage EC2 nodes you define the task and Fargate runs it. ECS is deeply integrated with AWS services (ALB, ACM, Secrets Manager, IAM) and has less operational overhead. Choose ECS Fargate when: your team is not already Kubernetes-experienced, your application is a standard web service/API/background worker, and you want the lowest possible operational overhead. Choose EKS when: you need advanced traffic management (canary deployments, blue-green with fine-grained traffic splitting), your team has existing Kubernetes expertise, you need to run the same workload on multiple clouds, or you require Kubernetes-specific tooling (Helm charts, custom operators). ClickMasters uses ECS Fargate as default for new builds and EKS for organisations with specific Kubernetes requirements.

What is an event-driven architecture and when is it appropriate?

An event-driven architecture communicates via publishing and consuming events rather than direct synchronous API calls. When Service A completes an action, it publishes an event to a message queue or event bus. Service B (and C, D) subscribe to relevant events and process independently. Benefits: loose coupling (Service A does not know or care which services consume its events adding a new consumer requires no changes to publisher), resilience (if Service B is down, events queue and process when B recovers no data loss), and scalability (each service scales its consumption independently). Appropriate when: multiple services need to react to same event (order placed → trigger fulfillment + send confirmation + update analytics + notify sales rep), processing can be asynchronous (user does not need to wait for all downstream effects), or services have different scaling characteristics and should not be tightly coupled. Not appropriate when: response must be synchronous (user submits form and needs immediate result), or interaction is a simple query (read a database record synchronous API call simpler).

What observability tools does ClickMasters use for cloud-native applications?

ClickMasters implements three pillars of observability. Logs: structured JSON logging via Pino (Node.js) or structlog (Python) every log line is parseable JSON. Logs shipped to CloudWatch Logs with CloudWatch Log Insights for querying. Metrics: Prometheus metrics exposed by each service (counters, gauges, histograms for request rate, latency, error rate, queue depth), scraped by Prometheus server, visualised in Grafana dashboards with alerting rules. Traces: OpenTelemetry instrumentation in every service distributed traces propagated via W3C Trace Context headers across service boundaries. Traces exported to AWS X-Ray (native, no additional infrastructure) or Jaeger (self-hosted). This combination CloudWatch for logs, Prometheus/Grafana for metrics, X-Ray/Jaeger for traces gives complete visibility without requiring a managed observability SaaS platform.