Azureでクラウドを
何となく理解する
2018年7月8日
内山 良介
step63r
クラウドとは
リソース=サービス
デジタル・トランスフォーメーション
Microsoft社の提唱するIntelligent Cloud / Edge
サービスとしてのクラウド
Infrastructure
as a Service
Software
as a Service
Platform
as a Service
Desktop
as a Service
ネットワーク
ストレージ
OS
ミドルウェア
アプリケーション
デスクトップ
Azureを使ってみる
Azureで何ができるのか?
Demo
無料枠でできるサンプルシステム
30日間/$200の無料枠があります
構築するシステム
Azure Load Balancer
Virtual Network
SQL Database
可用性セット
仮想マシン x2
Azure × Web
Azure
App Service
Azure App Service
Web App
Mobile Apps
API AppsLogic Apps
Functions
Web App
Azure インフラストラクチャ
仮想マシン
Windows Linux
ランタイム
ランタイム
コンテナ
ユーザー
アプリケーション
ユーザーアプリケーション
ユーザーコンテナ
管理ツール
(Kudu)
対応ランタイム
※ 2018年7月現在
Demo
Webアプリを高速デプロイ
Demo
おまけ
Azureで作る分析基盤
Azure × AI
Azure Machine Learning Studio
Demo
Machine Learning Studioで遊ぶ
我々に求められるべきこと
仮想ネットワーク
UDR
負荷分散
Network Security Group
ログ管理
DMZ
WAF
VPN
BGP
AS番号
ExpressRoute
回線帯域NAT
インフラエンジニアですか?
いいえ、システムエンジニアです。
大事なのは「やり方がある」と知っていること
Appendix
参考文献
Microsoft Azure 実践ガイド
インプレス
2017年12月
真壁 徹/松井 亮平/水谷 広巳/横谷 俊介
impress top gearシリーズ
参考文献
• IaaS/SaaS/PaaS/DaaS、それぞれのちがいを詳しく説明。 – 株式会社キャパ CAPA,Inc.
• Azure Web AppをGitで継続的デプロイする – Qiita
• ToruMakabe/ImpressAzureBookDotNetCore
• Azure Machine Learning でいきなり機械学習 – Qiita
• Azure Machine Learning のサンプルを使って機械学習を始めてみよう! – Microsoft Japan Data Platform
Tech Sales Team Blog
• 高機能 Wiki「Crowi」を Docker で手軽に試す - らくがきちょう
• nooby-noob/docker-node-crowi
Thank you!!

Azureでクラウドを何となく理解する

Editor's Notes

  • #3 突然ですがクラウドと言ったら何を思い浮かべるでしょうか?
  • #4 ネットで調べるとクラウドの定義は色々出てきますが、私はこれが一番しっくりきました。 つまり、ネットワークやデータベース、マシンそのものといった「リソース」をサービスとして提供するビジネス、それがクラウドだということです。
  • #5 これは、Microsoftのサミットの基調講演で最近目にする図です。 「デジタル・トランスフォーメーション」とは「ITの浸透が、人々の生活をあらゆる面でより良い方向に変化させる」という概念ですが、MicrosoftはこれをIntelligent CloudとIntelligent Edgeという二つの大きな枠組みで実現しようとしています。 つまり、これからクラウドはより一層ITインフラとしての役割が大きくなっていくだろう、ということです。
  • #6 クラウドの主な種類がこちらです。着色しているところが「ユーザが特に活用する部分」を表します。 Azureは主にIaaSとPaaSを提供しています。
  • #7 今回はAzureを例にご説明します。
  • #8 Azureはここに挙げられているように非常に多くのサービスを提供しています。 例えばCompute、Storage、NetworkingといったサービスはIaaS寄りで、Web and Mobile、Integration、Analytics & IoTなどはPaaS寄りといえるでしょう。更にそれらの中にも細かい機能があり、とてもじゃないですがその全部を今回説明することはできません。
  • #9 言葉で説明していても理解が追いつかないので実際にいじってみることにします。
  • #10 クラウドというと何となくお金がかかるイメージがありますが「お試し」だけなら割と気軽にできて、Azureでは30日間、200ドルの範囲でサービスを試用できたりします。
  • #11 2台に負荷分散された仮想マシンからSQLデータベースにセキュアにアクセスするHTTPサーバを構築してみます。
  • #12 次にAzure App Serviceを利用したアプリケーションPaaSについてご紹介します。
  • #13 Azure App Serviceはユーザアプリケーションを動かすための基盤で、用途別に以下のようなサービスがあります。 Web App Webサイト、Webアプリケーションのための基盤 Mobile Apps モバイルアプリケーションのバックエンドに特化したサービス API Apps REST APIを提供するアプリケーションのための基盤 Logic Apps できる限りコーディングせずにアプリケーションを創るためのワークフローと部品を提供するサービス Functions 小さなコードをイベント駆動で手軽に実行できる基盤
  • #14 今回はWeb Appに絞って説明します。 Web Appはこのようなシステム構成になっていて、グレー部分はAzureが管理しています。そのためユーザは仮想マシンやネットワーク、OS導入やパッチ適用などの維持管理を行う必要がなく、設定したランタイムやコンテナの上にビルド済みのアプリケーションをデプロイするだけでWebアプリを動かすことができます。 またグレー部分は完全なブラックボックスというわけではなく必要に応じて管理ツールからログなどを参照することもできるようになっています。
  • #15 現在、サポートしているランタイムはこの通りです。DockerはLinuxのみ対応です。
  • #16 ということで今度はWebサーバを立ててみましょう。
  • #17 クラウドを活用したWebアプリ紹介のついでにこんなのも。
  • #18 PostgreSQLに蓄積したデータをJupyterで分析し、そのソースコードをGitLabで管理。 設計書やノウハウ的なものをCrowi(マークダウンが使えるWiki)にまとめる。 データの永続化が問題点。
  • #19 せっかくの大阪AI勉強会なのでAIに関連したことも紹介しておきましょう。
  • #20 Azureには「Azure Machine Learning Studio」というGUIベースで機械学習ができる環境が用意されています。 前回ご紹介したSonyの「Neural Network Console」にも似ていて、直感的にDeep Learningを動かすことができます。
  • #21 Azure AI Galleryから適当に。
  • #22 最後になりますが、これからの「クラウドファースト」社会に向けて私の個人的な意見を一言述べさせて頂きます。
  • #23 冒頭の「デジタル・トランスフォーメーション」でも触れましたが、クラウド基盤をベースとして世の中の様々なデバイスがインターネットに接続される時代になってくると思います。 世の中はますます便利になると共にコンピュータインフラが必須のものとなり、クラウドの存在が更に重要になってくることでしょう。 そう聞くと皆さんも「クラウド覚えなきゃ」と感じるかもしれません。
  • #24 ただ、クラウドは一筋縄ではありません。 ネットワークエンジニアやデータベースエンジニアがそれ一つ極めているだけで技術者としての価値を成しているように、インフラは最も基本的かつ難しい技術分野なのです。 クラウドでWebサーバ一つ立てるにしても、お試しならまだいいかもしれませんが、本番運用を考えたら負荷分散がどうだとかプロトコルがどうだとか、セキュリティがどうだとか、色んなことを考えなければなりません。
  • #25 ただ、皆さんはインフラエンジニアになりたいですか? なりたいなら、先ほどのようなことを徹底的に理解し、使いこなせるようになる必要があるでしょう。
  • #26 私は少なくともそうではないです。 別にインフラをやらないからと言ってエンジニアとしての道がないわけではないし、デジタル・トランスフォーメーションの資料のようにクラウドと相互にやり取りするEdgeデバイスを作っていくことだってエンジニアとしての重要な役割なはずです。 そういった「システムエンジニア」の人たちにとって、ではクラウドとは一体どうあるべきなのでしょうか。
  • #27 私は「クラウドでこんなことができる」あるいは「クラウドがあればこんなに便利になる」ということを知識として持っていることが重要なのではないかと思います。 AIもそうですが、一つの技術を極めてそれでやっていくのは容易なことではありません。 結局、どこまでを「基本」の落とし所とするかが焦点になってくるのではないでしょうか。