Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[前前前夜祭]クラウドネイティブってなあに?という方へ!

 [前前前夜祭]クラウドネイティブってなあに?という方へ!

[アンオフィシャル前前前夜祭「クラウドネイティブLT会」]
「クラウドネイティブ」についてわいわい勉強したい!
そんな思いから、クラウドに関するライトニングトーク (LT) イベントを企画しました。
初めて「クラウドネイティブ」聞いたよという方に向けてLTしました!
https://churadata.connpass.com/event/355663/

Avatar for Keita Nakata

Keita Nakata

May 20, 2025

More Decks by Keita Nakata

Other Decks in Technology

Transcript

  1. クラウドネイティブの始まり CNCFによるCloud Nativeの定義 2015年 CNCF(Cloud Native Computing Foundation) CloudNative促進団体(Google, X,

    Red Hat…) クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的 でダイナミックな環境において、スケーラブルなアプリケーションを構築、および実行するための能力を 組織にもたらします。このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イ ミュータブルインフラストラクチャ、 および宣言型 API があります。これらの手法により、回復性、管理 力、および可観測性のある疎結合システムが実現します。これらを堅牢な自動化と組み合わせること で、エンジニアはインパクトのある変更を、最小限の労力で、頻繁かつ予測どおりに行うことができま す。 https://github.com/cncf/toc/blob/main/DEFINITION.md#%E6%97%A5%E6%9C%AC%E8%AA %9E%E7%89%88
  2. クラウドネイティブとは? Cloud Nativeとはクラウドに最適化されたアーキテクチャーのことで、 従来よりマネージドにリソースをうまく活用できる CNCF(Cloud Native Computing Foundation)によると クラウドネイティブ技術は、パブリッククラウド、プライベートクラウ ド、ハイブリッドクラウドなどの近代的でダイナミックな環境にお

    いて、スケーラブルなアプリケーションを構築、および実行するた めの能力を組織にもたらします。このアプローチの代表例に、コ ンテナ、サービスメッシュ、マイクロサービス、イミュータブルイン フラストラクチャ、 および宣言型 API があります。これらの手法 により、回復性、管理力、および可観測性のある疎結合システム が実現します。これらを堅牢な自動化と組み合わせることで、エ ンジニアはインパクトのある変更を、最小限の労力で、頻繁かつ 予測どおりに行うことができます。 https://github.com/cncf/toc/blob/main/DEFINITION.md#%E6 %97%A5%E6%9C%AC%E8%AA%9E%E7%89%88 コンテナ技術の発展と、その進化に関連する テクノロジ業界の連携を支援 Google, X, Red Hat… クラウドに最適化された アーキテクチャー AWS や Azure、GCP など クラウドの“柔軟性”や“自動化”を最 大限活かしていこう
  3. クラウドネイティブの背景 クラウド環境の技術が進化し、インフラ運用の手間を減らしてサービス開発に集中した い、というニーズが高まった。 昔の運用 • • • • サーバーを手動で管理 障害対応・パッチ適用・監視も人手で

    インフラ構築に時間とコストがかかる リリース作業は夜間に“集合” Cloud Native以降の運用 • • • • クラウドの特性の設計・運用(IaC) マネージドサービスの活用、迅速なリリー ス(モニタリング) インフラ,スケール自動化自動(CICD) “本当に作りたいもの”に集中できる クラウド環境の技術の発展 “インフラ運用に手間をかけずに、サービス開発に集中したい ”というニーズ
  4. クラウド使えばCloud Nativeなのか? 単に“クラウドで動かしている”だけではなく、クラウドの特性・進化・マネージドサービス を利用することが重要 クラウドを使う(LIFT) GCP, AWS, Azureなどクラウドの 仮想マシンやストレージ、データベースなどのサービスを利用すること •

    • • OSやミドルウェアの アップデート・パッチ適用・死活 監視 など自分たちで運用 し続ける必要 サーバー障害やスケール対応 も手作業・都度対応 リリース作業や構成変更も 人手による操作 が多い → 結果、コストや工数はそこまで下がらない 、変化への追 従も遅い • • • スケールアウト/スケールイン や障害復旧 を“人手” でなく“自動化・サービスに任せる ”設計 変更やリリースを “都度手作業 ”ではなくCI/CDで自動 化・素早く小さく頻繁に 行う イミュータブル(不変)インフラ や宣言的インフラ (Infrastructure as Code)を使う
  5. CloudNativeの学習方法 どんな技術やツールがあるのか、どんな順 番で学べばいいか示されている • • • • • • •

    • • • CONTAINERIZATION CICD ORCHESTRATION OBSERBILITY SERVICE PROXY NETWORKING DISTRIBUTED DATABSE STREAMING CONTAINER REGISTRY SOFTWARE DISTRIBUTION https://github.com/cncf/trailmap
  6. CONTAINERIZATION、CI/CD 概要 : アプリケーションとその依存関係を一つの軽量な実行可能 単位(コンテナ)としてパッケージ化します。これにより、環境間での 一貫性が保たれ、移植性が向上します。 代表的なツール : Docker、containerd、CRI-O 概要

    : コードの変更を自動的にビルド、テスト、デプロイするプロセス を確立します。これにより、リリースの頻度と品質が向上し、開発の 効率化が図れます。 代表的なツール : Jenkins、GitLab CI/CD、Argo CD
  7. ORCHESTRATION, OBSERVABILITY 概要 : 複数のコンテナを効率的に管理・調整する仕組みです。デプ ロイメント、スケーリング、障害時の自動復旧などを自動化します。 代表的なツール : Kubernetes, HELM

    概要 : システムの内部状態を外部から把握できる能力です。メトリク ス、ログ、トレースなどを収集・分析し、システムの健全性を監視しま す。 代表的なツール : Prometheus、Fluentd、Jaeger、OpenTelemetry
  8. SERVICE PROXY, NETWORKING サービスプロキシ 概要 : サービス間の通信を仲介し、トラフィックの制御やセキュリ ティポリシーの適用、観測データの収集などを行います。 代表的なツール :

    Envoy、Linkerd ネットワーキング 概要 : コンテナ間やサービス間の通信を確立・管理します。セキュリ ティポリシーの適用やトラフィックのルーティングなども含まれます。 代表的なツール : Calico、Cilium、Weave Ne
  9. DISTRIBUTED DB, STREAMING 分散データベース 概要 : 複数のノードにデータを分散して保存・管理するデータベー スです。スケーラビリティや高可用性を実現します。 代表的なツール :

    Vitess、Cassandra、CockroachDB ストリーミング 概要 : リアルタイムでデータを処理・転送する仕組みです。イベント駆 動型のアーキテクチャやデータパイプラインの構築に利用されます。 代表的なツール : Apache Kafka、NATS、gRPC
  10. CONTAINER REGISTRY, SOFTWARE DISTRIBUTIO コンテナレジストリ 概要 : コンテナイメージを保存・管理・配布するためのリポジトリで す。セキュリティスキャンや署名などの機能も提供します。 代表的なツール

    : Harbor、Docker Hub、Quay ソフトウェア配布 概要 : ソフトウェアのリリースや更新を安全かつ効率的に行う仕組み です。署名や検証を通じて、信頼性の高い配布を実現します。 代表的なツール : Helm、Sigstore、Notary