Global Azure Bootcamp 2017@Tokyo めも

# Global Azure Bootcamp 2017@Tokyo めも
行ってきたので、めもももも。気が向いたら整理する。
## Azureって何よ2017年の最新情報をゆるまとめ
https://www.slideshare.net/jazug_girls/azure2017
　シングルインスタンスのSLA
　https://azure.microsoft.com/en-us/support/legal/sla/virtual-machines/

## Azure 2017年3月障害Deep Dive
https://docs.com/user770511/5468/azure20173deepdive
2017.3.8の東日本リージョンのストレージ障害から、Azureのストレージの仕組みを解説って感じでした。

　スタンプ内レプリケーション（オンプレでいう筐体内レプリケーションに近いイメージ？）
　・プライマリエクステントが壊れた場合は、Paxosのリーダー選出の仕組みに則ってセカンダリのいずれかをプライマリに昇格→セカンダリを1つ追加で復旧。
　・セカンダリエクステントが壊れた場合は、プライマリから再作成。

　このへんの管理をするストリームマネージャーさんの動きに不具合があった模様、ということらしい。

　SOSP論文日本語訳版
　Windows Azure ストレージ: 高可用性と強い一貫性を両立する クラウド ストレージ サービス
　https://download.microsoft.com/download/C/0/2/C02C4D26-0472-4688-AC13-199EA321135E/23rdACM_SOSP_WindowsAzureStorage_201110_jpn.pdf

## bitFlyerを支える仕組み - Azure障害の中1時間未満でサービス復旧を実現-
https://www.slideshare.net/YutoTakei/azure-75296598

　・Statusページに障害情報反映されるの遅い。
　・DBコピーの進捗率はあてにならぬ。
　・SLA割った時の返金はこちらから手続しないとだめ。障害があった翌月まで。
　・サポートプランはProDirect（NOTプレミア）での話。

　SPOFを作らない、障害時手順の用意と訓練あたりは、24/365のシステム（特にお堅い金融系）では常識な話ではある。
　ただコストとトレードオフなので、やればいいってものではないと思う。要件的にそこまでやらんでいいシステムもあるだろうし。
　どこまで許容するか・しないかを設計時点で握っておくべきだろうなあ。

## サポートエンジニアが紹介する、Azure Portal/CLI 使いこなし
https://1drv.ms/p/s!AqwIyH6ypmayj-F_qJzUnMfq9LXyjQ
### AzurePortal
　なんかおかしくなったらとりあえずF5
　UI変更あると資料作成的にはつらい
### AzureCLI
　ドキュメントが1.0と2.0、両方用が混在。
　サポートの手厚さや出力の取り回しのしやすさ的には、2.0推し気味？
　導入時にPythonの依存ではまったので、Dockerでやったほうが楽。
### AzurePowerShell
　Winユーザおすすめ。Lin版はまだプレビュー。
　Automationで使う。
### REST API,SDK
　アプリ作りこみ用。言語ごとに対応状況に差あり。
### resource group
　タスクごとに分けてる。vNet,vSubnetなどはRGごと。まとめて消せる。
### ロケーション
　japanwest…レイテンシそんなに悪くならない割に安い
　westus2…安い
　※都度確認してね！！！！１１
### Automation
　タスクスケジューラ的なもの。
　定期削除、起動・停止で無駄遣い削減。
　　→認証情報の取得などはPowerShellの定型文の提供あり。
　　→落としていいもの悪いものはタグで判別させたり。
　ピーク時間外VM起動停止はプレビューであり。
### Virtual Machine
　Unmanaged Disk
　　UnmanegedVMにManagedDiskはアタッチできない
　　MarketplaceのVMがunmanagedの場合（Managedに変換可）
　　アプリケーションのサポート状況
　　Managedとの価格
### Linux@Azure
　OS DiskのLVM非推奨
　　LVMのUUID被り防止

複数NICなど複雑なVMの作成はCLI
VHDのUtilityツール GO言語製。
CLI2.0でImage作る場合はRHELなどの予約語避ける。使うときにMarketplace行っちゃう。
課金トラブル　原因を自分でチェック→サポートに対応依頼が一番早い

## Azure ML系 「practice over theory」
https://docs.com/user142134/1717/japan-azure-boot-camp
### AzureML
　フリーエディション使えば、サインインなしでチュートリアルできるよ。
　https://studio.azureml.net/
　https://docs.microsoft.com/ja-jp/azure/machine-learning/machine-learning-create-experiment
　APIで入出力できる。
　Cortana Intelligence Gallery
　http://qiita.com/T_Umezaki/items/cfe5d201d926ba53bea5
### Cognitive Service
　デモは英語版が充実してる。
　顔画像から年齢判断、日本語の文字認識など。
### BotFWとQnA
　https://blogs.msdn.microsoft.com/bluesky/2016/12/22/introduction-to-qna-maker-ja/
　QnA日本語版は今のところ精度微妙。英語の認識はよくできてるので、１回翻訳かませばいける？
　Watson Conversationに近い？？？
### CNTK
　海外ならChainerよりかは。。。

## DocumentDB DeepDive
https://www.slideshare.net/takekazuomi/documentdb-deep-drive
　DocumentDB=NoSQLDB Mongoみたいな感じ。
　ローカルSSDなので低レイテンシ
　サーバサイドパーティションの話
　Request Unit
　　リソース消費量の単位。課金に使う。予約制。
　　レプリケーションやってるとその分の消費量もかかる。
　　Request chargeで実際のRU使用量は見える。
　パーティションキーデザイン
　　キーによって、どのパーティションに割り振られるかが決まる。
　　特定パーティションに処理が集中しないようにキーを切る。
　　キーの変更は後からできない。作り直し＝サービス停止しないとダメ。
　　Hotパーティションはコレクションを分けちゃう手も。

　https://docs.microsoft.com/ja-jp/azure/documentdb/documentdb-performance-tips　

## オルターブースさんのAzure事例
マイソースファクトリー（食品のソース作れるサービス）
https://mysaucefactory.com/

Dev
　C#,.NET Core,PHPでAPI作ってSingle Page Application
Ops
　Azure,AWS,さくらのクラウド,IDCF
　Linux,Docker,Ansible,Terraform,serverspec...

AzureのMVPいるのでAzureでやるとして、ASP.NET、LAMPで検討。
自分たちのサービスだから使ってみたい技術を入れちゃえ、と方向転換。
　API中心のアーキテクチャ
　利用ツールたくさん。。。
　フロント～LambdaまでがAWS、そこから後ろがAzure（Docker swarm)のハイブリッドクラウド
　ログ管理はkibana,fluentd,elasticsearch
　監視はZABBIX、コンテナ監視はOMS（ZABBIXだとうまく動かなかった）、アラートはSlackに飛ばしてる
　障害時はSorryページの表示、Route53でAWSのCloudFrontに振り替え
　　Azure内でどうにかしたかった(AzureDNS,TrafficManager,CDN,BLOB)が、ZoneApex使えないので断念
　サービス外障害（JCBカードの決済不可）

　開発はBacklog使ってる
　　全作業をチケット管理、プルリクでコードレビュー
　　ただし通知多すぎ問題→必要な通知をSlackに通知するツールを自作
 
　Jenkinsの通知もすべてSlackへ
　リリース管理はGit Tag、2種類（ステージング・本番）
　Git TagとDocker Tagを合わせる
　Blue Green Deployment
　負荷テストはVisual Studioの機能使ってる

　QA：
　Dockerの本番運用について
　http://postd.cc/docker-in-production-an-update/
　　→オルターブースさんでは突然落ちたりとかには当たってない。ホストはUbuntu。

　とても楽しそうな会社ですね。。。

## LT
### 1:Application Insights Profiler
App Insights=NewRelicみたいなの。
↑＋site extension２つインストールすると使える。
スレッド情報とかイベントデータとか今まで見れなかった情報が見れる。
データ転送量課金なので、価格とリージョンには注意。
### 2:DocumentDBとFunctions
富士フィルム、GXPで事例あり
429問題対策：キューを使ってRUを調整
Functionsを使った並列処理、WebJobsでいいケースもあり　　
### 3:Azureにフィードバックしよう
https://feedback.azure.com/
英語だめなら日本語でも書いてもいい。機械翻訳かけてチームで共有してくれるらしい。
他の人の投稿に投票もできる。
### 4:Azure Media ServicesとPowerApps
Media Services Explorer日本語化されました　
PowerApps
　データソースにExcelを使ったデモ→コーディングなしで動画配信アプリ
### 5:Kubernetes Helm
MSがDeis買収（Kubernetes向けツール開発ベンチャー）
Helm=パッケージマネージャ
　kubectlあればインストール簡単