• 検索結果がありません。

"非" MS 技術でも安心! Azure 活用によるアプリケーション開発

N/A
N/A
Protected

Academic year: 2021

シェア ""非" MS 技術でも安心! Azure 活用によるアプリケーション開発"

Copied!
40
0
0

読み込み中.... (全文を見る)

全文

(1)

ROOM

G

“非”

Azure

MS

活用によるアプリケーション開発

技術でも安心!

日本マイクロソフト株式会社

エバンジェリスト

武田 正樹

(2)

.NET 以外 の開発言語を使用した場合の

Microsoft Azure アプリ開発環境構築方法や

Azure SDK の有効性を理解する

仮想マシンではなく、PaaS を活用した

MS 以外の技術によるアプリ開発パターンを理解する

セッションの目的とゴール

(3)

おことわり

✕ 仮想マシン上のアプリケーション開発

• Oracle, SAP などを活用したアプリ開発は取り扱いません

✕ モバイル開発・組込開発

• モバイル開発は、Room F にてセッション開催中です

CDP-012 Microsoft Loves Linux :

Azure で Linux をしっかり使うための基礎知識

DEV-020 Microsoft Azure と連携してつくろう!

(4)

序章

Microsoft Azure

にまつわる

(5)

主なオープンソースへの取り組み

2004 2005 2006 2009 2010 2011 2012 2014 2015 Windows Server 上の PHP サポート CodePlex Hadoop への貢献 SorceForge でWiX 提供 Linux カーネルへの貢献 .NET Foundation .NET Core オープンソース OpenJDK への貢献 F#1.0 Windows 版提供 ASP.NET オープンソース HDInsight: Azure 初の Linux ホストサービス

(6)

オープンなプラットフォーム

開発言語・ツール コンテナ デバイス データベース 構成管理

3rd party サポート

MS 1st party サポート

Web

アプリ

OS

(7)

オープンなプラットフォーム

開発言語・ツール コンテナ デバイス

Web

アプリ データベース

OS

構成管理

3rd party サポート

MS 1st party サポート

(8)

仮想マシンだけではない!

Web Apps

も!

Windows Server Hyper-V ゲスト OS ミドルウェア ランタイム データ アプリケーション

仮想マシン

Win Server 2012 IIS 8.0 ランタイム データ アプリケーション

Web Apps

Go 言語

(9)

オープンな

API

IaaS

PaaS

(10)

2

つの管理

API

リソース管理 API

新しい管理ポータルでは、新しい管理 API が利用されている

サービス管理 API

Service Management API (英語) : https://msdn.microsoft.com/en-us/library/azure/ee460799.aspx Resource Management API (英語): https://msdn.microsoft.com/en-us/library/azure/dn948464.aspx

(11)

PaaS

活用で開発業務に集中

下記の構築・運用作業からの解放 • システム設計・開発、インスタンス配置、ミドルウェアのインストール&設定、 ネットワーク設定、冗長構成の設計、構築、申請 & 発注作業、 • サポート切れ対策、資産管理、システム監視、セキュリティ管理、 リリース管理、障害・回復管理、性能・稼働・変更・構成・配布管理 ExpressRoute(英語): http://azure.microsoft.com/ja-jp/documentation/articles/expressroute-locations/ Azure SLA サイト : http://azure.microsoft.com/ja-jp/support/legal/sla/

専用線接続でオンプレミスの延長として PaaS が利用可能

(12)

序章 まとめ

Microsoft Azure はオープンなパブリック クラウド

PaaS 機能の充実が Microsoft Azure の特長

• オープンソースをサポートしているプラットフォーム

• ほぼすべてのサービスで公開されている API

• 専用線接続でオンプレミスの延長として PaaS が利用可能

• 1 インスタンスでも適用される SLA

(13)

1

(14)

Azure SDK

開発言語ごとに提供

Go 言語

クライアント ライブラリ

ツール

Azure PowerShell

Azure Toolkit for Eclipse 等 Microsoft Azure

クロスプラットフォーム コマンドラインツール

Azure エミュレーター

(15)

Azure SDK

入手方法

ダウンロードサイトからのイントールに注意!

(16)

気を付けよう !

Azure SDK

入手方法

ダウンロードサイトでは、インストールの粒度が異なる

Azure SDK for .NET Azure SDK for Java

Azure SDK for Node.js Azure SDK for PHP

Azure SDK for Python Azure SDK for Ruby

Windows Mac Linux

インストールガイドの Web サイト 実行環境 実行環境 実行環境 実行環境

Microsoft Azure

クロスプラットフォーム コマンドラインツール SDK Azure SDK ダウンロードサイト: http://azure.microsoft.com/ja-jp/downloads/

(17)

注意!

Windows

上で構築される実行環境

Web Platform Installer 5.0 経由でインストール

ツール

Ruby は インストール失敗しますので、 http://rubyinstaller.org よりダウンロードください。 Web Platform Installer 5.0 カタログ: http://www.microsoft.com/web/webpi/5.0/webproductlist.xml

ランタイムバージョン Node.js 0.6.20 PHP 5.3.19 Python 2.7.9 / 3.4.2 Ruby 2.0.0-p353 Azure PowerShell Azure PowerShell Azure PowerShell

Azure SDK for .NET 2.6 ≧ .NET Framework 4.5 Azure SDK for .NET 2.6

Azure SDK for .NET Azure SDK for Java

Azure SDK for Node.js Azure SDK for PHP

Azure SDK for Python Azure SDK for Ruby

(18)

Azure Toolkit for Eclipse

ドキュメント: https://msdn.microsoft.com/library/azure/hh694271.aspx

 Windows 環境の Eclipse for Java EE Developers 用プラグイン

 Mac / Linux 環境の Eclipse でもプレビュー版として利用可能

 Azure SDK for .NET が必要 (エミュレーターとの連携機能のため)

 Java, JMS 用クライアント ライブラリも同時インストール

 インストールされるプラグイン

- Application Insights Plugin for Java - Azure Access Control Services Filter - Azure Common Plugin

- Azure Plugin for Eclipse with Java

- Eclipse IDE for Java EE Developers - MS JDBC Driver 4.0 for SQL Server

(19)

開発環境を構築するには

Windows 環境

実行環境 手動 .NET Java Python その他 IDE・ エディター クライアント ライブラリ コマンドライン ツール

Visual Studio + .NET

手動

手動 手動 手動 Eclipse + Azure Toolkit

SDK

SDK SDK Visual Studio

(20)

Python Tools for Visual Studio

ドキュメント: https://www.visualstudio.com/ja-jp/python-vs.aspx

 Visual Studio 上で Python アプリのビルド、デバッグ、プロファイル、

テスト、デプロイが可能に

 CPython / IronPython をサポート

 Visual Studio 2010 / 2012 / 2013 用

 2.2 RC では 2015もサポート

(21)

クライアント ライブラリ 入手方法

クライアント ライブラリのソース・ドキュメントは GitHub に集約 .NET Java Python 入手方法 jar ファイルダウンロード npm install azure Composer / PEAR gem install azure

Microsoft Azure GitHub サイト: https://github.com/Azure/

Azure Libraries for Java: http://dl.msopentech.com/lib/PackageForWindowsAzureLibrariesForJava.html

SDK に同梱 / nuget Node.js PHP Ruby Go go get -d <URL> Azure Toolkit に同梱 入手方法

pip install azure SDK に同梱

(22)

REST API

をラップ

x-ms-version(英語): https://msdn.microsoft.com/en-us/library/azure/gg592580.aspx

X.509 v3 証明書の用意

• Azure 側 cer 形式の証明書を管理ポータルにアップロード

• クライアント側 pfx(.NET) / jks (Java) / pem 形式の証明書

リクエストに追加

• メソッド GET / PUT / POST / DELETE

• ヘッダー Content-Type, x-ms-version, Authorization

クライアント ライブラリ側で処理

(23)

REST API ライブラリ

122 行

26 行

例:

Java

でリージョンの一覧を取得

クライアント ライブラリ サンプル:

(24)

.NET Java Node.js PHP Python Ruby Go

SDK

に含まれる クライアント ライブラリ

Core

Microsoft Azure GitHub サイト: https://github.com/Azure/

✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔

サービス管理 API

(25)

まずは、

Blob

ストレージとの連携を

デスクトップアプリケーションでも利用可能

データの保存先として活用

ジオ冗長で東日本と西日本リージョンの2拠点に保存

セキュリティーも万全

共有アクセス署名 (SAS) によるアクセス制御が可能

<ライブラリ>

.NET, Java, Node.js, PHP, Python, Ruby, Go 言語, C++, Android

Azure Storage SDK の一覧: https://github.com/Azure/?utf8=%E2%9C%93&query=storage

(26)

1

章 まとめ

開発環境構築は、基本 DIY で

クライアント ライブラリの活用

• Windows 環境の Python は一括インストール可能

• Windows 版には便利なツールも提供

• REST API をラップ

• まずは Blob ストレージの活用から

(27)

2

(28)

関連セッション

各サービスの詳細は関連セッションにご参加ください

DEV-017 Azure App Service Web Apps による

Web アプリケーションの開発と展開

DEV-015 今さら聞けない!

クラウドを使った Search-as-a-Service の活用

(29)

Git

にも対応!

Web Apps

へのデプロイ

Win Server 2012 (32 / 64 bit) IIS 8.0 ランタイム データ アプリケーション

Web Apps

Go 言語

デプロイ Visual Studio Online Git レポジトリ GitHub Bitbucket Dropbox FTP, Web Deploy

(30)

Web Apps

ビルドイン ランタイム

管理ポータルより選択

node.js はアプリケーション設定の値を変更

(4.5 / 3.5 を選択可能) (Tomcat 7 / Jetty 9 を選択可能)

5.4

5.5

5.6

.NET Framework 4.5

1.7.0_51

.NET

Java

PHP

Python

2.7

3.4

0.6.17 0.6.20 0.8.2 0.8.19 0.8.26 0.8.27 0.8.28 0.10.18 0.10.21 0.10.24 0.10.26 0.10.28 0.10.29 0.10.31 0.10.5 0.12.0 0.12.2 0.12.3

0.10.32

(31)

Go 言語もビルドイン

Go 言語のサンプル : https://github.com/takedamasaki555/golangdemo.git

Azure Web Apps に実はビルドイン

<手順>

1. Azure Web Apps のアプリケーション設定で下記を実施

2. Git でデプロイ時、azureapp.exe と Web.Config が生成

(32)

利用可能なデータベース

Microsoft Driver for Node.js for SQL Server: https://github.com/Azure/node-sqlserver

A pure Go MSSQL driver for Go's database/sql package: https://github.com/denisenkom/go-mssqldb

• SuccessBricks 社運営の MySQL サービス

• AUTO_INCREMENT_INCREMENT=10 に注意!

SQL Database

• .NET, Java, Node.js, PHP 5.4-5.6, Python 2.7, Go 言語用ドライバーが提供

DocumentDB

• ドキュメント指向データベース サービス• .NET, Java, Node.js, Python, JavaScript, Hadoop 用ライブラリが提供

(33)

ストレージ・キャッシュサービスとの連携

Redis Client: http://redis.io/clients

• ジオ冗長で 2 リージョンに保存可能 • .NET, Java, Node.js, PHP, Ruby, Python,

Go 言語用ライブラリが提供 • アクセスが集中する場合は、Azure CDN を利用

Blob ストレージ

Redis Cache

• OSS “Redis” 基盤のサービス • 複数台構成時のセッション情報保持など • Redis で利用できる様々な開発言語を 利用可能

(34)

オープンソース利用時に検討を

Apache Hadoop Apache Solr MongoDB Redis MySQL Vowpal Wabbit Redis Cache DocumentDB MongoLab HDInsight Search Machine Learning

(35)

アプリケーション監視サービスとの連携

Application Insights: http://azure.microsoft.com/ja-jp/documentation/articles/app-insights-get-started/ Application Insights GitHub: https://github.com/Microsoft/?utf8=%E2%9C%93&query=application

New Relic

• New Relic 社運営の監視サービス

• Market Place 経由で有効化

Application Insights

• 利用状況分析: ページ ビュー、再訪ユーザー、セッション数 • ログデータの検索、フィルター

• Web アプリケーションの可用性と応答性を監視

• .NET, Java, Node.js, PHP, Python, Ruby, JavaScript, iOS, Android, OSX, WordPress 用ライブラリが提供

(36)

2

章 まとめ

オープンなプラットフォーム “Web Apps”

マネージドサービスの活用

• Git などと同期できるデプロイ機構

• ビルドインされていないランタイムも Fast CGI で動く

• Azure のデータ & ストレージ、データ分析サービスは

オープンソース開発者にも身近な存在に

• アプリケーション監視サービスもマネージドで

(37)

まとめ

Azure PaaS は全開発者にオープン

Microsoft Azure

デプロイ

クライアント

Azure SDK

開発ツール Go 言語 アプリケーション

API

(38)

アンケートにご協力ください。

●アンケートに 上記の Session ID のブレイクアウトセッションに チェックを入れて下さい。

●アンケートはお帰りの際に、受付でご提出ください。

(39)

Ask the Speaker

のご案内

●本セッションの詳細は、EXPO 会場内 『Ask the Speaker』コーナー

Room G カウンタにてご説明させて

いただきます。是非、お立ち寄りください。

Ask the Speaker

(40)

参照

関連したドキュメント

We analyzed the sinogram obtained from the profile data of each image and calculated the true rotational center.. Axial images were reconstructed using filtered

Taichi ISHIZAWA, Satoshi WATANABE, Shingo YANO, Masaki ABURADA , Ken-ichi MIYAMOTO, Toshiyuki OJIMA, Shinya HAYASAKA:Relationship between Bathing Habits and Physical and

 検査に用いた標本は手術直:後に病巣の反対側で噴門

 第一の方法は、不安の原因を特定した上で、それを制御しようとするもので

スライダは、Microchip アプリケーション ライブラリ で入手できる mTouch のフレームワークとライブラリ を使って実装できます。 また

当該事業地内の土地で、土地収用法の規定により

調査方法は、往復はがきによるアンケー ト方式で、2009年4月上旬に1,03 1社に発送し、回答期限までに

2 解析手法 2.1 解析手法の概要 本研究で用いる個別要素法は計算負担が大きく,山