(1)【Application Insightsで簡単に始めるサービス監視】 ヒーロー島勉強会 with Windows 女子部 バレンタインスペシャル(2016/02/27)

heroshima.connpass.com

今年も来ました、広島 ITコミュニティ ヒーロー島さんの勉強会イベント with Windows女子部 バレンタインスペシャル。

セッション1つめは、ぶらっくさん( Microsoft MVP for Visual Studio and Development Techinologies )

【Application Insightsで簡単に始めるサービス監視】。

ぶらっくさんは普段、Team Foundation を中心に、全国を股にかけてご活躍されているエンジニアです。

www.amazon.co.jp

blackssi.cocolog-nifty.com

今回は、Application Insights というサービスの紹介と、デモを行われました。

Application Insightsは、アプリケーションにおける問題の検知、診断、追跡などを簡単に行うことのできるサービスで、何らかの検知をした際のアラート発行なども可能です。

現時点ではプレビュー版だということですが、多機能で面白そう……。

f:id:winwoman:20160227111148j:plain

このサービスはMicrosoftの提供サービスですが、他環境に対応しており、Windowsはもちろん、AndroidiOSOSXにも対応し、多言語、多サービス、多ログシステムに適用できます。

また、Saas なので導入が簡単なのも特長ということで、実際にすでに公開されているウェブに対して、すぐに利用出来る様子をデモでみせてくださいました。

すでに公開中のウェブに対して適用する場合にも、ほぼリコンパイルなしで監視開始できるということなので、監視導入をするようなケースでは求められるであろうスピード性も満たしているようです。

また、独自のトレース情報(テレメトリ)を簡単に収集できるということでした

(※このあたりが、この記事を書いている中の人の知識では、ちょっと理解が追いつかないので、関心のある方はぶらっくさんのBlogを、ぜひ日々追ってください……)

もちろん、Microsoft 提供ですから、このサービスはAzureと連動します。また、Visual Studioで設定すれば、Visual Studioで作成して中の Application も、すぐに監視下に入れることが可能です。

デモでは、実際にウェブサイトにイベントタグを埋め込み、Application Insightsで負荷監視を行った結果を見るところまでを拝見しました。

ちなみに、Application Insights のサービス構築をAzure上で行う場合、選択できるリージョンはいまのところUSのみだそうです。

ところで、検知サービスを構築しても、検知する事象が発生しなければ検証もできないので、ではどうするかというと、VisualStudio に load テスト・WebテストWebテストレコーダーというもので状況記録もできる!)というものがあり、負荷テストができるとのこと。

ちなみに、稼働中のサイトに何らかの新しいApplicationを入れようと思うと、一旦サービスを停止して、アプリケーションを入れて、開始という手順が今までの方法でした。

けれどこの方法では、サービス停止というロス時間の発生と、不具合時のリストアの手間が発生します。

そのため、最近ではもっぱら、前もって入れかえ用サイト(slot)を創っておき、あらかじめ新しいApplicationをいれたコンテンツやサービスを、タイミングを見計らって入れ替える、という手法が増えているということです。

(これはAzureなどのクラウドならではで簡単にできる方法になりました。オンプレミスでこれをやろうとすると、工数もかかるし資材コストもかかりますね)

「メトリックスエクスプローラー」というメニューで、監視したい任意の項目も取り出せるので、タグ付けのようにして項目分類をして、あとから振り返りで過去のイベントログも解析できるそうです。

つまり、アクセス負荷にくわえてログインエラーが急増したなど、アタック検知などにも利用が可能です。この1~2年で、WordPressなどのCMS脆弱性を突いて、ウェブサイトへの不正改ざんなどが多くニュースになりましたが、こういったものも素早く検知、通知ができそうですね。

負荷が高い場合に、自動通知も行われるということなので、予め動的コンテンツと静的コンテンツのサイトをそれぞれ用意しておいて、負荷通知があれば Azure上のコンテンツをスワップして、静的コンテンツに入れ替えてしまうということも簡単です。Web管理者には朗報な気がします。

コンテンツスワップの利点としては、不具合が発生した場合、入れ替えたもとのデータコンテンツにすぐ復旧できるという点も挙げられます。

先週18日にリリースされたTeam Systemのグラフ機能についても言及され、解析結果を視覚化したものを見せていただいて、デモは終了しました。

資料もさっそく公開されています。

こんな面白そうな話から、今年の『ヒーロー島 バレンタインスペシャル』は、始まり、はじまり……。

www.slideshare.net


去年の様子はこちら、完結していませんが、今年の記事の後、追いつきます(笑)

(1)2016年にお送りする、2015年02月 ヒーロー島 with Windows女子部 合同勉強会 バレンタインスペシャル(2015/02/28) - Windows女子部 活動記録

(5)デプロイ王子のクラウド寺子屋 4時間目(2016/01/25)

順調に4時間目をむかえた、「デプロイ王子のクラウド寺子屋」、本日は Mobile Apps のハンズオンです。

いままで、クラウドという概念について学び、Microsoft Azure の世界について概要を学び、ウェブサーバーを構築して wordpress をインストールし、メディアサービスを構築して、動画配信をしました。

今回は、更に進んで、Mobile サービスをつくってみます。
繰り返しますが、Azure の世界を知り、ウェブサイトをつくり、動画を配信して、Mobile サービスができれば、あれ? なんだか、あっという間にわたしたち、メディア配信を伴う、レスポンシヴなサービスを展開できてしまうのでは……?

さて、Mobile サービス、これは今まで学んできた IaaS、PaaS、SaaS などの概念に沿って、「mBaaS」と呼ばれているそうです。バックエンドサービス、としての「BaaS」、プラスオン Mobile、ということですね。

Mobile サービスを Azure 上で利用するメリットは非常に大きく、下記のようなポイントが挙げられます。

  • 開発費、設計費の削減
  • バックエンド知識がなくてもサーバーと連携したアプリ開発が可能になる
  • 各社の仕様にとらわれることなく、マルチデバイス向け開発が可能になる
  • 迅速なサーバー構築、運用管理の負担とコスト軽減

コストや工数の削減というメリットは、もちろん IT の恩恵の最もたるところかもしれませんが、Azure が目指す世界は、「バックエンドについて無知であっても」「安全に」「簡易に」ITの世界を広げていくことができる、というものだということが、このサービスを 1つとってもよくわかります。

たとえば、API をつかって、いろいろなサービスを連携させたい、という場合に、認証API であれば、Twitter 連携、Facebook 連携、ほかにもGooglePlus、mixiInstagram……いろいろなものでそれぞれの認証仕様があります。自力でプログラムを書いて、いろいろなサービスに連携させようとすると、if文などで、「こういうケースはこう、こういうケースのときはこう……」と、いったいいくつのケースを想定して記述すればいいのか、気が遠くなります。プログラムをかけないわたしにとっては、想定した時点で、「思いついたことを形にするの、やーめた」となりそうです。

ところが、Azure の Mobile Apps サービスを利用すれば、主だった連携も、すでにテンプレート化されて用意されており、ボタンクリックなどによって簡単に設定できます。わたしのような、プログラムと聞いただけで目眩がしそうなほどの、なにひとつ「書けない」わたしにも、SNS連携認証ができてしまうのです。

ということで、今回は Azure が持っている html5JavaScript のサンプルを使って、TODOリストのウェブページを、ローカル環境で動作確認します。

MobileApps から新規作成で、新しいサービスを構築して、html サンプルを入手。クリックをして画面が進むと、いつのまにか自分の端末のなかに、ローカル用のIIS(ウェブサーバーサービス)がインストールされて、ウェブサンプルのTODOリストを見ることができました。

ぽちぽちとサンプルタスクを入力したり削除したりしてから、Azure 側のデータベースサービスを覗いてみると、きちんとそこに、自分が入力したタスクが見えています。ローカル環境で試していたのに、全部通信でAzure側に格納されていたんですね。JavaScriptのコードによって、バックエンドで、ローカル環境とデータベースオン間できちんとデータがやりとりされていたという解説があり、JavaScript がわからなくても、仕組みはなんとなく理解できました。

さて、ここでそもそも、Database、とはなにかといえば、箱のなかにモノ(お財布…お水…ケーキ…など)が入っている状態、その状態を保っている箱、を指します。

箱とひとくちに言っても、いろいろな種類や大きさが有りますよね。たとえば 500ml のペットボトルが 2本入るサイズの箱で、冷たいものが入ってもいいように防水処理がされていて、だとか、定期券の 100枚入る厚み、だとか。

そういう、入るものの定義(数値なのか文字列なのかといった種別や、桁数など)が決められて箱としてある状態がデータベースなわけですが、この定義をこつこつ自分で組み立てるのはとてもたいへんです。

TODOリストのサンプルでやりとりした、タスクデータ。たとえばこれを、
「TO」「DO」「完了チェック」
という3項目で作成していた途中で、「完了日」「達成度」という項目も追加したくなったら、このデータベースの定義からやり直して、箱を作りなおさなくてはいけません。

本来はこの作業は、エンジニアが行います。仕様変更が怖い、という話をよく聞きますが、そういうことなんだと思います。一度名刺がおさまっていた箱を、はがきが同じだけ収まる箱に作りなおしてくれと言われたら……「たかが箱でしょう」とはとても言えないということが、こう考えるとよくわかります。

ところが、Azure で MobileApps を利用してデータベースサービスを連携させると、この「定義のやり直し」も、拡張や縮小もすべて、自動でバックエンド処理されます。仮に、わたしが、

「html も JavaScript もかけるけれど、サーバーのことはわからないし、データベースもわからない」

という状態であっても、データベースにデータを送り込むスクリプトが書ければ、アプリケーションを公開することが可能です。

合間にJavaScriptスクリプトについての解説、開発者モードによるブラウザのソースコードを追っていく機能、前述のようなデータベースの説明を経て、MobileApps のハンズオンは終了しました。

このクラウド寺子屋に参加した10名は、全6回(+0回め)の出席を約束できるという前提で登録・抽選を経たメンバーです。プログラム経験者、インフラ経験者、デザイン経験者もいますが、一方で、インフラ初心者、プログラム初心者も半数ほどいます。この寺子屋で初めてWordPressを知ったひとや触ったひと、初めてコマンドラインを見よう見まねで打ったひと、Node.jsやJSONということばを知ったひと、IISにさわったひと、普段からVisual Studioを触っていろいろな言語で開発をしているひとまで、スキルセットも幅広いメンバーです。

仕組みがすべて理解できた、とまでは言えませんが、それでもわたしたちは今、やろうと思えば、この4時間めまでの授業を経て、サンプル動画を配信し、サンプルTODOリストを配信することができます。誰かが、「こんなアプリをつくったんだけど、サーバーで動かすやり方がわからないんだ」と言うことがあれば、「Azure でできるんじゃないかな?」と考えることができます。「どんなサービスなの? どんなことができるの?」ときかれたら、簡単にだったらアドバイスすることもできるかもしれません。

これが、「知っている」ということで、「学ぶ」ということでした。

「選択肢が増える」ということ。

デプロイ王子、こと廣瀬さんがわたしたちに示している道は、そういうものでした。

  • 開発費、設計費の削減
  • バックエンド知識がなくてもサーバーと連携したアプリ開発が可能になる
  • 各社の仕様にとらわれることなく、マルチデバイス向け開発が可能になる
  • 迅速なサーバー構築、運用管理の負担とコスト軽減

ただ、大切なことは、「正しく知り」「正しく伝える」こと。

ITの、難易度というひとを選ぶ壁は、徐々に下がり始めています。Azure は、たくさんの壁を壊し、ひとにITの世界を与え続けます。わたしたちがそれを、安易に使うことの可能です。その安易さの裏には、たくさんの落とし穴がまだまだあります。ITは完璧ではありません。ITはすべてではありません。ヒトの手が必要な技術を肩代わりするけれど、ITがヒトの代わりに考えたり判断したり創ったりする世界は、まだまだ先の世界です。だからわたしたちが今、すべきことのひとつとして、「正しく知り」「正しく伝える」ことが、たぶんとても大切なのだと、そんなふうに思う、クラウド寺子屋です。

……それにしても、Azure、ほんとに便利。賢いなあ。

 

 

祝★4周年! Windows女子部 5年めへ向けての振り返り&今後の抱負LT大会

f:id:winwoman:20160124235230j:image

Windows女子部は、1月25日を以って、5年めを迎えます。

記念して、1月23日(土)には、4周年記念と、今後の5年めへ向けて、振り返りや、今後の抱負などを語るLT大会が開催されました。

写真は、パティシエ 小島和美さんが製作された、特製お祝いケーキです。女子部ちゃんのキャラクタをうつくしく飾り立てたこのケーキは、スポンジもふわふわ、クッキーもクリームもうっとりする美味しさで、参加したメンバーで楽しく美味しくいただきました。

この日の参加者は、残念ながら降雪予報も重なり、総勢8名。思い思いに、振り返りや、自分のいまやっていること、志していること、今後の抱負を語り合いました。

もちろん、ただ集まるのではなく、きちんと互いのフィードバックも。ピンクときいろの付箋は、それぞれ、「Good!」と「こうするともっといいかも!」のふたつの感想でいっぱいになりました。例えば、こんな感じです。

 f:id:winwoman:20160125000519j:image

*1

また、書きあったものは、全員で公開し、お互いにお互いのフィードバック内容を見ル時間もとりました。同じ部分を抑えている指摘や、自分には無い視点など、フィードバックの方法や内容、視点についても互いに互いが学ぶことのできる、少人数だからこそ出来る濃いLT大会に。

話して終わり、楽しんで終わり、ではなく、また、ひとりひとりの得たものを、お互いにシェアするということができる、こういう会であることが、「参加してよかった!」になるポイントかな、と思った1日でした。

発表内容は個々それぞれ、個性豊かな方向性。

1番手の方は、ご自身の今取り組まれていることについて。

Ladies That UX –

http://ladiesthatux.com/

日本支部ができるそうです。UXについて興味関心のある方は、ぜひご覧くださいね!

2番手の方は、ご自身の取り組みと、そこに至るまでの流れを。資料が公開されましたので、ぜひご参照ください。

doc.co

3番手の方は、ご自身の振り返りと、今後の目標を。「あきらめない」という最後のことばは、決意の固さがわかる、凛とした響きでした。

4番手は、Windows女子部で行って、自分が登壇した活動の振り返り。外に出かけることの意味と、それを更にアウトプットするという課題について。

5番手の方は、Windows女子部で学んだことを仕事に活かし、そこからご自身の自信に繋げ、そしてまた次の目標を見つけて、自己実現をしていくというプラスのサイクル、コミュニティと仕事の相互作用について。

6番手の方は、コミュニティ活動と仕事でやってきたことを踏まえて、自分に足りないものを見つめ、ステップアップのために立てた課題について。

7番手の方は、ご自身のプライベートの振り返りと、得てきた「好きなもの」の世界、そしてその世界をもとに、今年どんなふうに活動を広げたいかという目標を。

最後に、Windows女子部創設者である 椎野さんから、総括をいただき、「たった5分」ではなく、「密度の濃い5分」のLT大会として、それぞれが2016年のステップを踏み出しました。

もちろん、そのあとはケーキタイムを堪能! はじめの写真どおり、素敵なケーキを切り分けて、美味しさを噛みしめての解散と、楽しい4周年記念を過ごしました。

仕事ではない、趣味と言われてしまえばそれまでのコミュニティ活動ですが、みんなそれぞれ、ご自身の活動や仕事との相互活用をして、自分をステップアップするためのプラスサイクルをつくっています。やりたいことがはっきりしていなくても、たとえ自分の今居る立場が曖昧でも、この手に今もっているものを活かし、そして次の機会につなげていく、あるいは、振り返った時に新しい機会として捉えられるものにすること。それは、漠然と楽しさだけで集まっているわけではなくて、みんなが藻掻いて、足掻いてきたからこそ得られたものだと思います。わたし自身、まだまだ自分に曖昧なものしかなく、不安も、落ち込みも、焦燥感もありますが、それでも「やれたこと」、そしてやれるように「やってきたこと」は、確実に残ります。すぐに自信にならなくても、間違いなく、事実としてそこにあるだけでも、やらなかった自分とは違うものを持っている、そう思えることが大切で、そしてその機会はWindows女子部でもらったものでした。

たくさんの感謝と、笑顔と、それから、力を、スキルを、考え方を、世界を。

今年も、Windows女子部は、そういうたくさんの「きらきら」をつくりだせるコミュニティとして、邁進し続けます。

 

 

*1:全員、お互いにこうしてふせんいっぱいに感想とFBを書き合いました。