オラクルのKubernetesの優位性
このように昨今のクラウドアプリケーションの実行・運用管理に欠かせないKubernetesを活用するにあたり、“オラクルが提供するKubernetes”には優位性が3つある。
1つめは、要件に応じて、構築・運用管理の省力化にフォーカスしたマネージドKubernetesサービスである「Oracle Cloud Infrastructure」(以下、OCI)と、カスタマイズ性が高くGPUによる機械学習などのエッジな要件にも適用できる「Terraformインストーラ for OCI」という、2通りのデプロイ方式から選択することができる点だ。
2つめは、高性能次世代IaaSがもたらすエンタープライズグレードのハイパフォーマンスと可用性である。使用しているハードウェアは高速SSDを搭載したベアメタルサーバー。さらに、地理的に離れたデータセンターで稼働するこのハードウェア3つを使いAvailability Domains(以下、AD)を構成している。そのため、いずれかのハードウェアが落ちてしまったとしても、Kubernetesクラスターは残りのAD上のノードを使って機能を維持し続ける。
このようなエンタープライズで使用するクラウドに必須の可用性を、OCIがいかに実現しているかについては、本イベントの午前中に行われた基調講演で詳しく紹介された。また、OCIは可用性のほかにも、セキュア、多目的、常に高速、コスト削減を予測できる、総合的な管理、Oracleに最適化などのアドバンテージを持つという。
3つめは、Oracle Cloudの幅広いサービス群とKubernetesを組み合わせることによって、様々なユースケースに対応できる点が挙げられる。「クラウドでビジネスに合わせたシステムを構築しようとすると、非常にいろいろな構成要素を考えなければなりません。その場合、当然Kubernetesだけでは完結しません。オラクルの得意領域でもあるデータベースをはじめとする様々なサービス群を組み合わせることで、多様なニーズに対応できるシステムを構築できます」(早川氏)
AI開発におけるKubernetes活用事例
このような特長をもつオラクルのKuberenetesを活用し、今秋リリース予定のAIプラットフォーム「Gauss Foundation Platform」(以下、GFP)を構築しているのがGAUSS社だ。昨今のAI開発サイクルは、データ取得→アノテーション→学習→デプロイ→再学習となっているという。しかし、「ここには3つの課題があります」と株式会社GAUSS AIプラットフォーム部 部長の安田大地氏は語る。
「1つめはデータ取得について。お客様がデータを持っていればいいが、データがない場合には、データを取得するところから始めなければなりません。2つめはアノテーションのところで、教師データの作成にコストがかかってしまいます。そして3つめは再学習。継続的な学習にコストがかかりますし、一連の流れを手動で実行していると、お客様が増えてくると手が回らなくなってしまいます」(安田氏)
そこでGAUSSは、データの取得にやはり今話題の自動化ツール「RPA」を利用。教師データの作成にはアノテーションツールを使い、再学習では、継続的インテグレーション(CI)に活路を見出した。
これで課題は解消と言いたいところだったが、別の悩みも出てきてしまった。AWS上で運用していたDockerの本番運用において、高可用性、データ永続化、コンテナ管理、スケーリング、モニタリング、イメージ管理、障害対応など、数々の課題が浮き彫りになったのだ。
これらの課題を簡単に解決したのが、Oracle Cloudへの移行とKuberenetesの採用だった。中でも効果を発揮したのが、スケーリングと障害対応のところだ。スケーリングにおいては、CPUやメモリの使用量に応じて、リソースの最適化を図ることができるようになった。障害対応では、KubernetesのReplicaSetによって、稼働コンテナ数が保証されているため、Dockerがもし落ちたとしても、自動的に他のコンテナが立ち上がるようになった。加えて、ローリングアップデートによって、アプリコンテナが動かなくなっても、すぐに戻すことができるようになったのだ。
「そもそもKubernetesは難しい。インフラエンジニアとしてのスキルには自信があったものの、構築に1ヶ月半くらいかかってしまいました。しかしOKE(Oracle Container Engine for Kubernetes)を使うと、たった30分で立ち上げることができ、ショックを受けました。そのくらい素晴らしい環境になっています。これからもオラクルさんとGAUSSでAIの開発をもっとシンプルに、もっと簡単に提供していく予定です」(安田氏)
安田氏の言葉のとおり、Kuberenetesを扱うのはやさしくない。というより、Kuberenetesが扱っている対象システムが複雑で難しい。エンジニアである以上、新しいシステムアーキテクチャを理解していく努力は避けられない。しかし、ツールの力を借りて運用するのもエンジニアのスキルである。どれが最適かは、実際にトライしてみるのが一番だろう。その意味でも、取っつきやすいOKEは選択肢に入れておきたい。
ダウンロードできます - Oracle Cloud Platform各種資料
「Oracle Cloud Platform ダウンロード資料集」サイトでは、IaaS、PaaSの50を超えるサービス群を統合したOracle Cloud Platformに関する製品カタログ、事例集、調査レポート、ホワイトペーパー、各種ドキュメントなどを配布しています。ぜひお気軽にご覧ください。