KCNA: Cloud Native Architecture Fundamentals

- 7 mins

Cloud Native Architecture Fundamentals

📋 Table of Contents

Cloud Native refers to applications that are designed for and built into cloud environments from the ground up. These applications harness the power of the cloud to provide:

Key Benefits

Benefit Description
Cost Savings Resources scaled as required, pay-as-you-use model
High Availability Built-in redundancy and fault tolerance
Automation Leverages Cloud Provider APIs with tools like Terraform/Ansible

Core Cloud Native Design Principles

To evaluate if an application is truly cloud native, ask these four critical questions:

  1. Is the application automated in its setup and delivery?
    • Infrastructure as Code (IaC)
    • Automated CI/CD pipelines
    • Self-provisioning capabilities
  2. Has the application been designed with resilience to protect from failure?
    • Self-healing mechanisms
    • Redundancy built-in
    • Graceful degradation
  3. Can the app auto-scale based on operational workload?
    • Horizontal and vertical scaling
    • Resource optimization
    • Dynamic load adjustment
  4. Is the app secure by default?
    • Zero trust security model
    • Least privilege access
    • Built-in security controls

The Four Pillars of Cloud Native Architecture

Cloud-native architecture is built on four central pillars. If an application lacks one of these, it’s likely “Cloud Wash” rather than truly Cloud Native.

1. Microservices Architecture

2. Containerization

3. DevOps

4. Continuous Delivery (CD)

CNCF and Open Standards

The Cloud Native Computing Foundation (CNCF) is the governing body that hosts critical projects like Kubernetes and Prometheus.

The CNCF plays a crucial role in:

Open Standards & The OCI

To avoid vendor lock-in (being stuck with one provider), the industry uses Open Standards. The Open Container Initiative (OCI) is key here, defining how images are built and run.

Standard Full Form Purpose
CRI Container Runtime Interface Allows Kubernetes (kubelet) to use different container runtimes.
CNI Container Network Interface Standardizes how network connectivity is assigned to containers.
CSI Container Storage Interface A common interface for K8s to talk to different storage providers.
OCI Open Container Initiative Standardizes container formats and runtimes (e.g., runc).

Security: Zero Trust & Least Privilege

Cloud-native security assumes the network is already compromised.

Resilience and Service Discovery

A cloud-native app must be Self-Healing. This is achieved through:

Scalability: Horizontal vs. Vertical

One of the biggest KCNA topics is how we handle load.

** Kubernetes Autoscaling Components**

Cluster Autoscaler

HPA (Horizontal Pod Autoscaler)

VPA (Vertical Pod Autoscaler)

KEDA (Kubernetes Event-Driven Autoscaling)

** Service Discovery**

Serverless and FaaS

Serverless doesn’t mean there are no servers; it means you don’t manage them.

Serverless Pricing Model

Charges based on:

Serverless Challenges

CloudEvents


Automation, IAC, and CI/CD

In the cloud-native world, manual configuration is a failure. We use Infrastructure as Code (IaC) tools like Terraform or Ansible to manage infrastructure through code.

The CI/CD Pipeline


Key Roles in Cloud Native

Role Primary Objective Focus Areas
DevOps Engineer Bridge gap between Dev and Ops Automation, process optimization, smooth releases
Site Reliability Engineer (SRE) Ensure system reliability Uptime, availability, scalability, resilience
CloudOps Engineer Optimize cloud workloads Management, delivery, optimization of cloud infrastructure
DevSecOps Integrate security in DevOps Security throughout software lifecycle
FinOps Manage cloud costs Financial optimization and cost effectiveness

SRE vs DevOps

Common Ground:

Open Standards and Specifications

Why Open Standards Matter

Key Open Standards

OCI (Open Container Initiative)

OCI Runtime Specification

Container Standards

Standard Full Name Purpose
CNI Container Network Interface Network connectivity standards
CRI Container Runtime Interface Allows kubelet to use various container runtimes
CSI Container Storage Interface Common interface for storage solutions

📦 Image Specification

💾 CSI Benefits


Lais Ziegler

Lais Ziegler

Dev in training... 👋