Microsoft Tech Summit 2018 Day3 #mstsjp18
Day3最終日です。
これから始めるコンテナーの基本と始め方 #CI03
最終日はコンテナーセッションからスタート。
- 分散システム設計の本が無料で読める
- ACRのいいところは複数リージョンに単一レジストリで管理できる
- AKSの事例はIgniteで公開されているので見るいいよ
- AKSのサイトは熱い。アーキテクチャについてものってる。
- コンテナーするのに一番のおすすめはWeb App for Container
- Web App for Containerで足りないならマネージド率が高いものから選択する -> AKS
- ただしK8sは進化が早いのでついて行く覚悟があるか
- さらにCNCF Landscapeにはこんなにコンテナー関係があるから大変だよ
- Web App for Container + Azure Repos + Azure Piplelineデモ
- Azure Cloud Shellはブラウザ内で黒い画面がつかえてエディタもつかえる
- VS Code拡張機能でVS CodeからCloud Shellを呼び出せる
- Igniteのコンテナー関係動画を99個全部見て、その中から見るべき動画を厳選しました! (資料公開後に確認する)
- コンテナー技術は海外ではスタンダードなもの。まずはアプリケーションの近代化から始め、必要性を考えて複雑なものへ(Web App for Container -> AKS)
Azureにおけるコンテナー&サーバーレステクノロジの選択肢と選定ポイント #AD08
Azureにおけるコンテナーサービスの使いどころとアプリケションモダナイズ事例の2本立て。冒頭の宣言通りスライド多く内容盛りだくさんでした。
- Legacy Apps -> Internet Apps -> Cloud Appsに時代にあわせて、アプリもモノリスからマイクロサービスへ
- コンテナー、サーバーレス、マイクロサービスはクラウドネイティブを支える技術
- 分散アーキテクチャで必要になってくるのがオーケストレーション。CaaS
- K8sになり標準化でうまれてくるエコシステム
- コンテナーでやるのかFaaSなのか、IaaSでいくかを考える前に、まずは提供したい価値と優先度を明確化する
- クラウドを最大限利用するにはアプリシエイトのモダナイズ
- では選択したアーキテクチャがOverKill(必要以上に複雑になってないか)
- 複雑なアーキテクチャになると運用負荷が高まりNoOpsという考え方が必要となる
- PaaSやサーバーレスはそのリソースを使うことがNoOpsの思想を持っている
- ACSの利用は非推奨なので、DC/OSやSwarmを使いたい場合はマーケットプレイスからの利用を推奨
事例
- 当時はモダンだったアーキテクチャも機能追加、不具合対応、放置されたリファクタリング、複雑になった機能構成、自動テスト化、パフォーマンス懸念、セキュリティなど問題が。
- その分保守コストがかかる
- モダナイズプロジェクト発足して疎結合で複数チームがスピードを落とさず、最新技術を使えるようにしていく -> マイクロサービスが適してる
- まずはDBは変えずにアプリケーションの一部をモダナイズ化
- HackFestを実施した(きりん+マイクロソフト+オルターブース3社にて)
- HackFestでできたもの。Web App + AKS + OSBA + Azure Database for MySQL + Azure DevOps + ACR
日本企業のためのハイブリッドクラウドガイドライン #CI05
今日も美味しいランチを頂きながら。もぐもくしてたらすごい取り組みをされていた。
- クラウドを導入していくのに参考になるようなガイドラインを作成した
- ダウンロードできる
- 超大作!(100ページすげぇ)
- http://www.hccjp.org/hybridcloudguideline/
- ハイブリットクラウドコミュニティへ参加してAzure Stackを試そう!(準備中)
- 用意するAzure Stackで作ったリソースにはちゃんとPublicIPが付くよ
AKS管理のベストプラクティス #CI32
実際のAKS開発者とMonitor開発者の話が聞けるとかすごいですわ。試される英語力😇同時通訳さんありがとうありがとう。
- チーム環境や開発/ステージング/本番のクラスターの分け方パターン
- それぞれクラスターをわける(物理分離)
- もしくはネームスペースをわける(論理分離)
- どっちがいいわるいはない
- 物理ならクラスターを複数用意するのでコストが増えるし、論理分離はRBACやPodセキュリティが重要になる
- ベストは物理と論理の合わせ技
- デフォルトネームスペースは使わない。ネームスペースを指定しないのは事故の元
- リソースクオーターを設定するべし
- マルチリージョンクラスターはTraffig Managerでわける
- Ingress ControllerはNignxが一番よく使われている
- kube-adovisorを使うとKubernetesベストプラクティスに沿ってないデプロイを探せる
- VSCodeのK8s拡張機能
- ネットワーク
- アプリのセキュリティを確保するためにWAFが必要ならAppGWをいれる。
- つなぎ方はWAFを立ててVNET PeeringでAKS Internal LBへ
- 踏み台
WAFとBastionサーバーでネットワークセキュリティを高める #mstsjp18 #CI32 pic.twitter.com/Vvd7nB9KF9
— 92 (@morita92hiro) 2018年11月7日
- ノードのオートスケール
- Podのオートスケール
- AzureにはACIがある
- virtual kubelet
- ACI Connecterを使えばノードは不要
- virtual kubeletでノード0を実現したい。NoOpsが捗る!
- マルチークラスターの管理は最近Moniterが対応したよ(preview)
クラウドネイティブガバナンスの実現〜Azureガバナンスサービス概要〜 #CI30
ガバナンス機能この辺しっかりやっておかないと。Policy機能をうまく使えばリソース構築の手間が楽になりそうな予感。
- Azureガバナンスをまもるプラットフォーム
- Policy
- Blueprints
- Resource Graph
- Management Group
- Cost Management
- Buleprintsはポリシーを再定義可能な形で定義する
- Resouce Graphはコマンドでおこなう。利用にはAZコマンドのエクステンションが必要
- Resouce Graphはリソースの個数や状態をカウントしたりできる
- まずはドキュメントをみて第一歩を。
- ガバナンス機能はそんなに料金がかからないので試して欲しい。ただし本番では試さないで
インフラエンジニアエボリューション〜激変するITインフラ技術者像、キャリアとスキルを考える〜 #SP04
インフラエンジニアならハンカチなしでは聞けないセッション。エンジニアだけでなく人事の方、経営の方にも見て頂きたいな。HR界隈が騒がしくなりそうだけどw
- Tech Summit No.1のエモさ
- 歴史秘話ヒストリア「トール・マカベッチ」
- コンテナー(物理)のパワーワード
- Bashをいまさらとおもうことなかれ
- キャリア・スキル・働き方に悩んだら、すぐ見られる手元に置いておきたいバイブル
- 担当されたインフラ野郎、NoOpsの3セッションの集大成感
www.slideshare.net
コストと脅威を同時に削減!AzureリソースをAzure ADで効率的に守るためのノウハウ集 #CI01
Tech Summitの最後の〆はAzure ADへ。
- Security DevOpsはサブスクリプションを安全に保つ
- 安全である状態を維持する
- Azure ADによる認証と認可
- RBAC
- モニター
- ガバナンス
- 世界の中心にはAzure ADがある
- Azure ADの管理には2つの方向がある
- サブスクリプションを管理するAzure Resource Management
- アプリケーションサービスプロバイダー
- Azure SQL ServerはAzure AD管理下における。さらに条件付きアクセスで特定アプリ、デバイス、ネットワークを元に制限可
- SQL Database動的データマスク
- アプリをAzure ADに登録する -> ClientIDとClientSecretが払い出される -> 流出するのが怖い
- KeyVaultで管理するにはKeyVaultへのアクセスにAzure AD認可が必要で堂々巡り
- App Settingはよい方法だが運用的にどうか
- 人が介在しない仕組みが必要
- Managed Identity
- AWS IAM Roleと同じ感じ
- VMのManaged IDを有効にするとサービスプリンシパルとして登録されるのでRBACによる管理の対象となる
- Azure Instance Metadata Service (IMSD)
- Azure Functionも同じで特定の環境変数でとれるようになる
- Managed IDはシステム割り当てマネージドIDとユーザー割り当てマネージドIDの2つがあるが、現時点ではシステム割り当てがよい
- Azure AD認証をサポートしてない場合はAzure Resource Manager経由でアクセスして、アクセスキーをKeyVault管理しKeyVaultから取得するようにする
- CI/CDのライフサイクルにBuleprintsで強制ができる
- Managed IDやPolicy、BuleprintsはNoOpsの一つ
- https://azsk.azurewebsites.net
- https://docs.microsoft.com/ja-jp/azure/security/
- Managed IDのローカル環境とAzure環境でプロファイルなどで切り替える。ローカル環境もなにか謎技術でManaged ID出来るようになったらいいな
- ローカルでMSIを使う方法あるようです → Visual Studioで開発時にMSIを使う | ブチザッキ
- 複数台VMをManaged IDで管理したい場合はコマンドで行うか、Azure Policyを使うとよい
Appendex
The Illustrated Children's Guide to Kubernetes
- https://azure.microsoft.com/en-us/resources/videos/the-illustrated-children-s-guide-to-kubernetes/
- https://cdn.chrisshort.net/The-Illustrated-Childrens-Guide-to-Kubernetes.pdf
セッションもさることながら、いろいろな人に出会える現地にいくのは楽しいですね!
Azure定番システム設計・実装・運用ガイド オンプレミス資産をクラウド化するためのベストプラクティス (マイクロソフト関連書)
- 作者: 日本マイクロソフト株式会社
- 出版社/メーカー: 日経BP社
- 発売日: 2018/09/06
- メディア: 単行本
- この商品を含むブログ (1件) を見る