「Cloud Native Trail Map」の10ステップを紐解く(ステップ6~7)
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/lf_cloudntive_study_main_2.jpg?itok=lkedn11O)
はじめに
国内外で「クラウドネイティブ」に取り組む企業やエンジニアが増え、クラウドネイティブ関連のイベントへの参加者も活況を呈しています。一方で「クラウドネイティブとは、なんでしょうか?」という疑問を持っている方々も多くいます。
そこで本連載では、クラウドネイティブについて解説するとともに、それを支える基本的なテクノロジーやソフトウェア、そして、特にエンジニア視点として、どのように学んでいくかを紹介していきます。
今回は前回に引き続き、クラウドネイティブを実現するための道しるべとなる「Cloud Native Trail Map」について、ステップ6~7までを解説します。
Cloud Native Trail Mapの
10のステップ
Cloud Native Trail Mapには全部で10ステップありますが、ステップ3以降はすべてオプションで、状況に応じて選択されています。従って、クラウドネイティブになるには10個すべてのステップを達成することではないことに注意してください。
ステップ6:ネットワーク、ポリシー、セキュリティ
より柔軟なネットワークを実現するために、Container Network Interface(CNI)に準拠したネットワークプロジェクトを使用します。CNIは、Cloud Native Computing Foundationのプロジェクトで、Linuxコンテナのネットワークインターフェースを設定するプラグインを書くための仕様とライブラリ、および多くのプラグインで構成されています。
急速に普及しているLinux上のアプリケーションコンテナ分野では、ネットワークは環境に大きく依存していますが、十分にうまく対応できていません。CNIは、そのための解決手段を支援するために、ネットワークプラグインとコンテナランタイムの間に共通のインターフェイスを定義されたものです。CNIは、コンテナのネットワーク接続と、コンテナが削除されたときに割り当てられたリソースを削除することにフォーカスしています。
CIIをサポートしているコンテナランタイムやプラグインは、以下にリストされています。
●CNI-コンテナネットワークインターフェイス
https://github.com/containernetworking/cni#3rd-party-plugins
使用するプロダクトやサービスごとに、異なるポリシー言語、ポリシー・モデル、ポリシーAPIを使用すると開発・運用・管理が複雑になります。そのため、クラウドネイティブ環境全体で、統一されたポリシーを採用します。
そのポリシーエンジンの1つが、Open Policy Agent(OPA)です。OPAは認証やアドミッションコントロール、データフィルタリングなどに使用されます。OPAを使用してポリシーをサービスのコードから切り離すことで、ポリシーのリリース、分析、レビューを行うことができます。
●Open Policy Agent公式サイト:https://www.openpolicyagent.org/
Falco
OPAを使用するためには、クラウドネイティブなアプリケーションのセキュリティを確保するソリューションが必要となります。例えば、「Falco」がそれにあります。
●Falco Project公式サイト:https://falco.org/
Falcoは、クラウドネイティブ向けの異常検知エンジンで、セキュリティベンダーのSysdigが同社製品をベースにオープンソース化したものです。Falcoは、システムコールを使用してシステムのセキュリティと監視を行います。外部からの不正な侵入が行われた場合やコンテナの不審な振る舞いを検知して、アラートを発信します。
ステップ7:分散型データベース&ストレージ
単一のデータベースよりも回復力と拡張性が必要な場合、分散型データベースを採用します。また、ストレージ環境も強化します。
Vitess
「Vitess」は、オープンソースのデータベースインスタンスの大規模なクラスターをデプロイ、スケーリング、管理するためのデータベースソリューションです。Vitessは、YouTubeがMySQLの問題点を解決するために開発されました。現在、MySQLとMariaDBをサポートしており、多くの SQL機能とNoSQLデータベースのスケーラビリティを組み合わせ、機能を拡張しています。
Vitessの主な特徴は、次のとおりです。
- 最適化コネクションプーリングによるパフォーマンス
- クエリのブラックリスト化などの保護機能
- データベースのパフォーマンスの監視、診断、分析ができるモニタリング機能
- Webベースの管理ツールなどのマスター管理ツール
- シャーディング機能による拡張性
etcd
「etcd」は単純なで強力かつ一貫性を持つKey-Value形式の分散データストアです。Kubernetesの“頭脳”としての役割を果たし、マシンのクラスター全体でデータを保存するための信頼性の高い方法を提供します。TiVK
Cloud Native Trail Mapでは、Key-Value形式の分散データストアである「TiKV」も紹介されています。
Rook
また、ストレージソリューションとして「Rook」が紹介されています。
Rookは、多様なストレージソリューションをKubernetesに統合するストレージオーケストレーターです。Rookは、ストレージ管理者のタスク(デプロイメント、ブートストラップ、設定、プロビジョニング、スケーリング、アップグレード、マイグレーション、ディザスタリカバリ、モニタリング、リソース管理)を自動化します。
おわりに
ステップ6、7で紹介されているオープンソースについて、クラウドネイティブだけでなく、多くのIT基盤が普及するときに課題となるのは、セキュリティやポリシー、データ保存です。ステップ6、7で紹介されているオープンソースは、それらの課題を解決するソリューションになっています。
次回は、Cloud Native Trail Mapの最後となるステップ8〜10を紹介していきます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 「Cloud Native Trail Map」の10ステップを紐解く(ステップ1~3)
- 「Cloud Native Trail Map」の10ステップを紐解く(ステップ4~5)
- 「Cloud Native Trail Map」の10ステップを紐解く(ステップ8~10)
- クラウドネイティブの基礎知識 ークラウドネイティブを実現するロードマップ「Cloud Native Trail Map」を読み解くために
- CNCFのCTO、Chris氏の「Cloud Native Predictions for 2021 and Beyond」に見る、クラウドネイティブに関する予測【前編】
- エンジニアの視点から、クラウドネイティブ技術とどのように向き合い、学んでいくべきか
- LFがエントリーレベルの認定試験「認定Kubernetesクラウドネイティブアソシエイト(KCNA-JP)」日本語版を提供開始
- CNDO2021、CNCFの提供するクラウドネイティブランドスケープを解説するセッションを紹介
- LFが「Kubernetesプロジェクト ジャーニー レポート」とKubernetesの新トレーニング「Kubernetes アプリケーション開発」を発表
- Linux Foudationの2020年上半期の動きを振り返る(2)