Cloud native computing from wikipedia

Cloud native computing is an approach in software development that utilizes cloud computing to its fullest due to its use of an open source software stack to deploy applications as microservices.[1][2] Typically, cloud native applications are built as a set of microservices that run in Docker containers, orchestrated in Kubernetes and managed and deployed using DevOps and Git Ops workflows.[3] The advantage of using Docker containers is the ability to package all software needed to execute into one executable package. The container runs in a virtualized environment, which isolates the contained application from its environment.

キーワードとしては以下が挙げられている

  • Microservices
  • Docker
  • Kubernetes
  • DevOps/GitOps

Cloud Native Computing Foundation (CNCF)

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.
Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

Cloud Native Application Architecture

-WalmartLabs techblog Cloud Native Application Architecture

以下が挙げられている

Cloud Native Design Principles(クラウドネイティブデザイン原則)として以下の項目が挙げられている。

  • Designed As Loosely Coupled Microservices(疎結合のマイクロサービスとしてデザイン)
  • Developed With Best-of-breed Languages And Frameworks(適切な言語とフレームワークで開発)
  • Centred Around APIs For Interaction And Collaboration(インタラクションとコラボレーションのためのAPI)
  • Stateless And Massively Scalable(ステートレスで非常にスケーラブル)
  • Resiliency At The Core Of the Architecture(アーキテクチャの中核となる回復性)
  • Packaged As Lightweight Containers And Orchestrated(コンテナ化/コンテナオーケストレーション)
  • Agile DevOps & Automation Using CI/CD(CI/CDによるアジャイルDevOpsと自動化)

some of the strategies for implementing resiliency(回復性を高める戦略)として以下が挙げられている。

  • Retry transient failures(リトライ)
  • Load balance across instances(負荷分散)
  • Degrade gracefully(適切な縮退運転)
  • Throttle high-volume tenants/users(スロットリング)
  • Use a circuit breaker(サーキットブレーカー)
  • Apply compensating transactions(補償トランザクションの適用)

What is Cloud Natvie from Software Circus 2016

Lesson Larntとして以下を挙げている

  • Cloud Natvie needs good tools(クラウドネイティブは良いツールが必要)
  • the infrastructure has to be boring(インフラは退屈でなくては)
  • We need good PATTERNS(良いパターンが必要)
    • Microservices (and Microliths)
    • Cattle not Pets
    • Observability and Control baked in Traffic Patterns (Blue/Green, Canary, smart routing & load balancing …)

PATTERNSは何か?

  • Availability - Microservices
  • Automation - Deployment & Management
  • Acceleration - CI/CD & OODA
  • Anywhere - Containers are portable