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時間未満でサービス復旧を実現-
・Statusページに障害情報反映されるの遅い。
・DBコピーの進捗率はあてにならぬ。
・SLA割った時の返金はこちらから手続しないとだめ。障害があった翌月まで。
・サポートプランはProDirect(NOTプレミア)での話。
SPOFを作らない、障害時手順の用意と訓練あたりは、24/365のシステム(特にお堅い金融系)では常識な話ではある。
ただコストとトレードオフなので、やればいいってものではないと思う。要件的にそこまでやらんでいいシステムもあるだろうし。
どこまで許容するか・しないかを設計時点で握っておくべきだろうなあ。
サポートエンジニアが紹介する、Azure Portal/CLI 使いこなし
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…安い
※都度確認してね!!!!11
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」
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日本語版は今のところ精度微妙。英語の認識はよくできてるので、1回翻訳かませばいける?
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 extension2つインストールすると使える。
スレッド情報とかイベントデータとか今まで見れなかった情報が見れる。
データ転送量課金なので、価格とリージョンには注意。
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あればインストール簡単