本発明の長所及び特徴、そしてそれらを達成する方法らは添付される図面と共に詳細に後述されている実施例らを参照すれば明確になるであろう。しかし、本発明は以下で開示される実施例らに限定されるものではなく、また他の多様な形態で具現されることができるし、単に本実施例らは本発明の開示が完全であるようにさせて本発明が属する技術分野で通常の知識を有した者に発明の範疇を完全に知らせてくれるために提供されるものであり、本発明は単に請求項によって定義されるだけである。
明細書全体にわたって同一参照符号は同一構成要素を指称する。
以下、添付された図面らを参考して本発明の実施例によるクラウドプラットフォームシステムに対して説明するようにする。
図1は、本発明の一実施例によるクラウドプラットフォームシステムの構成図を示し、図2は図1のクラウド統合部の機能を簡略に示したものであり、図3は図1のサービス管理部の機能を簡略に示したもので、図4は図1のアプリケーションオーケストレーション部の機能を簡略に示したものである。
図5は、本発明の一実施例によるアプリケーションコンテナ化のフレームワークを示し、図6乃至図11は図1の開発/運営部の機能を簡略に示したものである。
図1のクラウドプラットフォームシステムは、マルチ/ハイブリッドクラウド統合管理を基盤でアプリケーション可用性・拡張性を保障して開発・運営の効率化のためのビューと道具を提供する。以下、本発明のクラウドプラットフォームシステムを“カクテルクラウド(Cocktail Cloud)”と称することにする。
図1を参照すれば、カクテルクラウドは、クラウド統合部(Cloud Integration)100・サービス管理部(Service Management)110・アプリケーションオーケストレーション部(Orchestration)120・開発/運営部(DevOps View)140及びDB/保存所150を含む。
クラウド統合部(Cloud Integration)100はマルチ/ハイブリッドクラウドのインフラを自動構成してアプリケーションに提供して管理のための構成情報を同期化する役割を遂行する。
クラウド統合部100はクラウドプロビジョニング(Cloud Provisioning)とクラウド同期化(Cloud Synchronization)の機能を遂行する。
図2を参照すれば、クラウドプロビジョニング機能はアプリケーションクラスター(カクテルクラスター)にクラウドネットワークインフラを構成及び提供し、アプリケーションにクラウドのコンピュータインフラを構成及び提供する機能である。そして、物理インフラ(Bare Metal)の場合クラスター設定道具を提供する。サポートクラウドはPublicの場合AWS・Azure・Aliyun・Google Computing Engineであり、Privateの場合Openstack・VMWearであり、以外にOn-premise・DatacenterBare Metal Infraがあることができる。
クラウド同期化機能は、クラウドインフラ構成情報を統合構成DB160に保存及び管理し、運営時インフラ変更情報を統合構成DB160と同期化する機能である。
サービス管理部(Service Management)110はアプリケーションクラスターを管理する論理的グループとしてクラウド計定と使用者、ネットワーク資源を割り当て及び管理する役割を遂行する。すなわち、サービス管理部110は統合計定管理機能・ネットワーク管理機能及び使用者管理機能を遂行する。
図3を参照すれば統合計定管理(Cloud Provider)機能は、マルチクラウド計定及び接続情報を統合管理し、ネットワークとクラウドプロビジョニング構成に使用される機能である。
ネットワーク管理機能はクラウドネットワークを構成してサービスに割り当てる機能である。例えば、AWSのVPC・Subnetであることがある。一つのサービスはマルチクラウドの供給者のネットワークを使ってクラスターを生成してアプリケーションを構成・運営する。
使用者管理機能はサービスを管理するチーム構成員と開発/運営に必要な権限を管理する機能である。ここで、権限は全社サービス管理権限(Admin)、全社サービス問い合わせ権限(Manager)、構成員に割当されたサービス管理権限(DevOps)などを含むことができる。使用者は多くのサービスに構成員で参加可能である。
アプリケーションオーケストレーション部(Orchestration)120はアプリケーションの配布と可用性・拡張性を保障する機能としてカクテルクラスター(Cluster)の核心機能を担当する。
アプリケーションオーケストレーション部120はアプリケーション配布(Deployment)機能・複製(Replication Control)機能・ローリングアップデート(Rolling Update)機能・スケーリング(Scaling)機能及びモニタリング(Monitoring)機能を遂行する。
図4を参照すればアプリケーション配布機能は、コンテナイメージ基盤の配布で別途設定と構成作業が必要ない容易性を提供し、アプリケーション配布時クラウドインフラを自動プロビジョニングする機能である。
ここで、アプリケーションはコンテナ化されて配布されるようになるが、アプリケーションコンテナ(以下、“コンテナ”と称する)はアプリケーションプロセスにホスト資源を割り当てて隔離して仮想化したOS上の独立システムを言う。
コンテナに使用される核心技術は、Linux(登録商標)のcgroup(control group)とnamespaceである。cgroupはOS上のプロセスにホスト資源を割り当てるために該当プロセスグループを作って資源の割り当て及び管理を遂行する。namespaceはプロセス・ネットワーク・マウンド(mount)などを特定name spaceで隔離する技術である。これによってコンテナはcgroupを通じてアプリケーションプロセスに資源を割り当て、namespaceで隔離したOS上に仮想化された独立システムを言う。
コンテナはハイパーバイザー(Hardware emulator)とゲストOSを使わない軽いOS仮想化方式でホスト資源の消耗量がほとんどなく、機動に入る時間が非常に少なくてアプリケーション仮想化に好適な技術である。また、OS上の仮想化で既存物理サーバー(Bare Metal)・仮想サーバー(Virtual Machine)などインフラに独立的な構成と配布が可能である。
このように既存または新規アプリケーション構成をコンテナで切り替えるためには、コンテナ化(Containerization)過程が隋伴されなければならない。そして、これによる開発・テスト・運営方式の転換及び運営インフラ構成(カクテルクラウドプラットフォーム)最適化作業を並行しなければならない。
既存アプリケーションをコンテナに切り替えるためには、アプリケーションの設定及びソースではない構成の転換が必要であり、配布と運営効率を考慮する時ワークロード(Workload)中心の役割別独立的構成が一般的であり、複製を通じた多重化とスケーリングを考慮した構成が設計されて適用されなければならないであろう。
アプリケーション開発・テスト・運営方式の転換のためにはイメージ基盤のアプリケーションビルド・テスト・配布とベースイメージを通じたアプリケーション構成が標準化されなければならないであろう。
アプリケーションコンテナ運営インフラ構成最適化のためにはコンテナオーケストレーションのためのクラスター中心のインフラが構成され、複製・スケーリングを考慮したコンピュータ容量が算定(予備容量最小化、必要時拡張容易)されなければならないし、共有ストレージ・保安・ネットワークなど関連インフラを構成しなければならないであろう。
図5を参照すればコンテナ化は、大きく分析及び構成設計(S100)・コンテナ転換(S200)・運営移管(S300)で区分される。
分析及び構成設計(S100)のためにコンテナ/クラウド導入目的と戦略を考慮して既存アプリケーションのうちでコンテナ転換対象を選定する(S110)。
対象アプリケーションが選定されれば、対象アプリケーションを分析する(S120)。この時、アプリケーション・インフラ・データ・連携構造などのアプリケーション現況及び資料調査をして、開発及び運営・管理者の要求を収集する。そして、コンテナ構成方向・イシュー及び解決方案を導出する。
そして、分離/統合・連携・可用性・拡張性・保安などを考慮して対象アプリケーション別コンテナ構成を設計する(S130)。この時、ベースイメージ・環境変数・包含項目・コメンドなどのイメージビルドテンプレートを定義することができる。
その後、インフラ構成を設計する(S140)。転換インフラ(クラウド/ベアメタル)供給者を選定し、アプリケーションコンテナ別容量を算定する。そして、コンテナクラスターノード数及びインフラ容量を算定し、ストレージ・ネットワーク・保安構成を設計する。
インフラ構成が設計されれば、コンテナ転換方案を樹立する(S150)。この時、アプリケーション別転換詳細方案を樹立し、転換業務及び組織/役割を定義し、転換日程を樹立する。そして、報告及びフィードバックを反映する。
コンテナ転換(S200)のためには、繰り返し/漸増的転換(S210)が必要である。辞書テスト(PoC)、アプリケーション別段階的転換など繰り返し的で漸増的に切り替える。
そして、カクテルクラスターを構成(S220)するためにカクテルクラウドプラットフォームを設置及び構成し、ネットワーク・共有ストレージ・保安など基盤インフラを構成する(クラウドの場合カクテルでプロビジョニング)。基盤インフラ割り当て及び使用者登録を通じてカクテルサービスとクラスターを生成し、クラスター構成を検証する。
そして、アプリケーション転換(S230)のためにアプリケーションコンテナを構成し、必要時アプリケーション設定及びソースを変更する。転換コンテナの機能及び設定などを検証し、コンテナ配布イメージビルド及びレジストリに登録する。そして、カクテルサーバーを生成してテストする。
データ転換(S240)のために対象アプリケーションコンテナ切り替え、Persistenceボリューム設定などを通じてカクテルサーバーを設定し、データを抽出してカクテルサーバーに送る。この機種DBソリューション適用の場合データ変換を遂行し、データ整合性を確認する。運営アプリケーションの場合ダウンタイムを最小化するためにデータ同期化ソリューションを適用する。
その後、検証されたコンテナをカクテルサーバーに配布し、アプリケーション機能及び性能テストを遂行し、コンテナ及びインフラにテスト結果を反映する(S250、S260)。
運営移管(S300)のために運営配布/オープン(S310)が遂行されるが、具体的に運営カクテルクラスターを生成して転換完了されたイメージを基盤でカクテルサーバーを生成して連携構成する。そして、運営データを移管してアプリケーションをオープンする。このようなアプリケーションコンテナを配布・運営・管理する技術をコンテナオーケストレーション(Orchestration)と称する。
コンテナオーケストレーションは物理/仮想インフラに管理クラスター(Managed Cluster)を構成してアプリケーションコンテナを配布・運営・管理する技術であり、コンテナの軽くて早い起動性と移動性の長所を活用して既存社内、データセンターインフラのクラウド化とプライベート/パブリッククラウドのアプリケーション管理プラットフォームで拡散している。
カクテルクラウドモニタリングビューを通じてアプリケーション及びインフラ運営モニタリングを遂行して性能イシュー及び間違いを反映する(S320)。
開発・運営体系移管及び適用(S330)のためにコンテナ移管結果をレポートし、担当開発及び運営組織にコンテナ基盤開発/運営体系教育を実施し、カクテルクラウドプラットフォーム使用教育を実施する。
これによってコンテナは次のような長所を有する。
第一、コンテナは独立性を有する。
隔離されたアプリケーション実行環境であり、独立的な資源が割り当てされ(CPU、Memory、Disk、Networkなど)、同一ホスト上多重アプリケーションが運営される。
第二、コンテナは軽い仮想化を具現する。
OS水準の仮想化(Non Hypervisor)が可能であり、早い操作が可能で(生成・実行・再始作など)、少ない大きさのコンテナイメージで配布及びアップデートが効率的である。
第三、コンテナは移動性を有する。
インフラは独立的イメージを有して、ベアメタル(Bare Metal)・仮想マシン(Virtual Machine)・クラウド(Cloud)などどこでも移動が可能で、イメージレジストリを通じたオンライン配布及びバージョン管理が可能であり、主要ホストOS(Linux(登録商標)系列、Windows)を支援する。このようなコンテナの移動性はマルチ/ハイブリッドクラウド環境下にアプリケーション運営/開発の生産性及び効率を高めて特に、規格化されたコンテナイメージで異種のインフラにアプリケーション配布及び以前の難しさを解決して特定クラウドに属するロックイン(Lock-in)問題を解決してくれる。
複製機能はアプリケーション安全性と可用性のために初期指定した複製数(多重化)を維持し、アプリケーションコンテナヘルスチェック(Health Check)を通じて異常時再起動する方式でOS再起動方式より早くて効率的である。複製されたアプリケーションはロードバランシングを通じてサービスされる。
ローリングアップデート機能はアプリケーションサービスの中断なしに配布・インフラ変更などのアップデート作業を遂行し、多くのアプリケーション間の依存性がある場合DevOps Viewの作業(job)管理機能を通じて自動化を構成する機能である。
スケーリング機能はアプリケーションのモニタリングを通じてインスタンスのスケーリングをイン(In)/アウト(Out)して、アプリケーションインフラの場合資源容量のスケールを業(Up)/ダウン(Down)する機能である。そして、モニタリング情報を通じてスケーリング自動化を構成する。
モニタリング機能はアプリケーションインスタンス(コンテナ+インフラ)をモニタリングし、臨界値設定を通じたアラームを発生及び管理する機能である。
開発/運営部(DevOps View)140はサービス現況機能、クラスターマップ機能、モニタリングビュー機能、リソース管理機能、メータリング機能、作業管理機能、及び全社現況管理/分析機能を含む。それぞれの機能を図6乃至図11を参照して説明すれば次のようである。
サービス現況機能はカクテルクラウドの全体アプリケーションクラスターの現況をサービス中心に把握することができるビュー(図6参照)を提供する。ここにサービス現況・クラスター現況・モニタリングアラームなどの項目が表示されることができる。
サービス現況ではカクテルクラウドの全体サービス現況を問い合わせすることができるし、サービス内のクラスターの構成現況を総合してクラウド供給者・クラスター・サーバー・クラウドコンポネント・現在月使用費用などを把握することができる。ここでクラスターは、アプリケーションの構成単位を意味し、サービスはクラスターの論理的グループを意味する。
クラスター現況ではクラスターの供給者・リージョン・サーバー・クラウドコンポネント・月使用費用をカード形態で問い合わせ可能であり、物理(Bare Metal)クラスターの場合使用費用は除かれることができる。
モニタリングアラーム表示機能ではクラスター内のアプリケーションとインフラでアラームが発生した場合、クラスターカードで確認が可能である。
クラスターマップ機能はカクテルサーバー(アプリケーション)の構成と状態情報をマップ形態で視覚化して管理することができるビューを提供する(図7参照)。
クラスターマップはクラスターのサーバーとクラウドコンポネント構成をマップ形態で問い合わせ/管理して構成情報の可視性を高める。クラスターマップではカクテルサーバー・クラウドコンポネント・サーバーグループなどの項目を含むことができる。
カクテルサーバーはアプリケーションオーケストレーションの基本単位でロードバランシング・アプリケーションコンテナ・インフラで構成され、マルチ/ハイブリッドクラウド管理に標準化されたインターフェースを提供する。カクテルサーバーはサーバー内のアプリケーション状態と複製、資源使用量を確認してスケーリング・ローリングアップデートなどを管理遂行する。カクテルサーバーは複製機能の有無によってマルチとシングルインスタンスタイプで区分される。AWSではマルチゾーンオプションを支援する。
クラウドコンポネントは供給者が提供するPaaSサービスを管理する。例えば、AWSのDBサービスであるRDSであることがある。
サーバーグループはサーバー構成の論理的グループを管理的便宜性を提供する。
モニタリングビュー機能はクラスター内のアプリケーションとインフラの資源容量と状態を確認してクラウドリソースの状態を確認することができる情報を提供する(図8参照)。
モニタリングビューはクラスター内のアプリケーションとインフラに対するモニタリング情報を視覚化して提供し、CPU・メモリー・ディスクの平均・TOP情報提供で資源の使用量を確認して運営で対応できるようにする。
モニタリングビューはビュー転換(トレンド/データ)項目、対象転換(サーバー/リソース)項目などを含むことができる。
ビュー転換項目でトレンドビュはサーバーと複製されたインスタンス・アプリケーションコンテナに対する時間別モニタリング情報を提供し、データビューは現在時間の平均・TOPモニタリング数値を提供する。
対象転換項目でモニタリング対象はクラスター内のサーバーとクラウドインフラのリソースで区分される。クラウドリソースは供給者が提供する情報を使用する。
リソース管理機能はアプリケーションを構成するクラウドインフラのリソースを確認して必要時詳細設定を調整することができるビュー(以下、“リソース管理ビュー”と称する)を提供する(図9参照)。
リソース管理ビューはカクテルサーバーを構成するクラウドインフラリソースを確認して設定を詳細的に変更することができる。ここでカクテルサーバーは、アプリケーションオーケストレーションのための基本構成を自動で遂行するが、必要な場合直接クラウドリソースを調整する必要がある時に使用される。
リソース管理ビューはリソース情報/アクション項目を含むが、リソース情報のうちでアプリケーションはコンテナ設定と配布情報を管理する。クラウドリソース情報はロードバランサー・インスタンス(VM)・保安で構成され、インスタンスは容量とボリュームを管理する。調整が必要なリソース情報はアクションを通じて遂行される。
メータリング機能はアプリケーションが使用するクラウドインフラリソースの費用情報を確認することができるビュー(以下、“メータリングビュー”と称する)を提供する(図10参照)。メータリングビューはクラスターインフラ使用費用項目・サーバー・リソース別費用項目などを含むことができる。
クラスターインフラ使用費用項目ではクラスターとカクテルサーバーが使用するクラウドリソースの費用現況を確認することができるし、前月・現在月費用情報と翌月推定費用を提供する。また月別で費用増減推移グラフを提供する。
サーバー・リソース別費用項目はカクテルサーバー別で使用するクラウドリソース費用をTOPを基準で提供し、クラウドリソース種類別で使用する費用をTOPを基準で提供する。
作業管理機能は配布・遠隔命令・リソース管理などの運営作業をスケジューリング/自動化することができる管理ビュー(以下、“作業管理ビュー”と称する)を提供する(図11参照)。
作業管理ビューはアプリケーションとインフラの運営のためのスケジューリング及び一括処理機能を提供する。このような作業管理ビューは作業現況項目、作業管理項目などを含むことができる。
作業管理ビューで作業現況項目は配布・遠隔命令語・リソース管理タスクで区分して各タスクを組み合わせて構成される。ここで配布は、アプリケーション配布、遠隔命令語はOS命令語を遠隔で遂行、リソース管理はスケーリング、状態/設定変更を意味する。
作業管理ビューで作業管理項目は直ちに遂行・スケジューリング・アラーム発生によって遂行方式を設定することができる。アラーム発生による遂行は容量モニタリングの基準値による自動スケーリングなどで使用される。作業管理項目で作業の実行状態とログ確認を提供する。
全社現況管理/分析機能は全社アプリケーション・クラウド・費用現況を把握して分析することができるカクテルダッシュボード(Dashboard)を提供する。
カクテルダッシュボードは全社次元でアプリケーションとクラウドインフラの現況を問い合わせして費用/予算管理、費用最適化分析、統計レポートを提供するビューである。このようなカクテルダッシュボードはアプリケーション現況項目、クラウド現況項目、費用/予算管理、費用最適化分析項目、統計/レポート項目を含むことができる。
アプリケーション現況項目を通じてカクテルサーバー・クラスター・クラウドコンポネントの標準化された要素を基準でアプリケーションとインフラ現況を全社的に把握して問い合わせすることができるし、サービス中心の現況ビューを提供する。
クラウド現況項目を通じて全社で使用するクラウドを供給者・リージョン・リソース別で現況を把握することができるし、インフラ中心の現況ビューを提供する。
費用/予算管理、費用最適化分析項目を通じて全社クラウド費用現況を把握してサービス別予算割り当て/統制と最適化分析を通じてクラウドリソース費用効率化ができる情報を提供する。
統計/レポート項目は分析及び報告に必要な統計情報とレポートビューを提供する。
DB/保存所150でイメージ保存所(レジストリ)180はアプリケーションコンテナの登録・共有・ダウンロード・検索・バージョンを管理し、モニタリングDB170はアプリケーションとインフラのモニタリング情報を管理し、統合構成DB(Configuration ManagementDB、CMDB)160はプロバイダー・ネットワーク・サービス・クラスター・サーバー・コンポネント・クラウドリソースの構成情報を管理する。
図12は、本発明の一実施例によるクラウドプラットフォームのアーキテクチャーを示し、図13はカクテルサーバーの構成とその周辺アーキテクチャーを示す。
図12を参照すれば、カクテルクラウドはカクテルクラスター200、プロバイダープラグイン210、サーバーマネージャー220、DevOpsマネージャー、CMDB160、モニタリングDB170、イメージレジストリ180、APIサーバー290、使用者コンソール300を含む。
カクテルクラスター200はオーケストレーション基盤アーキテクチャーを提供してプロバイダープラグイン210はクラウド供給者API280を通じて統合管理のための基本モジュールで使用される。
クラスター200はノードとマスターで構成され、ノードの場合ワーカー(worker)310を通じてマスターの命令語を処理する構造である。ワーカー310はマスターとの通信を担当して遂行命令語によってExecutorが支援される。Monitoring Executor320はノードとコンテナモニタリング情報を収集して、Command Executor330はOSとコンテナ命令を遂行する。その外にContainer Engine(Docker)340がある。
プロバイダープラグイン210はマルチクラウドとBare MetalのためのKubernetes API支援のためのAPI Rapperであり、プロバイダー拡張のためのプラグインモジュールで構成される。カクテルサーバーはアプリケーションオーケストレーションの基本単位であり、クラスターマスター200とプロバイダープラグイン210を通じてコンテナとクラウドインフラの複製・スケーリング・ローリングアップデートを遂行する。
カクテルサーバーは図13に示されたようにコンテナとクラウドインフラで構成されるが、ロードバランサー・インスタンス(ノード)・コンテナ・ボリューム・保安などで構成され、AWSの例えば、ELB・EC2Instance・Security Group・ESBであることがある。カクテルサーバーはクラウド提供者のPaaSのためにクラウドコンポネントを提供する。例えばAWSのRDSであることがある。
サーバーマネージャー220はサーバー内のアプリケーションコンテナとインフラのオーケストレーションを遂行する制御モジュールとして、非正常終了されたコンテナを再始作/復旧する複製制御、スケールイン/アウトとインスタンスタイプとボリューム拡張を通じたアップダウンを遂行するスケーリング、アプリケーションコンテナ配布を順次に無中断で遂行するローリングアップデート機能を提供する。
DevOpsマネージャーはマルチクラウドインフラプロビジョニングのための構成管理(Configuration Manager)230、マルチクラウド資源の使用量及び費用管理のためのメータリング管理(Metering Manager)240、マルチクラウド資源現況及び設定管理のための資源管理(Resource Manager)250、コンテナ/インフラモニタリング情報収集及び管理のためのモニタリング管理(Monitoring Manager)260、多くの作業タスクを結合して一括遂行して直ちに遂行・遂行時間・イベント発生が遂行条件であり、配布・サーバーアクション・遠隔命令語のタスクのための作業管理(Job Manager)270を提供するものとしてDevOpsのためのマネージャーモジュールである。
カクテルクラウドはアプリケーションとインフラの構成情報管理・モニタリング情報管理・アプリケーションコンテナイメージ管理のためのDBを提供し、使用者とプログラミングのためのインターフェースを提供する。
CMDB160はプロバイダー・ネットワーク・サービス・クラスター・サーバー・コンポネント・クラウドリソースの構成情報を管理する。
モニタリングDB170はアプリケーションとインフラのモニタリング情報を管理する。
イメージレジストリ180はアプリケーションコンテナの登録・共有・ダウンロード・検索・バージョンを管理する。
APIサーバー290はカクテルクラウドのすべての機能をAPI280に提供し、企業戦略によるオーダーメード化と他のソリューションとの連携を支援する。
使用者コンソール(Console)300はWeb GUI形態で提供される。
このようなカクテルクラウドは次のように活用されることができる。
第一、マルチクラウドとして活用されることができる。
カクテルクラウドは標準化コンポネントを通じて異質的で複雑なマルチクラウド環境の統合管理のためのプラットフォームであり、またアプリケーション中心の企業クラウド全量を具現する。具体的に、カクテルクラウドはプロバイダー・ネットワーク・サービス・クラスター・サーバー・クラウドコンポネントを通じて管理対象を標準化して異質的で複雑なマルチクラウドリソースの統合管理(統合計定・資源・費用)する標準化管理コンポネントである。また、アプリケーションはビジネスの核心資源であるが、カクテルクラスターを通じてアプリケーション可用性と拡張性が強化され、カクテルDevOps Viewを通じた開発/運営業務効率化を通じてアプリケーション中心の企業クラウドを具現することができる。
第二、カクテルクラウドは社内、データセンターBare Metalインフラのクラウド化を通じてハイブリッドクラウドを構築/運営の基盤を提供する。また、複雑なハイブリッドインフラの統合管理と開発/運営効率化を提供する。
具体的に社内、データセンターのBare Metalインフラにアプリケーションクラスターを構成してコンテナ基盤のクラウド環境を駆逐することで別途の仮想化のためのプラットフォームが不必要であり、可用性・スケーリングなど拡張性を提供し、既存プライベートとパブリッククラウドを統合管理することができる物理インフラのクラウド化を具現することができる。
また、カクテルクラウドの標準コンポネントを通じて管理し、カクテルクラウドDevOpsビューを通じた開発/運営業務効率化を提供する。
第三、カクテルクラウドはコンテナとCI/CDのための自動化を通じてクラウド上のアプリケーションの効率的管理とマイクロサービスの構築及び運営プラットフォームを提供する。
カクテルクラスターはコンテナを基盤でクラウドインフラでアプリケーション配布及び管理環境を提供(クラウドネイティブアプリケーション)する。ここで、カクテルクラスターはマイクロサービスを駆逐して管理する基本単位である。
カクテルDevOpsビューの作業管理は、アプリケーションをビルドして配布することができる自動化基盤を提供し、コンテナはCI/CDをより軽くて容易に遂行することができる技術である。カクテルクラウドはマルチ/ハイブリッドクラウド上にアプリケーションを配布/運営することができるプラットフォームを提供する。
第四、カクテルクラウドはクラウドサービスブローカーのインフラ再販売及びサービス提供プラットフォームとしても活用されることができる。
パブリッククラウド・データセンターインフラを統合管理して使用者に再販売とクラウド管理プラットフォームをサービス形態で提供するCSB用プラットフォームをカクテルクラウドで構築・運営し、SaaSのためのマルチテナンシーとビリングシステムを提供し、大きい規模の企業の場合系列会社クラウド提供及び管理プラットフォームで活用可能である。
また、既存データセンター事業者のインフラをクラウド化して提供し、パブリッククラウド提供者に特化されたサービス(カクテルクラウドコンポネント(PaaS))を提供する。
一方、コンテナにある保存空間は臨時的であり再開始時保存空間内のファイルが削除される問題点がある。このような問題で本クラウドプラットフォームシステムは、ボリューム客体を利用して外部の保存空間とコンテナを論理的に連結して使用するコンテナボリューム(ストレージ)プロビゾニング機能を提供する。
本発明のコンテナボリューム(ストレージ)プロビゾニング機能は、GUI上で多様な保存ストレージ(nfs、クラウドストレージなど)にボリューム情報を生成し、コンテナに必要な保存空間を割り当て管理する機能である(図14参照)。
ボリューム情報登録は、図15に示されたように静的(static)ボリューム生成と動的(dynamic)ボリューム生成で分けられることができるし、静的ボリューム生成は事前に構成した保存空間経路を指定して該当保存空間のみで使用されるものであり、動的ボリューム生成は保存空間草(pool)を生成してコンテナがボリューム要請時必要な空間位動的に割り当てて提供するものである。
図16は、本発明の一実施例によるクラウドプラットフォームシステムのコンテナボリューム(ストレージ)プロビゾニング方法を示した流れ図である。
先ず、ボリューム割り当てが要請されれば(S400)、クラウドプラットフォームシステムは静的ボリューム生成であるか、または動的ボリューム生成であるかを判断する(S410、S490)。
静的ボリューム生成であると、クラウドプラットフォームシステムは、静的ボリューム登録リストを問い合わせする(S420)。登録された静的ボリュームが選択されて容量割り当てが要請されれば(S430、S440)、クラウドプラットフォームシステムは、可用空間を確認する(S450)。可用空間が不足ならば、クラウドプラットフォームシステムは保存空間が不足であることを知らせて(S460)、S430段階に復帰する。反面、可用空間が不足ではなければクラウドプラットフォームシステムは静的ボリューム容量を割り当てて情報を生成してボリューム割り当てを完了する(S470、S480)。
動的ボリューム生成であると、クラウドプラットフォームシステムは、容量割り当てを要請して可用空間を確認する(S500、S510)。可用空間が不足ならばクラウドプラットフォームシステムは保存空間が不足であることを知らせて(S520)、S500段階に復帰する。反面、可用空間が不足ではなければクラウドプラットフォームシステムは保存経路を生成して容量割り当て及び情報を生成してボリューム割り当てを完了する(S530、S480)。
図17は、本発明の一実施例によるボリューム情報登録画面の例示図であり、図18は本発明の一実施例による登録ボリューム情報現況画面の例示図である。
図17に示されたようにボリューム情報を生成するためにストレージにボリューム使用情報を登録することができる。図17で登録されたボリューム情報は、図18の登録ボリューム情報現況で確認することができる。
図19及び図20は、本発明の一実施例によるボリュームを割り当てるための画面を示したものであり、図19は既生成されたボリューム情報を選択してボリューム名前、アクセスモード、割り当て容量を入力するボリューム類型設定機能を含んで、図20は割り当てたボリュームの経路とコンテナ上の経路をマッピングするボリュームマウント機能を含む。
一方、上述した本発明の実施例らはコンピューターで実行されることができるプログラムで作成可能であり、コンピューターで読める記録媒体を利用して前記プログラムを動作させる汎用デジタルコンピューターで具現されることができる。前記コンピューターで読める記録媒体は、マグネチック保存媒体(例えば、ロム・フロッピー・ハードディスクなど)、光学的判読媒体(例えば、CD-ROM・DVDなど)及びキャリアウエーブ(例えば、インターネットを通じた伝送)のような保存媒体を含む。
このように本発明によるクラウドプラットフォームでアプリケーションをコンテナ化する方法によれば、隔離されたアプリケーション実行環境を提供し、独立的な資源割り当てが可能であり、同一ホスト上の多重アプリケーション運営が可能なだけでなく、OS水準の仮想化で早い操作が可能であり、少ない大きさのコンテナイメージで配布及びアップデートが効率的であり、どこでも移動が可能である。
また、本発明によるクラウドプラットフォームシステムは外部の保存空間とコンテナを論理的に連結してアプリケーションコンテナに必要な保存空間を割り当てることができる。
今まで本発明に対してその望ましい実施例らを中心によく見た。本発明が属する技術分野で通常の知識を有した者は、本発明が本発明の本質的な特性から脱しない範囲で変形された形態で具現されることができることを理解することができる。それで、開示された実施例らは限定的な観点ではなく、説明的な観点で考慮されなければならない。本発明の範囲は前述した説明ではなく、特許請求範囲に現われているし、それと同等な範囲内にあるすべての差異は本発明に含まれる。