Paas上のDevOps というものを受講してみて

とあるきっかけからチャレンジ

Welcome to Microsoft’s Azure Paas上のDevOps!

結果からいうと、合格点70%に対して70%!
で、問題の翻訳の質があんまりよくないのもあったけど、
何を聞かれているのか全くわからないのもあった。。。(多分私のスキル不足)

ほかに受講できるもの「azure-skills」

とはいえ、コースの内容は面白いものでした。

5つのモジュールで構成されており、
最初のモジュールは、DevOpsとは、なぜ?といったような考え方から入り、
自動化するアプローチ、どうしていったらいいかとか。

そして中盤からツールの使い方へフォーカスして、
コードを用いた、ハンズオンまで用意されていました。
このとき、Azureのサブスクリプションや、Visual Studio 2015 が必要になりました。
コースや個人差があるとは思いますが、
全体で12時間以上かかっていたような気がします。補足資料もじっくり読むともっともっとかかりそう。

かかるということはそれだけ多くの内容を知ることができるので、
これはVirtual Academyとは比にならないくらい。

おすすめしたい!と思いますー

ハンズオン

一部内容が古いものがあって、今のAzureに当てはめたときに・・・という補完が必要でした。またビルドエラーになるものもあるので、そこを問題ないようにもっていくというのも一つの醍醐味かなぁと。コードはVS2015のASP.NET Coreであるために、xprojが採用されてます。これは既に古い存在なので、もしかしたら時間とともに動かなくなっていくかも…

Bad Request

何日にも分けてやってたりすると、途中Bad Requestが出るので、
プライベートモードにしたブラウザを使うか、クッキーや履歴を消してログインしなおすと大丈夫でした。
(ヘッダーサイズが大きすぎるぞと怒られるらしい)

認定書?

受講した人に聞くところ、私は最終試験70%だったために、特に何もなく終わったのですが、70%以上の成績をおさめると認定書?みたいなものがもらえるようです。
知識・経験不足…がんばろう

Azure Container Instances というサービスが・・・~blackjumbodog-dotnet-core

出てきたので、試してみました。

Fast and Easy Containers: Azure Container Instances

リンクは、公式のBlogです。

 

既に試しており、ざっくりまとめている方(しばやん)のを一読してみてください。

 

というわけで、OSC2017Hokkaidoでは、App Service on Linux でしたが、こちらはどうやら、Hyper-Vレベルで分離したcontainerのゲストインスタンスを利用可能になるサービスのようです。スケーリング等の機能はなく、IaaSに近いようなシンプルなコンテナといったところでしょうか。

実際に作ってみよう

Create your first container in Azure Container Instances

 

公式ではポータルのCLIを使ってとなってましたが、それっぽいテンプレートがポータルにあるのでそっちで試してみました。

イメージは、BlackJumboDog!
darkcrash/blackjumbodog-dotnet-core
ポートは3080をHTTPにしてるのでこれを!
こちら、Linuxベースのイメージになります。

しかしながら、色々試してて、リージョンは選択できるけどデプロイできないみたいな状態なので、今日現在ではおとなしくAzコマンドを使ったほうがいいのだろうと思いました。

加えて、ポータルで出来上がったものは、こんな感じで
あまり、というか情報がありませんでした。

そこで、コマンド

az container list -g [グループ名]
{
 "nextLink": null,
 "value": [
 {
 "containers": [
 {
 "command": null,
 "environmentVariables": [],
 "image": "darkcrash/blackjumbodog-dotnet-core",
 "instanceView": null,
 "name": "bjd-container4-XXXXXXX",
 "ports": [
 {
 "port": 3080
 }
 ],
 "resources": {
 "limits": null,
 "requests": {
 "cpu": 4.0,
 "memoryInGb": 4.0
 }
 },
 "volumeMounts": null
 }
 ],
 "id": "/subscriptions/XXXX/resourceGroups/bjd-container4/providers/Microsoft.ContainerInstance/containerGroups/bjd-container4-j6bvkbkaxarxy1",
 "imageRegistryCredentials": null,
 "ipAddress": {
 "ip": "13.93.166.22",
 "ports": [
 {
 "port": 3080,
 "protocol": "TCP"
 }
 ]
 },
 "location": "westus",
 "name": "bjd-container4-XXXXXXX",
 "osType": "Linux",
 "provisioningState": "Succeeded",
 "resourceGroup": "bjd-container4",
 "restartPolicy": null,
 "state": null,
 "tags": null,
 "type": "Microsoft.ContainerInstance/containerGroups",
 "volumes": null
 }
 ]
}

http://13.93.166.22:3080/

開いたー!ひゃっほー!
ただ、BlackJumboDogのコンソールログは見えないので、ちょっと実感は薄かったw

とはいえ、今までIaaS上にVMを上げてDockerHostを作り、そこにコンテナをのっけるのではなく、Hyper-Vに直接乗っかっているような状態なので、非常にシンプルでわかりやすくリソースの調整もポータル上からできるようになるというのであれば、VMっぽい感覚で、素早くコンテナ作れるってのはちょっとしたものを作る上ではいいんじゃないかと思いました。スケーリングはApp Service On LinuxがPaaSとして存在しているので、そんなすみわけがあるのかなぁと妄想したところでした。

これ、オーケストレーションももちろんだけど。
VNET接続とか、DNSまたはホスト名、LBとかいろいろできるようになったらまた違う可能性ありそうな気がしないでもない。ARMテンプレートとイメージだけでDevOpsとか。
ちょっと、●●ほしいなぁ、おしデプロイするかー!みたいなのも。