2020年5月3日日曜日

「コンテナ」ってなに?(3)〜「Kubernetes」の技術的特長をザックリと。

前回までは、「コンテナ」が必要になった経緯と、技術的特長をざっくりとご紹介させて頂きました。

「コンテナ」ってなに?(1)〜仮想化が必要になった経緯
https://sapporomkt.blogspot.com/2019/10/1.html

「コンテナ」ってなに?(2)〜コンテナの技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/04/2.html

今回は、「Kubernetes(K8s)」の概略についてです。


着実に浸透する「Dockerコンテナ」。でも課題が・・・


IT関連の方々は日々お感じのことと思いますが、今、日本国内でも「コンテナ化」は着実に進んでいます。その重要キーワードの一つとして 「Kubernetes(K8s)」が注目されています。

IDCが2019年4月に日本国内の企業及び組織468社に対して行ったアンケートによると、何らかの形でコンテナに取り組んでいる割合は「47.6%」にも及んでいます。
※「本番環境で使用している」「導入構築/テスト/検証段階」「使用する計画/検討がある」「情報収集や勉強している」の総計として。

IDC Japan、2019年 国内Dockerコンテナ/Kubernetesに関するユーザー導入調査結果を発表
https://www.nikkei.com/article/DGXLRSP513611_T00C19A7000000/

とはいえ、同スコアを2018年4月と比べると、-1.4%となっており、少々課題感がある状況も伺えます。
※「本番環境で使用している」「導入構築/テスト/検証段階」のトップ2合計だと、2019年は+3%となっています。

実際、「重要なテクノロジーであることは認識しているものの、「コンテナの仕組み」や「Dockerコマンド」などを学習する必要があるため、IT部門のワークリソースが十分でない企業にはハードルが高い部分もある」とお客様から伺ったことがあります。


世界の主流になることが確定?「Kubernetes」が登場!


そのようなコンテナの課題を解決するために、Googleが開発し、のちにオープンソースソフトウェアとな理、今尚進化を続けているのが、「Kubernetes(クーバネティス:K8s)」です。


それまでは開発者中心に使われていたコンテナを本番サービスでも使用するために生まれた「コンテナ・オーケストレーション」のすごい技術です。

どのくらいすごい技術かと言うと・・・
上記画像にある通り、世界の名だたるITベンダーさんがこの仕組みを支援する団体に入って応援しつつ、自社クラウドソリューションにK8sを組み込んで提供しています。そう、もう、デファクトなんです!

・・・って言う説明は荒っぽ過ぎるので、この辺り、IBM高良さんが出された本をご覧頂くとスムーズに理解できるのでオススメです(私もまだ勉強中ですが^^;)


ちょっとだけ真面目に記載すると、技術的には、セキュリティや可用性の向上など様々なメリットが期待できます。




なお、Kubernetesは、IBM Cloud上でも利用可能です。
上記高良さん本では、IBM Cloud上でのKubernetes利用についても紹介されています。

加えて、下記IBMサイトでもIBM Cloud上でのK8s/Istio/Watsonを使用したビルド方法が公開されていますので、ご興味ありましたらご覧ください。


以上です。
次回は、「OpenShift」について触れてみたいと思います。


「コンテナ」関連エントリー


「コンテナ」ってなに?(1)〜仮想化が必要になった経緯
https://sapporomkt.blogspot.com/2019/10/1.html

「コンテナ」ってなに?(2)〜コンテナの技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/04/2.html

2020年4月19日日曜日

「コンテナ」ってなに?(2)〜コンテナの技術的特長をザックリと。

前回は、「コンテナが必要になった経緯」の概略を記載しました。

「コンテナ」ってなに?(1)〜仮想化が必要になった経緯
https://sapporomkt.blogspot.com/2019/10/1.html

今回は、「コンテナの技術的な特長」をざっくりと紹介させて頂きます。
ちなみに、私、非テックな畑なので、深い解説をご期待の場合は、他サイトをご参照ください。
いやっ、逃げてるわけじゃないですよ!・・・テックな方々にビビってるだけです(笑)

ちょっとだけ触れておきたい、DXのお話


技術のお話に入る前に、ちょっとだけDX(デジタルトランスフォーメーション)について触れさせてください。

下記スライドは、経産省による「2025年DXの崖」をベースに作成したスライドです。
少々小難しく見えますが、簡単に言うと、
「2025年までのDX対応有無が、企業の優劣に重大な差を生じさせる」と言うことらしいです。


※1:ここでは、「新しい、今風なシステムの作り方・運用の仕方」のようなご理解で結構です 。
※2:経産省の定義に準じます。「企業がビジネス環境の激しい変化に対応し、データとデジタル技術を活用して、顧客や社会のニーズを基に、製品やサービス、ビジネスモデルを変革するとともに、業務そのものや、組織、プロセス、企業文化・風土を変革し、競争上の優位性を確立すること。」


当然ですが、ITは、地域的に見てもボーダーレスです。
我々がビジネスを展開する北海道・札幌でも「DX Divide」の波はやってきます。
この「波」に乗り越えるための、「マスト・テクノロジー」とは何なのでしょうか?

「DXのマスト・テクノロジー」としての「コンテナ」が来てるっ!


移り変わりの早いIT業界。皆さんも日々、色々なテクノロジーを追いかけてらっしゃしますよね。
例えば、社内の情報システムご担当としては、こんな感じでしょうか?


当然、業務領域によって、様々異なってくるとは思いますが、DX関連で見ると、最近特にアツいのが「Dockerドッカー)」に代表される「仮想化技術」なんです。


実際、全世界におけるGoogle trendの検索傾向を見ても、「Docker」がグイグイ話題になっているのがわかりますね。あの「Salesforce」を凌駕するぐらいの勢いなんです。
・・・誰ですか、「Dockerは港湾労働者って意味も入ってるやろ?」なんて言う人は?
これぐらいは見逃してください(笑)

この「Docker」に代表されるコンテナ技術を使うと、前回エントリーで記載した「ハイパーバイザ」型が、下記スクリーンショットの右側に記載したように・・・ちょっとわかりづらいですか? ですよね、はい。
簡単に言うと、「ハイパーバイザ」が無くなる為、今まで「軽く・早く・柔軟・高セキュリティ」になります。


このあたり、「どうして高セキュリティになるの?」を説明しだすと、下記のような構造になるのですが・・・IT部門の方々は伝わったのですが、LOB系の方々の場合は、そっと閉じた方がいいかもしれません。。



とにかく、「軽く・早く・柔軟・高セキュリティ」になると覚えて頂けると大体よろしいかと思います!

このような感じで、良いことばかりな「Docker・コンテナ」ですが、実際は様々な課題もあるようです。
次回は、これら課題をクリアするために生まれたオープンソースの技術「Kubernetes(クーバネティス)」などの概要についてご紹介させて頂きます。

「コンテナ」関連エントリー


「コンテナ」ってなに?(1)〜仮想化が必要になった経緯
https://sapporomkt.blogspot.com/2019/10/1.html

「コンテナ」ってなに?(3)〜「Kubernetes」の技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/05/3kubernetes.html

2019年12月8日日曜日

Watson StudioのBI機能:Cognos Dashboard Embededを使ってみた。

「Watson Studio上」(※1)には、BIソリューション「Cognos」のダッシュボード機能である「Cognos Dashboard Embeded(CDE)」が無料(※2)で入っています。
※1:IBM Cloud上で利用可能な、AI統合開発/分析環境です。
※2:正確に言うと、「Liteプラン内での無料利用枠がありますよ」ですが、この枠が結構あります。

一般的なWatson APIや製品群と比べ、「Watson Studio」は、データ分析者向けサービスという性格が強いため、あまり知られていないかもしれません。
ただ、実際に使ってみると、「Cognos」や「SPSS Modeler」などの最新テクノロジーが、部分的ではありますが、信じられないくらい安く・簡単に利用出来ちゃいます。
そのため、最近では、このプラットフォームを、コスト制約が大きいPOC(実証実験)プロジェクトで利用することも多いようです。

「サクッと可視化+チャラっとドリルダウン+パスっと共有」をクラウドでライトに仕立てる手段として、この「CDE」、面白いと思ってます。

とりあえず、今回は、Web上に公開されているハンズオンシナリオに沿って、ダッシュボードを作ってみます(※3)。
※3:内容的には全く同じですが、ハンズオンが英語なのと、やや手順を端折っているので、日本語で細かく書いてみました。

こんな感じのやつ、作ります。


「CDE」をセッティングしておく


1.「IBM Cloud」にログインする。
https://www.ibm.com/jp-ja/cloud で利用登録した上でログインしてください。
先にこの処理をしておかないと、ダッシュボード作成ができません。
無料枠がたっぷりありますし、枠を使い切っても勝手に課金されないのでご安心ください。

画面上段にある「カタログ」を選択してください。



2.「CDE」を検索する。
画面上段にある検索ボックスに「Cognos」と入力してください。
「CDE」のみが表示されるので、



3.「CDE」を作成する。
右側にある「作成」を押すだけです。
なお、Liteプランの課金情報も載っていますが、プラン変更しなければ課金されずに使用停止になるだけですのでご安心ください。


一昔前は、こういうプロビジョニング作業だけでも多大なコストと、作業期間を費やしてたと思うと、Cloudって便利だなぁと。。

「BIって、こんなに簡単だったの?」な手順


1.プロジェクトを作成する。
「IBM Cloud」から「Watson Studio」をセッティングする方法は、いくつも紹介サイトがあるのでそちらをご覧ください。

「Watson Studio」を起動したら、「Creat a project」を押してください。



2.「Creat an empty project」を選択する。
とりあえず、まっさらなダッシュボードから作成したいので、上段を選んでください。



3.プロジェクト詳細を入力する。
「Name」は、このプロジェクトを判別するための名称なので必須で入力してください。
「Description」は、より詳細な説明コメントなので任意入力です。



4.ローデータをアップロードする。
プロジェクト管理画面の「Data Assets」パートからローデータをアップロードしてください。画面右側の「browse」を選択し、ファイルをアップロードすると、左側のペインにアップしたファイルが表示されます。
※ローデータは、こちらのチュートリアルサイトからダウンロードしてください。



5.プロジェクトに追加する。
右上にある「Add project」を押してください。ちょっと混乱するかもしれませんが、「新規に別のプロジェクトを追加する」という意味ではなく、「プロジェクトに何かを追加する」とお考えください。




6.ダッシュボードを追加する。
プロジェクトに追加可能な機能がカルタ的に表示されるので、「Dashboard」を選んでください。



「Name」は、判別しやすいようなダッシュボードの名称を入力してください。
「Description」は、何でもOKです。
「Associate Cognos Embedded service instance with your project」をクリックし、プロジェクトにこのダッシュボードを紐づけてください。




プルダウンから選択するだけで終わります。
この時に「Reload」ボタンが表示されるので、忘れずに押してください。

7.ダッシュボードのタイプを選択する。
ダッシュボードには、「Single page」「Tabbed」「Infographic」タイプがあります。
一瞬、どれを選択すべきか迷いそうですが、中に組み込むグラフやオブジェクトのサイズはマニュアルで変えられるので、あまり気にしなくていいと思います。

<Single page>

<Tabbed> 

<Infographic>

今回は、「Infographic」を選択します。



8.データソースを選択する。
データソースを選ぶため、画面左上の「Selected sources」を選択してください。


先ほどアップロードしたデータを選びます。


9.ダッシュボードに掲載するデータを選択する。
表示されたデータを選択すると、各フィールド名が表示されます。


UIは、直感的で、初回利用でも迷うことなく使えると思います。
この辺り、「Cognos、さすがだなぁ」な感じです。とりあえず、「job」と「balance」を選んで、右側のペインにドラッグ&ドロップしてください。


10.設定をカスタマイズする。
右側ペイン上に生成されたグラフをクリックすると、グラフ左上にアイコンが表示されるので、一番下のアイコンを選択してください。


様々なグラフ形式が提示されます。縦棒グラフを選択してください。


11.その他カスタマイズを行う。
「CDE」では、設定したグラフやオブジェクトに対し、様々なカスタマイズが可能です。
下記のように、「Summarize」を選んでください。


「job」別に「balance」の平均値でグラフ化します。



色使いも変更可能です。こんなサイケにする必要はないと思いますが・・・。



降順ソートも可能です。


PowerPointに画像を貼り付ける要領で、オブジェクトの四隅をドラッグし、ダッシュボードの枠にはめます。


12.テキストオブジェクトを入れる。
同様にパワポ感覚でテキストオブジェクトも挿入可能です。




フォントサイズや背景色の変更も可能です。



13.ダッシュボードを共有する。
引き続き、好きなデータをダッシュボードに配置し、それっぽい感じなったら、画面上段のツールバーから「Save」を選択してください。


同様に、ツールバーから「Share」を選択してください。


「Share with anyone has the link.」をオンにし、共有URLをコピーしてください。
別途、このURLを共有したいメンバーにメールしてください。


メールを受信した共有対象者は、特に「Watson Studio」の登録や設定をせずとも、ダッシュボードの閲覧やドリルダウンでの表示が可能です。
例えば、グラフ下部にある「未既婚」から特定の項目を選択すると、自動的に上段の「job x balance」のデータが切り替わります。

今までクロス集計ベースで見ていたデータ(ex.未既婚別の保有資産額など)を、各人が見たい視点でクイックに確認できるのが便利ですねぇ。


アンケートデータに限らず、「業務プロセス上で生成される業務データをとりあえず可視化したい」とか、「もう少し、プロジェクト関与者の視点でグリグリ見たい」といったユースケースでは使えると思います。

無料枠でかなり使えますので、ご興味ありましたらご利用されてはいかがでしょうか?

Watson Studio関連エントリー


自動でAIモデルが出来ちゃう〜Watson Studio AutoAI Experiment

SPSS Modeler flowのモデルをWebサービスとしてデプロイする

(無料)Watson StudioでSPSS Modeler flowの決定木を動かす

Watson Studioの「Data Refinery」機能で「馬の疝痛(せんつう)」データを眺めてみた。

2019年10月27日日曜日

「コンテナ」ってなに?(1)〜仮想化が必要になった経緯

最近、益々「コンテナ」が熱いですよね。
「コンテナ」を一言で言うと、「仮想化技術」です。今、アツいみたいです。

「Kubernetes」「OpenShift」など、
「なんだかよくわからないけど、システム担当もLOBも「コンテナ」関係は、知っといたほうがいいんだろうな・・・」なムードですが、まぁ、ややこしいですよね(苦笑)

私自身も、コンテナ猛烈勉強中でして、今後、当ブログで色々とご紹介できればと思っています。

そもそも、どうして「仮想化」が必要になったの?


通常は、1台の物理マシン(PC/AT互換機:パソコン、IA/x86サーバー)上で、それ専用のOSと対応するアプリケーションを動かしますよね。

例えば、昔々、広告代理店さんやデザイン会社さんは、まだマックOSでしか動かないデザイン系アプリが多かったので、Macマシンがメインマシンでした。
でも、マックOSは、オフィスなどのビジネス系アプリが不十分だったので、他の方のWindowsマシンを借りたり、会社さんによっては、Win/Macマシンを別々に購入して、ハードもソフト(アプリ)も二重投資になってたりしましたよね。
もちろん、IA/x86サーバーの世界でも同じようなことがあったと思われます。


それじゃ無駄が多いので、「ハイパーバイザ (hypervisor) 」と言う、仮想機械(バーチャルマシン)」を1台の物理マシンの中で作れる制御プログラムの導入が流行りだしました。別名、「仮想化モニタ」「仮想化OS」※とも言います。
※この辺りから似たような言葉が頻出して、お勉強しているとイライラします(笑)


「仮想機械(ハイパーバイザ)」には2種類ある!?


この「仮想機械(バーチャルマシン)」には、2種類あります。

1.「ネイティブ」または「ベアメタル」ハイパーバイザ
パイパーバイザがハードウェア上で直接動作し、全てのOS(「ゲストOS」と言います)は、そのハイパーバイザ上で動作します。
ソフトウェア製品としては、「Xen」とかMSの「Hyper-V」などがあります。
システム屋さんとの会話で「それってベアメタルだよね?」的なフレーズが飛び出してドキっとしちゃいます。

2.「ホスト」ハイパーバイザ
具体的な機能の話をすると難しくなるので、まずは、下記ユースケースをイメージしてください。
本来は、「ネイティブ」ハイパーバイザを例にした方がいいと思いますが、私のように、システム運用未経験者の場合、パーソナルユースが多い「ホスト」パイパーバイザを例にした方がわかりやすいかなと思いまして。

前提:
・WindowsユーザーでPC/AT互換機を使っているが、業務上、どうしてもMacOSのアプリを使いたい。
・会社からは「予算無いので、2台もPCは買ってあげない。でも、MacOSとアプリはあるよ」と言われている。

ユースケース:
(1)ハードウェア上で別のOS(ハイパーバイザではない、普通のOS。Windows/Mac/Linuxなど:「ホストOS」と言います)が稼働しています。例えば、普段、自分が使っている端末やサーバーがWindowsであるケースをイメージしてください。
(2)「ホストOS」として位置付けられるそのWindowsの中に、「仮想機械(バーチャルマシン)」を作るためのアプリケーションをインストールします。
例えば、オラクルの「VirtualBox」やMSの「Virtual PC」などの名称を聞かれた方もいる方と思います。
(3)(2)の「仮想機械(バーチャルマシン)」の中にMacOS(「ゲストOS」と言います)をインストールする。
(4)(3)にMacでしか動かないアプリをインストールする。

これで、PC1台だけで2つのOSを動かすことが可能になりました。
ハードウェアやネットワーク回線、オフィススペースも節約出来てお得ですね!
(サーバーの場合、ラックスペースの節約にもなりますよね)


実際、自分も「メインマシン=MacOS、業務で使いたい分析アプリ=Linux」と言うケースがあり、「ホスト」ハイパーバイザをMacOSにインストールしたことがあります。
普段からMac端末は持ち歩くワークスタイルなので、2台目としてのLinux用マシンを持ち歩く負担も減ってハッピーでした。

ただ、良いことばかりではありません。
「一台のPCで、Windows上にMacOS載っける」わけですから、当然、重くなります。また、クラッシュした場合、「どこが悪かったの?ホストOS?ゲストOS?ゲストOSの中のアプリ?」といった感じで原因究明も複雑になります。

「ネイティブ」ハイパーバイザだとメリットたくさん?


「ネイティブ」ハイパーバイザの場合は、上記の例で「ホストOS」として「メインマシンにインストールされたMacOS」が「ハイパーバイザ」に置き換わり、「ホストOS」が無くなります。そのため、ハードウェアを直接操作可能となり、仮想マシンの速度低下を最小化できます。加えて、シンプルな階層になるので原因究明も楽になります。

「ホスト」ハイパーバイザと比べるとメリットばかりに思えますが、結局、「ネイティブ」ハイパーバイザ実現のためのソフトウェアが必要になりますし、速度低下やセキュリティ対応などの課題が残りました。

そんなこんなで、登場したのが、真打ち「コンテナ」様です。
詳細は、次回エントリーで記載させていただきます。


小ネタ:仮想機械(ハイパーバイザ)の区分けって曖昧。


どうやら、上記でご紹介した「仮想機械(ハイパーバイザ)」の区分けって曖昧なところもあるようです。「狭義には、「ホスト」ハイパーバイザ」は、仮想機械では無い」とも言われているようです。

確かに、この曖昧さを知らずに、社内外の仮想化に関するWeb動画などを見ていた際、「仮想化のこと?それ以外のこと言ってる?」なことが何度かありました。ガチのシステム屋さんには常識かもしれませんが、「仮想化」領域は学習コストがかかります。自分も丁寧に段階を踏んで説明できるようにならねばと思っています。

あと、最後に宣伝です。
そんな「コンテナ」様を活用した弊社のイケてるソリューションがあります!
・・・ただ、いきなりコレをご覧になっても「???」な感じだと思いますので、まずは名前だけ覚えて頂けると幸いです。
他の「Cloud Pak」シリーズ含め、いずれ、当ブログでご説明できればと。

IBM Cloud Pak for Data
https://www.ibm.com/jp-ja/products/cloud-pak-for-data


「コンテナ」関連エントリー



「コンテナ」ってなに?(2)〜コンテナの技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/04/2.html

「コンテナ」ってなに?(3)〜「Kubernetes」の技術的特長をザックリと。
https://sapporomkt.blogspot.com/2020/05/3kubernetes.html

2019年8月25日日曜日

道管理空港の空港別営業損益をグラフ化してみた

北海道庁の「空港運営戦略室」ページに、道管理空港(※)別の営業損益を試算したデータがありました。ちょっと面白かったので、備忘録代わりに軽くメモしてみました。

※文字通り、「北海道が管理する空港」であり、空港法上は、「地方管理空港」に分類されます。先日発表された「北海道空港株式会社」を中心としたコンソーシアムによる「道内7空港一括民営化(コンセッション)」の対象空港にも、今回の試算対象である「女満別空港」が含まれています。

道管理空港の空港別収支の試算結果(2019年3月05日(火))

当資料内にある「営業損益」の数値データをグラフ化してみたのですが、改めて見ると結構インパクトがありますね。特に、我が実家の北見市の最寄り空港:女満別空港の収支が厳しいのですね。


ちなみに、上下一体(上記グラフのC)の経年トレンドを見ると、年々厳しくなっているようです。


一般的に、コンセッションの一つの狙いは、「下部(空港インフラ:滑走路や航空管理塔など)の管理」と「上部(運行・運営:空港内レストランやテナントなど)」の上下一体運営を進めることで、上部の利益を下部に充てることと言われています。ただ、地方の乗降者数が少ない空港は、上記数値でわかるように単体で下部を押し上げるのは厳しいため、今回の道内空港コンセッションにおいても、他の主要空港との連携(マルチゲートウェイ戦略の推進など)が重要になるのでしょうね。

<北海道内7空港における進捗状況:国土交通省>
北海道内7空港の優先交渉権者による提案概要



これからもいろいろ勉強してみようかと思います。

ご参考:その他エアライン関連エントリー


値上げされる新千歳空港の「旅客取扱施設利用料(PSFC)」を比べてみると・・・
https://sapporomkt.blogspot.com/2019/08/psfc.html