Cloud Native開発で求められるインフラの要件とは?
「Oracle Cloud Infrastructure(OCI)」の特徴について丸川氏は「スピード感や柔軟性、高可用性、従量課金といったクラウドのメリットと、パフォーマンスやセキュリティ、ガバナンスといったオンプレミスのメリットを併せ持つ『第二世代クラウド』として開発された。デーセンターが設置されている欧米では、着実にユーザーを増やしている」と述べ、その先進性をアピールする。
また2019年中には、日本のユーザーが待ち望んでいた国内データセンターも開設する。2019年5月に東京リージョンが、同年12月には大阪リージョンが開設される予定となっており、日本のユーザーにとってOCIがますます身近な存在になるという。
なおOCIは、近年開発者の間で注目を集めているコンテナ技術を使った、いわゆる「Cloud Native」アーキテクチャに対応している。その中心的役割を演じるのが、マネージドKubernetesサービス「Oracle Container Engine for Kubernetes(OKE)」と、マネージドなコンテナレジストリ「Oracle Cloud Infrastructure Registry(OCIR)」の2つのサービスだ。
他のクラウドサービスでも同種のサービスは提供されているが、OCIはエンタープライズクラスの高いパフォーマンスと可用性が担保された環境でKubernetesのクラスタを運用できる点が大きな特徴。またOKEとOCIRは無料で利用でき、足回りのIaaSの利用料を従量課金で支払うだけで安価に利用できる。さらには、OCIが提供する多種多様な周辺サービス群をOKE/OCIRと連携させることで、さまざまなユースケースに対応したシステムアーキテクチャに対応可能だという。
これら周辺サービス群の中でも、特に最近オラクルが力を入れているのが、自律型データベース「Oracle Autonomous Database」だ。パッチ適用やバックアップ、チューニング、オンライン・スケーリングなどの運用タスクを、データベースがすべて自動的に行ってくれるため、これまでデータベース運用に掛かっていた手間や時間を大幅に削減できるという。またセキュリティ対策やダウンからの復旧のタスクも、データベースが自律的に行ってくれる。
このOracle Autonomous DatabaseとOKEを組み合わせることで、システム負荷に応じて柔軟にスケールするコンテナアプリケーションを容易に構築できるという。本セッションでは実際に、Oracle Autonomous DatabaseのOLTP向けサービス「Oracle Autonomous Transaction Processing」とOKEを組み合わせ、外部から負荷を与えながらアプリケーション層およびデータベース層について、アプリケーション処理を途切れさせることなくスケールさせる様子が披露された。
「将来的には、完全自動スケールも実現できる予定だ。このように、OCIはCloud Nativeアーキテクチャに基づくアプリケーション開発には最適なプラットフォームだと自負しているので、東京リージョンが開設された際にはぜひ試してみていただきたい」(丸川氏)
オープン技術をベースにしたCloud Native開発プラットフォーム
このOCI上でのCloud Native開発をより手軽に行えるよう、現在オラクルではさまざまなサービスを展開している。茂氏によれば、現在のCloud Native開発には大きく分けて3つの課題が存在するという。
「クラウドサービスごとに独自のAPIやサービスを提供しているため、せっかくCloud Nativeなアプリケーションを開発しても、現状ではクラウドサービス間の互換性や可搬性に制約がある。またCloud Native開発のためのさまざまなオープンソース製品が乱立しており、それらの導入・利用のノウハウを持った人員を確保するのがだんだん難しくなってきている。さらには、アプリケーションの開発、リリース、運用の各フェイズで複数のツールを使い分ける必要があり、ツールの管理・維持コストもかさんでしまう」
こうした課題を解決するために、オラクルでは「Open」「Managed」「Inclusive」という3つのキーワードを掲げて、Cloud Native開発のソリューションを展開している。まずOpenに関しては、Kubernetesをはじめとするオープンな技術を採用し、ソースコードに独自の変更は加えず可搬性のある開発環境をサポートする。またオープンソースコミュニティの活動に積極的にコミットし、Cloud Native技術の進化や普及に貢献している。
Managedに関しては、ソフトウェアのインストールやパッチ適用、アップグレード、バックアップ、スケーリングといった煩雑な運用作業を、オラクルのManagedサービスが代行することで、ユーザーはアプリケーションの開発や管理に集中できるようになる。さらにInclusiveに関しては、コンテナレジストリやCI/CDビルドパイプライン、監視・通知ツールなど、コンテナベースのアプリケーション開発に必要な各種サービスを、クラウドサービスとしてエンドツーエンドで提供する。
そのためにオラクルが提供しているのが、先日発表されたばかりの「Oracle Cloud Native Services」だ。これは、前出のOKEやOCIRに加えて、Cloud Native開発のために必要となるさまざまな周辺サービスをセットにして、OCI上でまとめて提供するというもの。
発表当時はLimited Availability(LA)だった「Resource Manager」「Monitoring」「Notifications」「Streaming」の各サービスは日本時間の2019年3月1日、General Availabilityとなり利用可能となった。
サーバレスアプリケーションの開発・実行フレームワーク「Oracle Functions」や、TerraformをベースにしたlaCの機構「Resource Manager」、サービスや各種リソースの利用状況を監視する「Monitoring」といったように、Cloud Nativeなアプリケーション開発・運用に必要なサービス一式が提供されており、これらをニーズに応じて適宜組み合わせることでOCI上で効率的にアプリケーションの開発・運用が行えるようになっている。
特にOracle Functionsは、近年注目を集める「サーバレス」「FaaS」をより多くの技術者にとって身近なものにしようと、オラクルが公開したオープンソースプロジェクト「Fn Project」が実行エンジンとして採用されている。オープン技術をベースにすることで、クラウドサービス間、あるいはクラウド・オンプレミス間で互換性や可搬性の高いコンテナベースのサーバレスアプリケーション開発・運用が可能になるという。
本セッションでも、実際にオンプレミスのFn Project環境で開発したコンテナベースのファンクションを、OCI上のOracle Functionsに移してそのまま実行するデモが披露された。
「Oracle Functionsは、IoTデータの収集・処理やリアルタイムストリーム処理、クラウド上のバッチ処理など、さまざまなユースケースにおいて活用できる。オープンな技術をベースにしており、誰でもすぐ試せるため、ぜひOracle FunctionsとFn Projectでサーバレスに気軽にチャレンジしてもらいたい」(茂氏)
お問い合わせ
日本オラクル株式会社
お問い合わせ先
- TEL:0120-155-096
- Oracle Digital ご相談窓口