あじゅらーの成長日記

にわかITインフラエンジニアがMicrosoft AzureなどIT関係全般を綴ります。

【まとめ】Global Azure Bootcamp 2017@Tokyo

スポンサーリンク

Global Azure Bootcamp 2017@Tokyoに参加してきたので、内容を備忘録も兼ねてまとめます。
重要そうなところを抑えつつ、気になったところをまとめていきたいと思います。
(★〜)は僕のコメントです。

<目次>

Azureって何よ2017年の最新情報をゆるまとめ

スライド

https://www.slideshare.net/jazug_girls/azure2017

メモ

  • BLOBストレージアカントだとHOTとCOOLを使い分けることができるが、Page Blobはない。つまりVMのディスクは格納できない。
  • Managed Disksが登場したおかげて、ストレージアカウントを意識しなくてよくなった。
  • Marketplace/カスタムイメージを扱いやすくなった。
  • VMディスクの暗号化ができるように。(201609GA)。ただしKey Vaultが必要。
  • App Service
  • Web Apps
  • Mobile Apps
  • Logic Apps(201607GA)
  • API Apps(201608GA)
  • My SQL in App.Web Apps内で利用できるローカルのMySQLインスタンス。(201703GA)
  • 高度なアプリケーション再起動のより、自分で設定した秒数によりアプリを再起動できる。アプリの全断を避けられる。
  • Functions(201611 GA)
  • サーバーレスで処理の実行が可能。
  • FunctionsがVSを使ってローカルで開発できるようになった。
  • Face API(201704 GA)
  • Av2,Dv2(汎用型),F(コンピューティング最適化),L(ストレージ最適化),N(GPU),G(最適化されたメモリと),H(ハイパフォーマンス)
  • VNET Peering.VNET同士の接続が可能に。(★今までも vnet to vnetでできたのでは?)
  • シングルインスタンスでSLAの対象になったインスタンスも。
  • リージョン自体の切り替えはMS側で判断するため、ストレージの切り替えは個別に行われない。
  • azure security centerを使うとポチポチとウイルス対策ソフトをインストールしたりできる。

    Azure 2017年3月障害Deep Dive

    スライド

    https://www.slideshare.net/YutoTakei/azure-75296598

    メモ

  • Azure.moe slack channel(auto invite)
  • ラジオをやっている。毎週木曜日12時。
  • 議題は3月の一回目の東日本のストレージ障害。
  • Root Cause Analysisが大きな障害が発生した場合は公開される。
  • RCAを理解するにはStream Managerの理解が大事なので、Stream Managerが何をしているものか理解するのが目的。
  • ストレージ内にあるオブジェクトに対してのURLはそのままURIになるように設計されている。
  • ストレージの構成
  • ロケーションサービス
  • VIP
  • ストレージスタンプはラック10-20本くらいのサーバの塊
  • フロントエンドレイヤ
  • パーティションレイヤ
  • ストリームレイヤ
  • ロケーションサービスはURLの中身がどこにあるか知っている。
  • Frond End Layer
  • ユーザーからの要求を受け付ける役目
  • パーティションの名前とパーティションが存在しているサーバーとのマッピングを保持して管理している。
  • Partition Layer
  • データの管理(blob,table,queue,file)
  • 強い一貫性を確保する。(★多分書き込み完了するまで、古いの見せるとかなんだろう。)
  • 分割によるスケーラビリティの実現
  • Stream Layer
  • 最終的にデータを永続化する役割
  • データセンタ内で3つのレプリカを作成して維持する。
  • GRSのレプリケーションはPartition Layer。LRSはStream Layer.
  • スタンプ内レプリケーション
  • HW障害のためのデータ耐久性の保持が目的
  • レプリカは同期
  • Stream Layer スタンプ間レプリケーション
  • レプリカは非同期
  • Partition Layer
  • Paxosプロトコル
  • 合意を形成するためのプロトコル
  • 複数の参加者の間で、ある1つの結果について承認を得ること
  • Stream Managerはストリーム、エクステントを管理する。
  • エクステントノードはエクステントとブロックを管理する。
  • Stream Managerへの要求はPartition Layerから。
  • プライマリ1個とセカンダリー2個を決めてPaxosクラスタを形成する。
  • パーティションレイヤがデータを書き込む際にはStream Managerは介在しない。
  • あるエクステントが壊れたらStream Managerがプライマリのエクステントノードに新しく用意したエクステントノードにレプリケーションを支持。
  • (★東日本のRCAに戻ると、「Stream Managerが不健全な状態になったから、エクステントノードに命令が出せなくて落ちた」ということかな?)

    bitFlyerを支える仕組み - Azure障害の中1時間未満でサービス復旧を実現-

    スライド

    まだ公開されていません。

    メモ

  • マイクロソフトのページに事例紹介あり。
  • ビットコインのシステムをAzure上で運用
  • 2016/9/15 DNS障害
  • システム上で発注が一切出せなくなった。
  • 緊急時にはIP直打ち、DNS冗長化が良い?
  • 2017/3/8 東日本ストレージ障害
  • Redis Cacheが死ぬ。
  • Azure Statuで東日本ストレージ障害を確認。
  • 西日本に切り替えた。
  • Multi-AZ構成を事前に検討することが大事
  • 影響範囲と依存関係の明確化。
  • 緊急時手順と予行演習をしていないと見落としがある。
  • 2017/3/28 西日本ストレージ障害
  • Redis Cacheが死ぬ。
  • AWSでは警告アイコンがS3に入ってて出せなかったが、Azureはでた。
  • (すぐに東、西を切り替えられたのはすごい)
  • 2017/3/31 東日本ストレージ障害
  • 22:44に未処理の注文がキューにたまり、監視システムからアラート
  • 22:54 Cloud ServiceのVMに接続ができなくなる。Azure Statusページ確認は「正常稼働」
  • 23:13 Azure Statusページ確認は「正常稼働」.DB以外を西へ移行開始した。
  • 23:28 Azure Portal「東日本サービスが停止しています」
  • サポートに問い合わせするもイケてない。
  • ジオレプリを使っても死ぬときは死ぬ。
  • GRSは実は発動したことはないらしい。(勝手にMSが切り替えるもの?)
  • DNSの設定変更を忘れることなく。必要なところはTTLを短く。
  • Redis Cache
  • 起動までに30分かかるので、事前に作っておくことなども考慮したほうがよい.
  • Geoレプリ
  • とりあえずFailoverしてからスケールアップ
  • SQL Database
  • 1つのDBから同時コピーすると遅くなる。
  • コピーよりgeoリストア推奨
  • コピー元DBでreconfigurationが発生していた。それによりDBのコピーに時間がかかってしまった。
  • SQL Databaseクエリプランの強制に失敗する場合がある。
  • SQL Databaseはセカンダリもプライマリと同じ100%.
  • (QA)返金は障害があった翌月までにSRをサブスクリプションごとにあげる必要がある。
  • (QA)プレミアじゃないとサポートは過去の情報が引き継がれない。
  • (QA)3つのリージョンでサービスを提供して、2/3返ってきたらOKという構成にしてはいかがですか。

    サポートエンジニアが紹介する、Azure Portal/CLI 使いこなし

    スライド

    https://docs.com/tanaka-takayosh/a8d11684-d658-4789-9405-744106cbbb96/2017-04-22-azure-portal-cli

    メモ

  • 最近はAzure CLI 2.0推しを感じる。
  • Azure CLI Shell 2.0もGAした。コマンドの補完もしてくれるしとても便利そう!
  • リソースはタスクごとに作成している。新しい機能を調査する場合も新しいリソースグループで。
  • レイテンシーが気にならない場合は一番安いwestus2か少し安くレイテンシ遅くないjapanwestに。
  • 無駄遣い帽子のために、Azure Automationで定期削除を。
  • Azure AutomationはAzure版のタスクスケジューラ。実例入りのドキュメントもたくさん。高度な作業はDSC、単純作業はRunbook。
  • UnmanagedなVMにManagedなDiskはattachできない。
  • MarketplaceのVMがもともとUnmanagedだとManagedにするには変換が必要。
  • Managed Diskはさいずによる課金が階段状.32GBと33GBの値段は倍。(standard)
  • Azure上ではOSディスクのLVNは非推奨
  • OSディスクをLVMにするとUUIDがかぶるので復旧が大変。
  • OS Diskの暗号化はディストリビューション次第.
  • ImageからVMを作成する際は予約語を使うとMarketplaceのものが使用される可能性がある。
  • 課金明細をダウンロードしてあたりを付けてからサポート問い合わせすると楽。

    Azure ML系 「practice over theory」

    スライド

    https://docs.com/user142134/1717/japan-azure-boot-camp

    メモ

  • Cortana Intelligence GalleryにMLのサンプルがたくさんおいてある。
  • Cognitive Servicesは英語版の方がデモ環境が整っている。
  • BotFrameworkでQ&AをBot化できる。
  • BotFrameworkはWest USリージョンが良い。裏で動いているファンクションが同一リージョン。

    DocumentDB DeepDive

    スライド

    まだ公開されていません。

    メモ

  • SQLでクエリができるスキーマフリーなNoSQL
  • 勝手にindexing
  • レイテンシが保証されている。
  • Read:<10ms,write:<15ms
  • Partition KeyによってどこのPartitionが使われるかが選択されるため、Key選びは大事。
  • 全体に負荷がかかるよなkeyにする。
  • トランザクションはPartitionをまたげないので、Partition Keyの選択は大事。
  • Partition key rangeを取得することができる。
  • Partition切る設計を間違えると、思い通りの性能がでない。 
  • クエリにPartition Keyを指定しないとクライアント側で処理が必要で大変。

オルターブースさんのAzure事例(松村さん、森田さん.NET CoreとACS、Web Apps)

スライド

メモ

  • Web AppsをフロントにバックはAPIを呼び出す方式。
  • ログはfluentdを動かしてelasticsearchに入れて、kibanaで可視化。
  • エンドポイントの監視はZABBIX.結果はslackに
  • コンテナの監視はOMS.ZABBIXのリソース監視はうまく動かなかった。
  • Route53からプライマリでWebApps、セカンダリはCloudFront.
  • Route53はAlias機能でZone Apexが使えた。Azure DNSとTraffic Managerは使えなかった。
  • チケット管理はBacklog.プルリクストはコードレビュー。
  • Backlogの通知が多すぎるから、Web hookからAzure Functionを使って個人のSlackに通知。
  • Docker pullでAzure Container Serviceにデプロイ。
  • リリース管理はGit Tag.
  • Tagは2種類(staging/honban)
  • tagの指定で本番デプロイ
  • chromeの操作履歴をトレースして負荷テストできる。VS Team Testの機能
  • 自社サービスで徹底的にいばらの道を楽しむ。受託開発は安定.
  • アイデアソンは肉食べながら、寿司食べながら、ビール飲みながら。
  • Dockerを使った本番運用は調べても全然出てこない。
  • (QA)DockerがHostプロセスを巻き込んで死ぬ減少があるがどうか。->今のところない。

Application Insights Profiler

メモ

  • App Insightsはポータルからぽちぽちして作れる。
  • Site Extension(App insightsとProfiler)を入れると使える。
  • ポータルからインストールすると表示上は失敗するが、裏では動いていてインストールできる。
  • Windowsのイベントログも見れるようになる。

    DocumentDBとFunctionsの良い関係

    メモ

  • DocumentDBはレイテンシが早い、スケーラビリティがある。
  • 429問題で苦労した。キューを使ってRUの調整。

    Azureにフィードバックしよう

    メモ

  • フィードバック方法はフィードバックサイトに投げましょう。
  • https://feedback.azure.com/
  • BUG対応もしてくれる。
  • 最悪日本語でOK.

    Azure Media Serviceで初めてPower Apps使ってみた

    メモ

  • プログラムしなくても動画配信ができる。

    Kubernetes Helmから始めるコンテナ生活

    メモ

  • Kubernetes
  • コンテナオーケストレーション
  • Helmを使うと管理が簡単に。
  • Helmを使うと使いたいアプリのデプロイが簡単.

    その他

  • JAZUG TOKYO NIGHT 6/22(木)
  • JAZUG 女子部主催 インフラ野郎 5/17(水)