オンプレ系インフラエンジニアがAzureを勉強する

いつか誰かの何かの役に立つと嬉しいな

ローカルフォルダ配下のファイルをBLOBに一括アップロードするbatファイルを作る

はじめに

BLOBストレージにファイルを一括アップロードできるbatファイルが必要になったので、作りました。

 

今回作るもの

特定のローカルフォルダ配下にある複数のファイルを、一括でBLOBストレージにアップロードするPowerShellスクリプトを作ります。
また、それを起動させるbatファイルまで作ります。

 

用意するもの

アップロード先のBLOBストレージ
Azure CLIが使用できるWindows環境

 

参照サイト様

Windows での Azure CLI のインストール | Microsoft Docs

az storage blob | Microsoft Docs

高度な関数

PowerShell のエラーコード処理 | netplanetes log

 

作成

ログインスクリプト

Azureにアクセスするためのログインスクリプトを作ります。
PowerShellからのログイン自体は下記コマンドでできます。

az login -u ユーザー名 -p パスワード

 

このコマンドを.ps1ファイルに記載します。
また、ユーザ名とパスワードは入力形式にしたいので変数化します。
パスワードは入力しているときに平文を表示したくないので、[-AsSecureString]のオプションを付けます。

$username = Read-Host "Azureアカウント"
$password = Read-Host "パスワード" -AsSecureString

az login -u $username -p $password

 

これにより、スクリプト実行時には下記のような表示になります。

f:id:mitsunooon:20200628121727j:plain


以上でログイン用のスクリプトはできました。
最終的なスクリプトの形は下記のGitHubを参照ください。

blob_upload_bat/login.ps1 at master · kgnk-hkr/blob_upload_bat · GitHub

 

アップロードのためのスクリプト

次に指定したファイルを指定したBLOBストレージにアップロードするスクリプトを作ります。

BLOBへのアップロード自体は下記コマンドでできます。

az storage blob upload-batch --account-name ストレージアカウント名 -d アップロード先のコンテナ名 --destination-path アップロード先のパス -s アップロード元のローカルフォルダパス

 

[アップロード元のローカルフォルダパス]を指定すると、そのフォルダ配下のファイルすべてがアップロードされます。

ログインスクリプト同様、アップロードに必要な情報は変数化します。
今回は、デフォルト値も利用したいため、デフォルト値のオプションも利用します。
Read-Hostを付けることで、対話的になるためよりユーザーに分かりやすくできます。

$defaultaccountname = 'defaultaccountname' ←これがデフォルト値
$accountname = Read-Host "ストレージアカウント名[デフォルト値:$($defaultaccountname)]"
$accountname = ($defaultaccountname,$accountname)[[bool]$accountname]

$defaultcontainername = '$web' ←これがデフォルト値
$containername = Read-Host "コンテナ名[デフォルト値:$($defaultcontainername)]"
$containername = ($defaultcontainername,$containername)[[bool]$containername]

$defaultdestinationpath = '/images/' ←これがデフォルト値
$destinationpath = Read-Host "アップロード先のパス[デフォルト値:$($defaultdestinationpath)]"
$destinationpath = ($defaultdestinationpath,$destinationpath)[[bool]$destinationpath]

$sourcepath = Read-Host "アップロード元のフォルダーパス"

az storage blob upload-batch --account-name $accountname -d $containername --destination-path $destinationpath -s $sourcepath

 

このスクリプトを実行すると下記のようになります。

f:id:mitsunooon:20200628121909j:plain

 

アップロードに最低限必要なのは以上ですが、
きちんとアップロードされたかを実行の前後で確認できるようにアップロード先のファイル一覧を取得するコマンドも追加します。

$date = (Get-Date -F G).Replace('/','').Replace(' ','_').Replace(':','');
$destbefore = $date + "_before_upload_list.txt"
$destafter = $date + "_after_upload_list.txt"

az storage blob list --account-name $accountname --container-name $containername --output table --prefix $destinationpath > $destbefore

az storage blob list --account-name $accountname --container-name $containername --output table --prefix $destinationpath > $destafter

 
以上でファイルアップロード用のスクリプトはできました。
最終的なスクリプトの形は下記のGitHubを参照ください。

blob_upload_bat/FileUpload.ps1 at master · kgnk-hkr/blob_upload_bat · GitHub

 

2つのスクリプトを実行するためのbatファイル

上記2つのPowerShellスクリプトを実行するためのbatファイルを作ります。
2つのPowerShellスクリプトはbatファイルと同じ階層のフォルダに格納されていることとします。
スクリプトが失敗したときにはエラーメッセージを返すようにします。
少し長くなるので、コード自体はGitHubにて参照ください。

blob_upload_bat/Upload.bat at master · kgnk-hkr/blob_upload_bat · GitHub


このbatファイルを実行し、すべてのスクリプトが成功すると下記のようになります。

f:id:mitsunooon:20200628122103j:plain


ちなみに、スクリプトが失敗すると下記のようになります。

Azureへのログインが失敗した場合

f:id:mitsunooon:20200628122134j:plain


アップロード情報が間違っていてアップロードに失敗した場合

f:id:mitsunooon:20200628122337j:plain

 

詰まったところ

スクリプトのエラー検出

上記で説明したようなコマンドをそのままスクリプトにした状態では、アップロードスクリプトが失敗していても、エラーとして検出されずに終えられてしまいました。
下記記事を参考にして、1処理ごとにデータが返されているかを確認するようにしました。

Using Azure CLI with PowerShell: error handling explained


フォルダ名に記号が入っている場合

コマンドでアップロードする場合に、アップロード先のコンテナ名に記号($など)が入っていると、ダブルクォーテーションで囲うとコマンドが通らない事象がありました。
下記の記事を参考に、シングルクォーテーションで囲ったらうまくいきました。

storage blob upload-batch fails with InvalidQueryParameterValue on Ubuntu · Issue #10131 · Azure/azure-cli · GitHub

 

f:id:mitsunooon:20200628123324j:plain

 

f:id:mitsunooon:20200628123341j:plain

 

おわりに

エラー処理の部分などは結構苦労したのですが、細かなところは端折ってしまったので、完成形のものをご覧いただければと思います。

気力があればちゃんと書き起こします。

作成したスクリプトとbatファイルはGitHubにまとめてアップしています。

github.com

 

 

Azureでマイクラサーバーをたてる

はじめに

ずっとマイクラPEで一人で遊んでいたのですが、
マルチプレイもしてみたくなったので
Azureの勉強がてら、マイクラサーバーをAzureにたててみようと思います。

 

今回作るもの

マルチプレイができるマイクラサーバー

 

準備するもの

Azureアカウント
Minecraft用サーバーソフトウェア
Minecraftソフト(今回はスマフォアプリ)
 

参考サイト様

 

作り方

テンプレートから仮想マシンを作る

 Azureポータルにログインします。
リソースの新規作成で「minecraft」と検索します。
minecraft関連のものがいくつか出てきます。

f:id:mitsunooon:20200606232521j:plain

 

とりあえず今回は一番オーソドックスそうな「Minecraft server(Java) on Ubuntu」を選択しました。Linuxが好きなので。
(後から気づいたのですが、今回の対象のPE版はMinecraft Bedrockに統合?改名?されたらしく、「Minecraft Bedrock Game Server for Ubuntu 18.04 LTS」の方を選択するべきだったかもしれないです。

f:id:mitsunooon:20200606232641j:plain

 
リソースグループやパスワードなどを設定します。

f:id:mitsunooon:20200606232716j:plain

 
次に仮想マシンの設定をします。
ここのDomain name labelがマイクラサーバーにアクセスするときのサーバーアドレスになります。
サイズは、お遊びなのでできるだけコストは押さえるために一番安いのにしたいのですが、マイクラサーバはメモリに最低2GB必要と見たような気がするので、とりあえずB1msにします。
足りなくなったら拡張します。

f:id:mitsunooon:20200606232951j:plain 

次にマイクラの設定をします。
難易度とかシード値とかですね。
ここはサーバーを立てた後でも修正できます。
設定したら、確認作成します。

f:id:mitsunooon:20200606233240j:plain

 

デプロイが終わったリソースグループを開くといろいろできてます。

f:id:mitsunooon:20200607110250j:plain


ポートを設定する

作成したマイクラサーバーにアクセスするためのポートの設定をします。
仮想マシンをクリックします。
[ネットワーク]>[受信ポートの規則を追加する]をクリックします。

f:id:mitsunooon:20200607110446j:plain

 

[宛先ポート範囲]と[名前]だけ設定します。
イクラのデフォルトは19132です。
そのままでもいいのですが、せめてものセキュリティの意味でデフォルトじゃないポートにすることもできます。

f:id:mitsunooon:20200607110603j:plain 

ソフトウェアを展開する

Minecraft用サーバーソフトウェアをサーバー上に展開します。
cloud shellでサーバの中に入ります。
sshでアクセスします。
ユーザー、ドメイン、パスワードは仮想マシン作成時に設定したものを使います。

f:id:mitsunooon:20200607112205j:plain

 

下記コマンドでroot権限に移動します。

 

sudo su -

f:id:mitsunooon:20200606234506j:plain

 
公式からMinecraft用サーバーソフトウェアをダウンロードしてきます。
今回はUbuntu用です。
wgetコマンドで直接ダウンロードします。

f:id:mitsunooon:20200607112432j:plain

 

zipファイルがダウンロードされます。

f:id:mitsunooon:20200607112507j:plain

 
zipファイルを解凍すると、[bedrock_server_how_to.html]というファイルがあり、
サーバの起動方法や設定などの使い方が書いてあります。

f:id:mitsunooon:20200607112542j:plain

f:id:mitsunooon:20200606234911j:plain


zipファイルの中にあった、[server.properties]を編集して、アクセスするポートを設定します。

ここで設定するポートはAzureの仮想マシン上で設定したポートです。

デフォルト19132を使う場合は変更はいらないはずです。

vi server.properties

f:id:mitsunooon:20200606235050j:plain

サーバーを起動させる

screenモードを起動します。
コンソールを分けておくことで、マイクラサーバーを起動しっぱなしにすることができて便利です。
たぶん入ってないと思うのでインストールからします。

apt-get install screen

 

screen起動

screen

 


解凍したzipの中身があるところで下記のコマンドを実行し、サーバーを起動します。

LD_LIBRARY_PATH=. ./bedrock_server

f:id:mitsunooon:20200607112807j:plain

[Server started.]が表示されたらOKです。

 

アクセスする

マインクラフトのソフトを起動します。
私はスマフォで遊んでいるのでPE版です。
[サーバー]>[サーバーを追加]をクリックします。
下記を設定します。

[サーバー名]:自分が認識できるものならなんでも良いようです。
[サーバーアドレス]:Azureの仮想マシンDNS名をいれます。
[ポート]:サーバ上で設定したポートにします。

 

[保存]をクリックします。

f:id:mitsunooon:20200607100845p:plain

 
追加したサーバーが一覧に下記のように緑のアンテナが表示されたらログインができます!
アクセスできないときは赤い丸が付きます。

f:id:mitsunooon:20200607101108p:plain

 

ログインすると、サーバーの方にはログインしたユーザーの情報が表示されます。

f:id:mitsunooon:20200607112825j:plain

 

 遊べる状態になりました!やったー!
 

コスト

どれくらい遊ぶかによるとは思うのですが、
起動させっぱなしとして、大体3000円/月くらいになりそうな見込みです。
 

 おわりに

ひとまず、ログインして遊べる状態にはなりましたが、好みの遊び方をするにはここから細かな設定が必要になります。(この仮想マシンのテンプレートの使い方も合っているのか少し疑問もありますが…
イクラサーバーをスクリプト自動起動させるところまでできたらもっと快適だと思うので、そこはもう少し頑張ります。
どんなメンテナンスやバックアップが必要になるかも気になるので、しばらく実際に遊びながら運用していこうと思います。
 
 
 
 

 

 

Power AutomateでTeamsに通知を送る

はじめに

社内ブログの更新をチームメンバーに周知するためのシステムをPower AutomateとTeamsを使って作ります。

 

設定する

Power Automateでフローを作る

テンプレートで「Teams」と検索すると、Teamsを使ったテンプレートがたくさん出てきます。
今回はその中の「RSS フィード ニュースを Teams へ」を使います。

 

テンプレートを開いて、RSSとTeamsの接続先のアカウントを設定します。
無事に接続先が認証されたら、[続行]をクリックします。

f:id:mitsunooon:20200521212632p:plain

 

フローの中身を設定する

テンプレートなのですでに2つの項目が用意されてます。

f:id:mitsunooon:20200521212818p:plain

 

RSSを取得する

登録するためのRSSを取得します。
今回対象ブログがWordPressなので、WordPressでのRSSの取得方法になります。
WordPressのカスタマイズでサイドバーに[投稿のRSS]が含まれるメタ情報を追加します。
[投稿のRSS]がリンクになっているので、そのURLをコピーします。
下記のようなURLが取れると思います。

http://XXXX.net/feed/

f:id:mitsunooon:20200521213021p:plain

RSSがどんなものかよくわからなかったので総務省が公開してるRSSを参考にしました。

総務省|RSS配信について

 

RSSの設定

[When a feed item is published]の項目に取ってきたブログのRSSを入力します。

 

Teamsへの設定

[チーム]のプルダウンを開くと、接続できるチームが表示されるので、通知を送りたいチームを選択します。
[チャネル]のプルダウンを開いて、通知を送りたいチャネルを選択します。
[メッセージ]に通知の内容を設定します。
今回はブログが更新されたことを通知したいので
[フィードタイトル]で更新されたページのタイトルを、
[フィードリンク]で更新されたページのURLを表示します。
 

f:id:mitsunooon:20200521213329p:plain


[保存]をクリックして完成です!

 

テスト

実際にブログが更新されるとこんな感じで通知がきます。
デスクトップ版だとリンクがクリックできないんですが、アプリ版だとちゃんとクリックして飛べるんですよね…メッセージの設定がいけないのかな…

アダプティブカードを使ってもかっこいいかな~と思うので、これはもう少し検討してみます。

f:id:mitsunooon:20200521213530p:plain

 

※2020/05/22追記

下記のようにタグをつけると、ハイパーリンクになってクリックで飛べるようになりました!

f:id:mitsunooon:20200522182631p:plain

f:id:mitsunooon:20200522182644p:plain

 

おわりに

Power Automateを使って簡単にブログの更新を周知できるようになりました!
これで頑張って書いた情報も、よりチームメンバーに見てもらえるようになりますね!
Power Automateは他にもいろんな使い方ができそうなので、探求が楽しみです~

 

オンライン英会話を始めた感想

はじめに

ご縁に恵まれ、中途採用面接で海外の上司と英語でお話することになりました。
普段全く英語に触れていないため、面接日の2週間前からオンライン英会話を始めました。(せめてもの悪あがき…
どこのオンライン英会話にも無料体験制度があり、何件か体験を受けてから入会したので、軽くレビューします。

 

私の英語スペック

  • 日系企業勤務
  • 日常で英語を使うことはほぼない(ドキュメントで読むくらい
  • TOEICは人に言えないくらい低いスコア
  • 英語圏への海外旅行は人生で2回のみ
  • オンライン英会話経験ゼロ


オンライン英会話に求めていること

  • 英語でのあいさつや簡単な自己紹介ができるようになること。
  • あわよくば面接対策ができること。
  • 初心者にやさしいこと。

 

無料体験レッスンを受けてみて

細かいレッスン体系などの比較は分かりやすいサイトがたくさんありますのでここでは私の個人的な主観の感想を。

料金プランはそれぞれ多様にありますので、比較的似ている料金のものや入会を検討したプランを抜粋します。当時のキャンペーン価格も含んでます。


QQEnglish

オンライン英会話ならQQEnglish!カランメソッド正式認定校

料金:3685円/月8回、6680円/月16回(1レッスン25分)ポイント購入制

レッスンツール:専用のレッスンルーム

教材:カランメソッド方式

その他:

体験後に日本語でのカウンセリングがあり、システムの説明などをしてくれる。

指導力の高いベテランの講師ほどレッスンに必要なポイントが多くなる。

感想:
初めてのオンライン英会話の一発目。

初心者にも優しいというポジティブなレビュー記事を見たので選択しました。

無料体験レッスンを2回やりました。

1回目は、オンライン英会話自体初めてということで、相手の言葉を聞き取れないと嫌な顔されるんじゃないかと身構えましたが、明るい女性の方とのレッスンで大変楽しく過ごせました。

2回目は1回目よりポイントの高い講師の方でしたが、落ち着いた方で会話が盛り上がるような感じではなかったです。

 

DMM英会話

DMM英会話|世界とつながるオンライン英会話

料金:6480円/月(毎日1レッスン25分

レッスンツール:専用のレッスンルーム

教材:レベル、カテゴリーによって選択可能

感想:
周囲に入会者が一番多く、いろんな評判を聞くことができました。

教材が豊富にあります。いろんなカテゴリーから話題を選ぶことができるので、自分の目的には何が合うのかわからず迷ってしまいました。

少し早口な講師の方でしたが、明るくて、趣味の話で盛り上がりました。


レアジョブ

【レアジョブ英会話】 オンライン英会話 - 会員数No.1

料金:5800円/月(毎日1レッスン25分

レッスンツール:専用のレッスンルーム

教材:レベル、カテゴリーによって選択可能(基本はカリキュラムに沿ったもの

その他:

日本語でのカウンセリングがあり、目的に応じたカリキュラムの提案をしてくれる。

感想:

レッスンルームの使い勝手の良さが際立ちました。

レッスンルームの表示にはほぼ全部に英語と日本語が書いてあります。

チャット部分には困った時の例文が載ってるので、急なシステムトラブルにも対応できました。

間違った言い回しをしたときに都度指摘してくれるため、授業然としてた印象でした。

 

Bizmate

オンラインビジネス英会話ならビズメイツ Bizmates

 料金:5500円/月(毎日1レッスン25分

レッスンツール:Skype

教材:レベルと目的によって選択

感想:
講師の方がベテランっぽい人で、チャットをうまく使いながら言い回しなどを教えてくれました。

体験レッスン終了時に自分がどのくらいのレベルなのかを教えてくれます。

おそらくその時のレベルと目的によって入会後の教材が決まると思われます。

無料体験だけでは、実際のレッスンのイメージがしづらかったです。

 

Kimini

Kimini英会話|学研のオンライン英会話
学研のオンライン英会話。

本当はここも気になっていたのですが、私が調べたときにはCOVID-19の影響でちょうど新規受付をしていなかったようで断念…

今は10日間無料キャンペーンをやっているようです。

 

入会してみて

私はレアジョブに入会しました。

入会の決め手

  • 毎日レッスンができる。
  • 体験の時の講師の先生が良かった。(少なくとも一人は合う先生がいるという安心感
  • レッスンルームが使いやすい。
  • 教材がカテゴリ分けされていて見やすい。(面接向けの教材もある
  • その時の目的と気分よって教材を変えられる。

 

約1ヵ月続けてみた感想

  • お気に入りの先生がいつもとれるとは限らないので、いろんな先生を試してみてお気に入りを増やす必要がある。
  • 回線が悪く途切れることも度々ある。
  • 同年代の同性を選ぶと十中八九話が盛り上がる。楽しい。
  • 基本的にどこも入会後は1日1レッスン25分のようで、少し物足りないような気もするが、毎日続けようと思うとこれくらいがちょうどいいのかと。
  • 最初のころは授業の指示さえ聞き取れなかったが、徐々に聞き取りやすくなってきたような気がする。
  • 在宅勤務が続いていて人との会話に飢えていることもあり、会話するだけで楽しい。在宅が続くこの機会におすすめ!

 

面接の感想

私の面接がどの程度のレベルだったかは正確には分かりませんが、記録として面接の感想を少し。

 

準備としては、経歴を話すためのパワポと逆質問とよくある質問の回答を用意しました。
想定される質問は50問分くらい用意したのですが、質問自体ほとんどなかったです…
新卒就活の時のような質問攻めの面接というよりは、人となりを知るためのカンバセーションのようでした。

個人的な反省としては、自己紹介の時に「応募している職にいかに己がふさわしいか」をもっとアピールしてもよかったかなぁとか、
逆質問をもっと掘り下げて話を広げられたらよかったなぁと思っています。
海外の偉い人と1対1でお話する機会なんてなかなかないですからね。

 

面接当日は緊張しすぎてよく寝れず、体調不良に見舞われて死ぬかと思いました。
そんな緊張とは裏腹に、面接官の上司の方はめっちゃ優しい人でした。
英語が不慣れなことに対しても寛容で、面接の終了時には良くアピールできていたとのフォローもくれました。
案の定質問が聞き取れないこともありましたが、チャットツールのおかげで、会話としては成り立っていたような気がします。

 

おわりに

エンジニア同士の交流の場でも、英語でコミュニケーションがとれたらいいなぁと思う場面がにわかに増えてきたところだったので、ついに向き合わざるを得なくなったという感じでちょうどよかったです。機会に感謝です…
ITエンジニア×英語でぐーんと世界が広がるのが目に見えているので
これからも無理のないペースでオンライン英会話を続けていこうと思います。

 

 

 

 

Japan Power Apps Orchestraに参加しました

概要

先日、Microsoft Business Applications Summit2020が開催されました。
このイベントはMicrosoftのPower Platform関連とDynamics 365関連の製品に特化した技術イベントになります。
今年は時世もあり、オンラインイベントになっていました。

公式サイトにて、各セッションのオンデマンド配信もされているようです。

 

www.microsoft.com

 

内容はすべて英語ですが、日本語でわかりやすくまとめてくださっている記事もありますのでぜひご確認ください。

Microsoft Business Applications Summit 2020 基調講演の日本語のまとめ - 吉田の備忘録

 

Japan Power Apps Orchestraに参加

MBASのSocial hourという枠で紹介されたJapan Power Apps Orchestraに参加しました。
日本各地のPower Apps Userたちが各々の楽器アプリで「歓喜の歌」を演奏しました。
私は過去の勉強会で作成した楽器アプリを少し改良し、HotelBellパートで参加しました。

【レポ】Power Apps でローコーディングな勉強会 #13に参加してきました - オンプレ系インフラエンジニアがAzureを勉強する

 

下記YouTubeにフルバージョンの演奏がアップロードされていますので、ぜひご覧ください。
PowerAppsで作った楽器の演奏とは思えないクオリティです!

 

youtu.be

 

感想

楽譜も読めない私が、オーケストラに参加できた上に世界の方々に見ていただけたというのは大変感慨深く、貴重な体験でした。
これもひとえにPower Appsと主催の方々のおかげです。
本当にありがとうございました!

日本だけに限らず、世界中のPower Apps Userたちと演奏できたらもっと楽しいだろうなと思います!

 

 

クラウドコンピューティングの基礎知識

はじめに

先日、クラウドの基礎とメリットについてお話する機会がありました。
改めて勉強し、今さらながら初めて知るようなこともあったので簡単にまとめました。

 

 

参照サイト様

総務省 ICTスキル総合習得教材

https://www.soumu.go.jp/ict_skill/pdf/ict_skill_2_2.pdf

 

NISTによるクラウドコンピューティングの定義

https://www.ipa.go.jp/files/000025366.pdf

 

クラウドの定義とは

クラウドには多様な形態があり、簡潔な定義が困難であるとされています。
そこで、NIST(米国国立標準技術研究所)が下記の5つの特徴を満たすものをクラウドとすると挙げました。

f:id:mitsunooon:20200411093042j:plain


オンデマンドセルフサービス

いつでもだれでも触れる状態であること。
各サービスの提供者に連絡することなく、利用者が必要に応じて自分の意志で始められる環境であること。

この特徴により、「早く価値を生み出す環境」が実現できます。

 

幅広いネットワークアクセス

どこからでもアクセスができる状態であること。
インターネットがつながる環境であれば、場所は問わず、デバイスも自由となる。

この特徴により、どこでも同じ環境が使えるため、テレワークのような働き方改革にも向いています。

 

リソースの共有

クラウドサービスで提供しているリソースは、マルチテナントモデルとして集積されている。
そのリソースをユーザーの需要によって割り当てる。
ユーザーはリソースが物理的にどこにあるかを意識することはない。

 

スピーディーな拡張性

クラウドのリソースは、ユーザーの要求によって即座に拡張や縮小ができる。
場合によっては割り当てや提供サイズを自動化することもできる。

この特徴により、リソースの確保に対して工数を取らないため
オンデマンドセルフサービス同様、「早く価値を生み出す環境」が実現できます。

 

サービスが測定可能

ユーザーとクラウド提供者の双方にとって重要な、サービスの品質保証にかかわる特徴。
ユーザーは誰が何をどれくらい使用していたか、
クラウド提供者はいかにダウンタイムなくサービスを提供できたか、を知る必要がある。
それを明示するために各サービスに対する正確な測定が必要になる。

SLAの認識は以前からありましたが、
クラウドの特徴(スピーディーな拡張性等)によってさらに意識されるものとなりました。

 

 

クラウドの実装モデル

 クラウドの実装モデルはクラウドサービスの利用機会の開かれ方によって、4種に分類されます。
今回は主に使われることが多い3つのモデルについて記載します。

 

パブリッククラウド

クラウド事業者が所有していて、一般公開されているクラウド
誰でも利用することができる。
インターネットを経由してWebブラウザでアクセスできる。

具体例)Azure、AWSGCPなど


プライベートクラウド

クラウドリソースを使用する組織が所有と運営をする。
ハードウェアの購入、保守、管理が必要になる。
単一の組織に所属する者のみが使用できる。
パブリックアクセスは許可しない。
物理サーバーの設置場所は、利用組織の敷地内に設置するケースもあれば、
クラウド事業者のデータセンターなどに設置するケースもあります。


ハイブリットクラウド

複数のクラウドモデルを組み合わせたもの。
コストや効率面でいいとこどりができる。
部分的な管理が必要。(プライベートクラウド部分)

複雑なカスタマイズが必要な部分はプライベートクラウドで構築し、
定型的なサービスで対応できる部分はパブリッククラウドで構築するケースが考えられます。

Azure+AWSというような、複数のパブリッククラウドの組み合わせはマルチクラウドと言います。

 

 

クラウドのサービスモデル

クラウドにはたくさんのサービスがあります。
各サービスをクラウド事業者とユーザーの間の管理責任ごとに分類したとき
下記の3つのケースが考えられます。

f:id:mitsunooon:20200411093204j:plain

 

IaaS(Infrastructure as a Service)

サービスとして提供されるインフラストラクチャー
ストレージやサーバーといったパソコンの中枢機能を利用できるクラウドサービスです。
従来は、インフラというと大規模な装置や保守人員が必要でしたが、IaaSを利用することでデバイスさえあればすぐに利用可能となります。
スケールアップ/ダウンも迅速にできます。
Azure内のサービス例)Virtual Machines

 

PaaS(Platform as a Service)

サービスとして提供されるプラットフォーム
OS、ネットワーク、フレームワークといったプラットフォームを開発するためのミドルウェアを利用できるクラウドサービスです。
環境設定に工数を取られないので、アプリケーションやサービスの開発に注力することができます。
Azure内のサービス例)Functions、Web Apps、Logic Apps


SaaS(Software as a Service)

サービスとして提供されるソフトウェア
物理的な部分からアプリまで担います。
これらはユーザー側が構築管理することはなく、ブラウザなどで接続して利用するだけになります。
一般的なサービス例)Microsoft Office 365、GmailDropbox

 

コストとカスタマイズの自由度は下記のようなイメージです。
ユーザーが管理する範囲が広いほど、カスタマイズの自由度は上がりますが、
その分コストもかかります。

f:id:mitsunooon:20200411093330j:plain

 

また、これらをわかりやすく例えたのが車の例になります。
IaaS: カーディーラーで車を買うようなもの。車検や駐車場の確保などが必要になる。
PaaS: レンタカーで借りるようなもの。実際には使っていない間もお金がかかる。
SaaS: タクシーを利用するようなもの。乗っている時間にだけ払う。

f:id:mitsunooon:20200411093354j:plain

 

 

スライド資料

www.slideshare.net

 

おわりに

クラウドの本当に最初の部分について改めてまとめてみました。
もう少し先についても機会があったらまとめてみます。

 

テレワークをしてみた感想

はじめに

この2週間で初めてテレワークを実施したので、得られた知見をさらっと書いてみます。

メリットデメリットとか効果的なところというより、個人的なテレワークの感想です。

 

 

テレワーク実施でやったこと

・週3でテレワーク
・週2でMTGのために出勤
・週1でTeams会議

 

感想

・着替えは必須

同じようにテレワークを始めたいろんな人が言ってると思いますが、朝の身支度は大事。テレビ会議などで姿を映すわけでなくても、気持ちの 切り替えのために有効です。少しシャキッとします。

 

・椅子は身体に合ったものを

これはテレワークに限らず、昔からいろんな人が言っていますが、今回身に沁みました。

恥ずかしながら、私の家の作業机は小学校入学時からの学習机です。

椅子が堅く、高さが合わないせいか、腰が痛くなります。

学生の時は長時間座ってても平気だったのに…

 

・携帯は近くに置かない

ちょっとの休憩のつもりがいくらでも触ってしまう。時間泥棒。

 

・Teams会議は口をはさむタイミングが難しい

思っていたより、対面のMTGと遜色ない印象でした。慣れたらもっと使い勝手がよくなりそうです。

対面と違って難しいのは、誰が話そうとしてるのかがわかりづらいところですね。

2人でも声が被ると結構聞き取りづらいです。3人被ると絶望的です。なので機会をうかがってしまうわけです。

自分が話すときはゆっくりはっきり話すように気を付けてます。家でイヤホンマイクで喋るとぼそぼそしがちなので。

Teamsなら画面共有でコードレビューも簡単にできるのは良いです。

 

・チームビルディングの必要性

顔を合わせる機会が減る分、品質を保つためにはチームメイト同士の意思疎通はより大切になりますね。

チームビルディングがしっかりできれば、週2のMTGもTeams会議に移行できる気がします。

 

・各日で環境が変わると集中しやすい

完全に個人の好みですが、各日で環境が変わると新鮮で集中力が上がる気がします。

可能ならお気に入りのコワーキングスペース利用とかも挟みたいところです。

 

・思いっきり休憩ができる

ただし、だらけない心が必要。

タスクがそれなりにあれば、すごくだらけてしまうようなことはなさそうです。

切り替えや集中開始のトリガーを自分で設定できるのが魅力的です。私の場合はやる気の出る音楽を聴くことです。

 

・オンライン勉強会に参加できる

定時だと通勤時間と被ったりして、最初から最後まで参加することが難しいのですが、テレワークなら極論寝支度まで終えてから参加も可能です。さらに リラックスした状態で参加できるのもいいですね。


・愛犬に触れる

たまに愛犬を膝の上に乗せたりしながら仕事するのは最高に癒されます。会社にはない癒し。

 

おわり

3月いっぱいまではテレワークが続きそうなので、もっと快適な環境作りをしていこうと思います。

集中力の効率を上げるような休憩サイクルも要検討です!