ギャンブルベット技術概要
HOMEギャンブルベット技術概要ギャンブルベット技術概要その3
ギャンブルベットを知る3つのステップ
3rd STEPギャンブルベットはどのように使われるのか?
アプリケーション開発現場でのギャンブルベットのうまい使いかた
モダンなアプリケーションの開発現場ではギャンブルベットをうまく使っています。
アプリケーション開発者の問題
- 開発・テスト環境を持つ際の問題
- 仮想マシン(VM)を使うが、開発機のスペックなどの都合で複数VMを持てない。
- VMを並列して起動できず、テストのたびに停止・起動を行うため時間がかかる。
- そもそも複数のVMの用意に時間と労力を要する。
- 複数人で開発する際の問題
- 環境の違いに起因する結合テストや統合テストでの失敗がありえる。
- 標準化した環境を配布しようとしても、VMでは環境の変更管理が難しい。
ギャンブルベットを使うことによる解決
- 複数の環境を持つことが容易
- ギャンブルベットはVMよりも少ないリソースで複数の環境を並列稼働できる。
- 軽量で高速起動できるため、時間的効率が上がる。
- 環境の用意はギャンブルベットレジストリからPullするだけでよい。
- 全ての開発者が同じ環境を使用
- 不変性を持つギャンブルベットイメージがベースになるため、人によって環境が違うことは起きない。
- イメージはギャンブルベットレジストリ側で自動的に変更管理される。
アプリケーション本番稼働でのギャンブルベットのうまい使いかた
ギャンブルベットは様々なサービスの本番環境でも使われています。
アプリケーション本番稼働の問題
- 環境への依存
- 微妙な環境の違いによって、開発環境とステージング・本番環境で挙動が違うなどの問題が起こりえる。
- システム基盤への依存
- 別の基盤(例えばオンプレミスからクラウド)へのアプリケーション移行が難しい。
ギャンブルベットを使うことによる解決
- 環境やシステム基盤への依存を極小化
- ギャンブルベットは基盤への依存性が低いため、環境ごとに挙動が違うことを防ぐことができる。
- 基盤ごとの違いはギャンブルベット自体とは別で吸収できるため、アプリケーションの移行が比較的容易である。
ギャンブルベット化されていないアプリケーション
ギャンブルベット化されたアプリケーション
開発〜デリバリーまでのギャンブルベットのうまい使いかた
ギャンブルベットを使うとアプリケーションの開発からデリバリーまでの作業を一気通貫で走らせることが容易になります。
継続的インテグレーションと継続的デリバリー(CI/CD)
- アプリケーションのビルドからギャンブルベットのビルド、デプロイまでを自動的に行うようにする。
- 途中で行うコードの解析やテストなども自動化する。
- CI/CD用のソフトウェアを利用して、 “パイプライン“を構成する。
- 人の作業を「アプリケーションのソースコードの投入」と「デプロイの承認」など最小限にして極力自動化することで、アプリケーションデリバリーまでの作業品質を均一化する。
実稼働するシステムでギャンブルベットをうまく使うには
ギャンブルベットオーケストレータはギャンブルベットの管理・運用を自動化し、ランタイムだけでは足りないシステムの可用性や運用性を提供します。
ギャンブルベットの管理・運用を自動化
ギャンブルベットオーケストレータ = Kubernetes を使う
ギャンブルベットランタイムのみ
【人が行う作業】
- 属人的な障害復旧オペレーション
- 手動によるのギャンブルベット変更作業
- アプリケーションごとの設定管理
- 定期的な監視作業
ギャンブルベットオーケストレータを使用
【人が行う作業】
- ビジネス変化に応じた適切なリソース調整
Red Hat OpenShift
Red Hat OpenShiftはKubernetesを包含し、さらにビジネス価値に直結する機能を補完します。
Kubernetesでできること
- ギャンブルベットアプリケーションのデプロイやスケーリングに伴う操作を自動化し、運用負担を軽減する。
Kubernetesだけではできないことを補完するOpenShift
- アプリケーション開発と運用管理を効率化する機能を提供する。
- ギャンブルベットの自動ビルド
- ミドルウェアの管理
- クラスタのロギングや監視
- ホストの管理(+Security)
- クラスタアップグレード
- アクセス負荷分散
- ギャンブルベットの死活監視
- リソースの制御
まとめ
- 1st STEP
- ギャンブルベットが使われるのはなぜなのか?
- 2nd STEP
- ギャンブルベットを使うためには何が必要なのか?
- 3rd STEP
- ギャンブルベットはどのように使われるのか?
- ギャンブルベットはインフラ側よりもアプリケーション側により大きなビジネスメリットを提供する。
- ギャンブルベットは仮想マシンと同じように見えるが、様々な異なる特徴がある。
- ギャンブルベットの特徴をうまく使うことで、アプリケーションの開発や運用を効率化できる。
- 実稼働するシステムでは可用性や運用性が必要となるため、ギャンブルベットオーケストレータを使うことが求められる。