ベンダーロックインからの解放!app service on linux と azure db for mysql/postgresql

55

Upload: miho-yamamoto

Post on 21-Jan-2018

709 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 2: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

注意事項

• この資料は 2017 年 9 月 27 日時点での情報をもとに作成されています。

• この資料は 2017 年 9 月 27 日時点で一般提供(GA)されていないAzure Database for MySQL/PostgreSQL の情報となるため、実際に一般提供される際に変更される可能性がございます。

あらかじめご承知おきください

Page 3: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure

Page 4: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

42https://azure.microsoft.com/ja-jp/regions/

100 カ所以上のデータセンター ネットワーク網が全世界で Top 3 の 1 つ

Central US

Iowa

West US

California

North Europe

Ireland

East US

Virginia

East US 2

Virginia

US GOV

Virginia

North Central US

Illinois

US GOV

Iowa

South Central US

Texas

Brazil South

Sao Paulo

West Europe

Netherlands

China North *

Beijing

China South *

Shanghai

Japan East

Saitama

Japan West

Osaka

India South

Chennai

East Asia

Hong Kong

SE Asia

Singapore

Australia South East

Victoria

Australia East

New South Wales

* Operated by 21Vianet

India Central

Pune

Canada East

Quebec City

Canada Central

Toronto

India West

Mumbai

Germany East

Germany West

UK West

UK East

Operated by Deutsche Telekom

West US2

California

West Central

US

Korea Central

Seoul

Korea South

TBA

US East

DoD

US GOV

Texas

France

Central France

South

US GOV

Arizona

US Central

DOD

regions around the world

Page 5: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 6: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

実は 2016年11月からLinux Foundation Platinum Member

Page 7: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Microsoft joins theLinux Foundation

Page 8: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 9: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

実は 2014年からずっと…

実は GitHubのTop Contributor

Page 10: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

出典:https://octoverse.github.com/

Page 11: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 12: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Applications

Clients

Infrastructure

Management

Databases &

Middleware

App Frameworks

& Tools

DevOps

PaaS &

DevOps

Page 13: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

PaaS = Platform as a Services

IaaS = Infrastructure as a Services

WebApps

MobileApps

API Apps

Notification Hubs

HybridCloud

Backup

StorSimple

Azure SiteRecovery

Import/Export

SQL Database DocumentDB

Redis Cache

AzureSearch

StorageTables

SQL DataWarehouse

Azure AD Health Monitoring

AD PrivilegedIdentity Management

OperationalAnalytics

Cloud Services

BatchRemoteApp

ServiceFabric

Visual Studio

ApplicationInsights

VS Team Services

Domain Services

HDInsight MachineLearning Stream Analytics

Data Factory

EventHubs

Data LakeAnalytics Service

IoT Hub

Data Catalog

Security & Management

Azure ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

Store/Marketplace

VM Image Gallery& VM Depot

Azure ADB2C

Scheduler

Xamarin

HockeyApp

Power BI Embedded

SQL Server Stretch Database

MobileEngagement

FunctionsCognitive Services Bot Framework Cortana

Security Center

Container Service

VM Scale Sets

Data Lake Store

BizTalkServices

Service Bus

Logic Apps

API Management

Content DeliveryNetwork

Media Services

Media Analytics

Page 14: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

ストレージ

サーバー

ネットワーク

OS

ミドルウエア

仮想化

データ

アプリケーション

ランタイム

OS

ミドルウエア

データ

アプリケーション

ランタイム

ユーザー管理

アプリケーション

データ

ベンダー管理

Microsoft Azure 仮想マシンWindows Server Hyper-V

Windows Server Microsoft AzureApp Services

Office 365Dynamics 365 など

ベンダー管理

ベンダー管理

ユーザー管理

ユーザー管理

Page 15: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

…車を買って、管理する …必要なだけレンタル

洗車?メンテナンス?不要。

…必要な時だけサービス!コードを切り分け- 革新的なアプリをアプリケーションプラットフォームを使用して作成

Page 16: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 17: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

App Service

Environments

アプリケーションを安全に実行するための完全に分離された専用環境を実現できます。

Functions

イベント ドリブン型のサーバレスコンピューティング

Web App for

Containers

コンテナベースのWeb アプリ

Web App

Page 18: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

色々な開発環境• .NET Framework, PHP,

Python, Node, Java, ..

• リモートデバッグ

• DevOps

• ステージングデプロイのためのサイトスロット

• サイトエクステンションギャラリー

• ブラウザーベースのエディタ

• Kudu

• など

フルマネージ

• スケールアップ、スケールアウト

• オートスケール

• WW のデーターセンター

• OS と Framework

• ロードバランサー

• モニタリング&アラート

• Web ジョブ(WebJobs)

• サービスの再起動

• など

Enterprise

• Enterprise グレードの SLA

• セキュリティとコンプライアンス

• ロールベースアクセスコントロール

• バックアップスケジュール

• カスタムドメイン、SSL証明書

• Azure Active Directory 統合

• オンプレミス統合 VNET統合/ハイブリッド接続

• App Service Environment

• など

Page 19: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 20: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Bring your code Bring your container

数秒で Azure にデプロイ オンデマンドで容易にスケール

アジャイル Web 開発ニーズのために設計

Page 21: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

IntelliJ

Page 22: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Docker CLI

Visual Studio Code (などの高度なエディタ)

Docker Extension

Docker イメージの管理

Docker Hub

Azure Container registry

Page 23: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

基本は FTP

ソース管理 / Continuous Deployment (CD)

Github

Azure Container Registry

Docker Hub

Private registry

Continuous Delivery ( Preview) – VSTS

Page 24: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 25: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 26: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 27: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

https://azure.microsoft.com/en-us/try/app-service/

注意:サブスクリプションなしで試せますが、時間が経つと消えます。

Page 28: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 29: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

開発のきっかけは User Voice

Page 30: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

DB-Engines. “DB-Engines Ranking”. solid IT Gmbh, 2017. Accessed 10 May 2017 at <http://db-engines.com/en/ranking-trend>

Kerschberg, Ben. “How Postgres and Open Source are Disrupting the Market for Database Management Systems”. Forbes. 8 Mar

2016

商用データベースおよび OSS Database の利用動向

70%2018年までに作成されるアプリのバックエンドのうち実に 70% が OSS Database で構成されると見込まれている

Page 31: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure Database for PostgreSQL

Azure Database for MySQL (Preview)

• IaaS ではなく、PaaS

• インスタンスチューニングではなく必要なスループットプランを必要なときに選択

• バックアップ、リストア、パッチ適用などの作業はおまかせで

• SaaS アプリケーションに最適のフルマネージド サービス

• 高可用性と高セキュリティを両立

• ダウンタイム無しでスケールアップ、スケールダウンも自在

• 既存のドライバ、ライブラリ、ツールと完全互換使い慣れたツール、アプリケーションでからすぐに利用可能

MySQL

PostgreSQL

New!

Page 32: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

• Azure SQL Database と共通基盤• これまでの運用実績、ノウハウをフィードバック「枯れた」基盤で運用• Virtual Machine 上ではなく、”Service Fabric” 上に実装

PostgreSQL

(preview)

MySQL

(preview)

Po

wer

BI, A

pp

Serv

ices,

Data

Fact

ory

, A

naly

tics

, M

L,

Co

gnitiv

e, B

ot…

Global Azure with 40 Regions

Compute & Service Fabric

SQL DW

Storage

SQL Database

Flexible: On-demand scaling, Resource governance

Trusted: HA/DR, Backup/Restore, Security, Audit, Isolation

Intelligent: Advisors, Tuning, Monitoring

Azure Managed

Database

Service

Page 33: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure

Azure Database for PostgreSQLおよび

Azure Database for MySQL 共通

• 論理DB : “インスタンス” ではない• 1 対多のデータベースを作成可能• リソースはすべて同じ論理サーバ内の

DB 間で共有• Database の “エンドポイント”• フェイルオーバーは自動• 接続制御はファイアウォールの

ルールベースで実施

必要なスループットプランの選択だけで OK

Page 34: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure リージョン

Azure Resource

Manager

Application

Postgres

Client

Database Tools(Pgadmin, psql)

Postgres

Client

Database Tools(MySQL Workbench,

mysql Client)

MySQL

Client

Azure Database

Mgmt Service

Application

MySQL Client

REST API

AzurePortal

Custom Mgt. Applications

Azure CLI

Page 35: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure リージョン

Database Server

サーバーマネジメントAzure Database

Mgmt Service

Azure Resource

Manager

REST API

AzurePortal

Custom Mgt. Applications

Azure CLI

server=myserver.<mysql/postgres>.database.azure.com

pg1PG1

IP1:5432 or 3306retry

Gateway

• いったん接続が切れても内部ゲートウェイでリトライしてくれるのでアプリケーションは切断の影響を受けにくい

• さらに慎重を期すならば、長時間トランザクションを避ける実装にすることがおすすめ(トランザクションは接続オブジェクトに紐づくため)

Page 36: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

AZURE DATABASE FOR MYSQL AND POSTGRESQL

REGION AVAILABILITY TODAY

West US, North Central US, East US, East US2, South Central US, West

Europe, North Europe, Japan West, Japan East, East Asia, SE Asia, West India, Central India

More coming soon!

13Azure regions available today

Page 37: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 38: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

MySQL

PostgreSQL

Azure Database for MySQL – Can’t restore database with error “Got error 1 from storage engine”

https://blogs.msdn.microsoft.com/azuresqldbsupport/2017/06/08/azure-database-for-mysql-cant-restore-database-with-error-got-error-1-from-storage-engine/Do you have an idea or suggestion based on your experience with Azure Database for MySQL?

https://feedback.azure.com/forums/597982-azure-database-for-mysql/suggestions/19271050-add-myisam-engine-support

Page 39: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 40: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 41: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 42: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

• MySQL Workbench や pgAdminなど既存のツールを使用して、Azureに移行することが可能

• Azure Data Factory でデータを移すことも可能

MySQL

PostgreSQL

Page 43: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

99.99% SLA (GA 時) | フルマネージド |組み込みフェイルオーバー| オンラインでパフォーマンス変更可能

ユースケースシナリオ

• IOPS が変動してもよい• 低めのワークロード• 必要なスループットが Max 100

コンピューティングユニットでよい

プロビジョニングされた IOPS で全体のスループットを重視し、IO とCPU バランスが最適化されたオンデマンドスケーリングを必要とするアプリケーション向け

コンピューティングユニット

50, 100100, 200, 400, 800(近日1600、2000提供予定)

Storage50GB → 1TB磁気媒体

125GB → 1TB (*)リモート SSD(* GA 後 Larger Storage Option が選択可能になる予定)

IOPS 可変最初の 125 GB は 375以降 1 GB ごとに 3 IOPS 増加

サポートされているバージョン

Native PostgreSQL 9.5 and 9.6

管理レイヤー Azure Portal, Azure CLI, APIs

https://azure.microsoft.com/ja-jp/pricing/details/postgresql/

※ これらは Public Preview 版の情報であり、今後変更になる可能性があります

Page 44: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

99.99% SLA (GA 時) | フルマネージド |組み込みフェイルオーバー| オンラインでパフォーマンス変更可能

ユースケースシナリオ

• IOPS が変動してもよい• 低めのワークロード• 必要なスループットが Max 100

コンピューティングユニットでよい

プロビジョニングされた IOPS で全体のスループットを重視し、IO と CPU

バランスが最適化されたオンデマンドスケーリングを必要とするアプリケーション向け

コンピューティングユニット

50, 100100, 200, 400, 800(近日1600、2000提供予定)

Storage50GB → 1TB磁気媒体

125GB → 1TB (*)

リモート SSD

(* GA 後 Larger Storage Option が選択可能になる予定)

IOPS 可変最初の 125 GB は 375

以降 1 GB ごとに 3 IOPS 増加

サポートされているバージョン

Community Version MySQL 5.6 / 5.7

管理レイヤー Azure Portal, Azure CLI, APIs

https://azure.microsoft.com/ja-jp/pricing/details/mysql/

※ これらは Public Preview 版の情報であり、今後変更になる可能性があります

Page 45: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

運用負荷軽減 高可用性 セキュリティ 利便性

• 既存の実績ある基盤上で動作

• OS、ミドルウェアの面倒は不要

パッチ適用、バックアップ、リストアなども不要

• 監視メトリック用意済み

メール通知なども設定OK

• 可用性担保のためのレプリカ、ストレージ費用は追加不要

• ダウンタイム無しでスケールアップ、スケールダウン自在

• 標準冗長化。自動フェイルオーバーを実装

• 基盤となる Azure の高度なセキュリティ

• 常時暗号化でバックアップも運用 DB も保護

• 既定で設定されたホワイトリスト形式のファイアウォール

• 既定で SSL を要求

• 使い慣れた既存のツール、言語で利用可能

• マイクロソフト製のツールやドライバなどは不要

Page 46: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Binary Log File Position Based Replication

https://dev.mysql.com/doc/refman/5.7/en/binlog-replication-configuration-overview.html

Page 47: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 48: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Read

Write

Logs

Page 49: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

https://aka.ms/MySQL_Replication

Page 50: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

• 数分間で簡単にプロビジョニング

• 標準で冗長化され、自動フェイルオーバー

• 複数リージョンをまたがったレプリケーションが可能

• ユーザーによるストレージ管理不要の自動バックアップ(35日間)

• アプリケーションのダウンタイム無しでスケーリングが可能

• 休止中でも動作中でもデータを保護する高度なセキュリティ

Page 51: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

• パッチ適用はデータセンター側で実施

• メトリックの履歴は 30 日分保持

• メトリックアラートルール作成もポータル上から可能

• サーバログは 7 日分保持

• データベースエンジンのパラメータのカスタマイズ可能

Page 52: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

Azure Database for MySQL

https://feedback.azure.com/forums/597982-azure-database-for-mysql

Azure Database for PostgreSQL

https://feedback.azure.com/forums/597976-azure-database-for-postgresql

• 直接研究開発チームに要望を上げることが可能なフォーラム• すでに上がっている要望に対し投票することも可能

Page 53: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 54: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL
Page 55: ベンダーロックインからの解放!App Service on Linux と Azure DB for MySQL/PostgreSQL

本書に記載した情報は、本書各項目に関する発行日現在の Microsoft の見解を表明するものです。Microsoftは絶えず変化する市場に対応しなければならないため、ここに記載した情報に対していかなる責務を負うものではなく、提示された情報の信憑性については保証できません。

本書は情報提供のみを目的としています。 Microsoft は、明示的または暗示的を問わず、本書にいかなる保証も与えるものではありません。

すべての当該著作権法を遵守することはお客様の責務です。Microsoftの書面による明確な許可なく、本書の如何なる部分についても、転載や検索システムへの格納または挿入を行うことは、どのような形式または手段(電子的、機械的、複写、レコーディング、その他)、および目的であっても禁じられています。これらは著作権保護された権利を制限するものではありません。

Microsoftは、本書の内容を保護する特許、特許出願書、商標、著作権、またはその他の知的財産権を保有する場合があります。Microsoftから書面によるライセンス契約が明確に供給される場合を除いて、本書の提供はこれらの特許、商標、著作権、またはその他の知的財産へのライセンスを与えるものではありません。

© 2017 Microsoft Corporation. All rights reserved.

Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。

その他、記載されている会社名および製品名は、一般に各社の商標です。