「Cloud Native Trail Map」の10ステップを紐解く(ステップ6~7)

2021年5月18日(火)
赤井 誠

はじめに

国内外で「クラウドネイティブ」に取り組む企業やエンジニアが増え、クラウドネイティブ関連のイベントへの参加者も活況を呈しています。一方で「クラウドネイティブとは、なんでしょうか?」という疑問を持っている方々も多くいます。

そこで本連載では、クラウドネイティブについて解説するとともに、それを支える基本的なテクノロジーやソフトウェア、そして、特にエンジニア視点として、どのように学んでいくかを紹介していきます。

今回は前回に引き続き、クラウドネイティブを実現するための道しるべとなる「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を紹介していきます。

MKTインターナショナル株式会社 代表取締役社長
日本HPに入社後、ソフトウェアR&D、事業企画、マーケティング部門を歴任。Linux事業リーダーとして日本HPをLinux No.1ベンダーに、HPC事業を立ち上げHPC No.1ベンダーへと導く。2011年4月MKTインターナショナルを起業し、現職。『できるPRO MySQL』(インプレス刊)等著書多数。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています