Download - 実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶAzure サービス適用パターン 2015/09/11
浅見 城輝株式会社 pnop / Cloudlive 株式会社
©2015 pnop, Inc.
© 2011 Microsoft CorporationAll Rights Reserved.
About me
浅見 城輝(あさみ くにてる)
kuniteru.asamiFind me
Database
Azure 2012~
Microsoft Azure
©2015 pnop, Inc.
http://www.cloudlive.jp/http://www.pnop.co.jp/
Microsoft Azure
Microsoft Azure の特徴を活かした設計、開発、構築により
最適な環境を実現Windows / Linux 対応
コンサルティング サービス
©2015 pnop, Inc.
Microsoft Azure 自習書シリーズ
http://blogs.msdn.com/b/windowsazurej/archive/2014/06/02/blog-published-azure-self-learning-series.aspx
Azure msdn 自習書検索
©2015 pnop, Inc.
Microsoft Azure スライド シリーズ
http://www.slideshare.net/MicrosoftAzure_Japan/presentations
©2015 pnop, Inc.
弊社が携わった Azure プロジェクト例ゲーム ERP クレジット EC POS ヘルスケア 交通
地域 広告 書籍 天気 写真 CMS 占い
駐車場 イベント サイネージ IoT HPC パッケージ OSS
©2015 pnop, Inc.
AgendaAzure のサービスPaaS と IaaSData store構成例
©2015 pnop, Inc.
Azrue のサービス
Powered by Kamebuchi@pnop
©2015 pnop, Inc.
Paas と IaaS
©2015 pnop, Inc.
PaaS と IaaSどちらにしたらいいですか?
©2015 pnop, Inc.
選択する理由目的を実現することができる導入コストが低い運用コストが低い障害発生率が低い障害時の復旧時間が短い障害時の復旧が容易エンジニアの確保が容易学習コストが低いetc…
©2015 pnop, Inc.
仮想マシン クラウドサービス Web Apps
©2015 pnop, Inc.
Web Appsクラウドサービス仮想マシン
◎△○環境構築の容易さ
△○◎自由度の高さ
◎○△運用コストの安さ
\12.04/h (S1)\9.59/h (A1)\10.82/h (Windows
A1)\8.27/h (Linux A1)
Azure 費用
©2015 pnop, Inc.
v
v
Web Apps
クラウドサービス仮想マシン
©2015 pnop, Inc.
Web AppsWeb アプリケーションの場合はまずは Web Apps を検討すべき
言語は以下に含まれること.NET, PHP, Java, Python, node.js あるいは 静的ファイル
言語の細かいバージョンにこだわらないことインストールが必要なミドルウェアやエージェントなどがないことWAF を必要としないこと
Barracuda WAF が Web Apps にも対応していますが、 Web Apps だけでは実現できませんVPN や Azure 内部のネットワークからアクセスする必要がないことActive Directory に所属する必要がないこと
OS 、 Web サーバー、言語ランタイムのアップデートの管理が不要アプリケーションの展開が簡単素早いオートスケールが可能
©2015 pnop, Inc.
クラウドサービスOS 、 Web サーバー、 .NET Framework のアップデートの管理が不要
.NET 以外の言語を利用する場合は、そのアップデートの管理が必要多くのミドルウェアやアプリケーションを利用可能オートスケールが容易インスタンス内に保存したデータや設定は永続化されない
初期設定は可能ですが、後で変更するとメンテナンスや障害などによる再起動時に初期化されますデータは Azure Storage や SQL Database などの外部データストアに保存します
アプリケーションの展開方法にややクセがあるAzure を利用し始めていきなりクラウドサービスは難易度がやや高い
©2015 pnop, Inc.
仮想マシン普通の Windows Server 、 Linux Server として利用することができる
OS に対応しているアプリケーションであれば何でもインストールすることができるクラウド向けのライセンスを確認すること
ローカルディスクに保存したデータが永続化されるDocker 、 Chef 、 Puppet などを利用可能OS やインストールしたミドルウェアなどのアップデートの管理が必要
ロードバランスされている Web サーバーでWindows Update が同時に動いていいのか?
OS やアプリケーションのアップデートを凍結しても、ホスト OS のアップデートの影響を受ける
©2015 pnop, Inc.
Data Store
©2015 pnop, Inc.
MySQL使いたいんです
©2015 pnop, Inc.
Azure で利用できる主なデータストアRDBMS NoSQL BLOB Data on IaaS
SQL Database Table Storage DocumentDB BLOB Storage 仮想マシン
ClearDB Redis Cache
©2015 pnop, Inc.
RDBMS を利用するなら
vDB on 仮想マシン
SQL Database
ClearDB???
©2015 pnop, Inc.
SQL DatabaseMicrosoft SQL Server 互換の DBaaS3 重化されており、 Master の障害時には瞬時に Slave が自動で昇格非同期ではあるが Read only replica の作成が可能 ( 同一 DC / 異なる DC)自動でバックアップが取得されており、 PITR が可能.NET ではライブラリにより Sharding が可能データサイズの制限 (MAX 500GB)TimeZone が UTC 固定一部の関数やストアドプロシージャ、SQL Server Agent / Job などサポートされない機能があるスロットリングがある
©2015 pnop, Inc.
ClearDBサードパーティから提供されている MySQL 互換の DBaaSAzure 上で稼働している3 サーバーでのマルチマスタレプリケーション構成自動で日時バックアップを取得
©2015 pnop, Inc.
DB on 仮想マシン仮想マシン上にユーザー自身で任意の RDBMS を構築するMicrosoft SQL Server 、 Oracle Database 、 IBM DB2 が公式に対応を表明
SQL Server は、 Azure に対応した機能を持つMySQL 、 PostgreSQL なども利用可能Premium Storage を利用するのが定石
全ての Disk を Premium Storage にしなくてもよいAzure のメンテナンスや障害による仮想マシン再起動への対策として可用性の高い構成が必要インスタンスサイズによるがデータベースの最大サイズは 64TB
※ トランザクションログ、バックアップ領域なども含む (SQL Server は除く )
©2015 pnop, Inc.
SQL Server の高可用性構成AlwaysOn 可用性グループ
同期コミットによるレプリケーション
©2015 pnop, Inc.
可用性セット
SQL Server AlwaysOn 可用性グループ
Worker ロール(クラウドサービス)Web ロール(クラウドサービス) 仮想マシン
ILB
SQL Serveron 仮想マシン SQL Server
on 仮想マシン
同期コミット
WSFC ノード AD DC AD DC
可用性セット
©2015 pnop, Inc.
Oracle Database の高可用性構成Oracle GoldenGate双方向 / マルチマスタ レプリケーション
Oracle Data GuardREDO ログ転送によるミラーリング
Oracle RAC は構成できない
©2015 pnop, Inc.
Oracle GoldenGateActive - Active双方向 / マルチマスタ レプリケーション必要なデータのみをレプリケーションOracle Database Standard Edition でも利用可能
©2015 pnop, Inc.
Oracle GoldenGate
GoldenGate GoldenGate
双方向同期
Oracle DBon 仮想マシン
ILB
Worker ロール
Oracle DBon 仮想マシン
Web ロール 仮想マシン( クラウド サービス )
Web ロール 仮想マシンWorker ロール
CTF/TAF*CTF/TAF*CTF/TAF*
( クラウド サービス )
* CTF = Connection Time Failover, TAF = Transparent Application Failover
可用性セット
©2015 pnop, Inc.
Oracle Data GuardActive - Standbyディザスタ リカバリを目的とした REDO ログ転送によるミラーリングファスト・スタート・フェイルオーバーによる切替
©2015 pnop, Inc.
可用性セット
可用性セットOracle Active Data Guard
Data Guard Data Guard
REDO ログ同期転送
Oracle DB EEon 仮想マシン Oracle DB EE
on 仮想マシン
Web ロール(クラウドサービス) 仮想マシン
CTF/TAF*CTF/TAF*
Worker ロール(クラウドサービス)
CTF/TAF*
オブザーバー オブザーバー
* CTF = Connection Time Failover, TAF = Transparent Application Failover
©2015 pnop, Inc.
MySQL の高可用性構成MySQL Cluster
MySQL 標準のクラスタGalera cluster for MySQL
マルチマスタ レプリケーション
©2015 pnop, Inc.
MySQL ClusterMySQL 標準のクラスタ機能NDB ストレージエンジン通常の MySQL Server に加えて、クラスタをサポートするバイナリ、 NDB ストレージ エンジン、NDB ストレージ マネジメント サーバーが必要
©2015 pnop, Inc.
可用性セット
可用性セット
可用性セットMySQL Cluster
ILB
Worker ロール
SQL ノードon 仮想マシン
Web ロール 仮想マシン
Data ノードon 仮想マシン Data ノード
on 仮想マシン
SQL ノードon 仮想マシン
管理ノードon 仮想マシン管理ノード
on 仮想マシン 管理クライアントon 仮想マシン
©2015 pnop, Inc.
MySQL Galera Clusterマルチマスタ レプリケーションInnoDB ストレージエンジンGalera Cluster 対応の MySQL / MariaDB / PERCONA Server と wsrep API を利用http://galeracluster.com/
©2015 pnop, Inc.
可用性セット
MySQL Galera Cluster
wsrep API wsrep API
MySQLon 仮想マシン
Worker ロール
MySQLon 仮想マシン
Web ロール 仮想マシン
wsrep API
MySQLon 仮想マシン
ILB
©2015 pnop, Inc.
クラスタソフトの利用市販されている / OSS のクラスタソフトを利用することも可能
NEC CLUSTERPROSIOS LifeKeeperPacemaker + Corosyncetc…
Worker ロール(クラウドサービス)Web ロール(クラウドサービス) 仮想マシン
ILB
仮想マシン 仮想マシン
レプリケーション
可用性セット
©2015 pnop, Inc.
構成例
©2015 pnop, Inc.
とあるゲームの初期計画構成イメージ
Apple Push Notification Service
Google Cloud Messaging
仮想マシン管理サーバーPHP
ロードバランサー
ロードバランサー
ロードバランサー
DocumentDBログ出力先
クラウドサービスゲームサーバーnode.js
Storage Queue
クラウドサービスミニゲームサーバーnode.js
Redis Cache
仮想マシン通知サーバーPHP
クラウドサービスロジックサーバーC#.net
運用管理者
ユーザー
MySQL on 仮想マシンゲーム DB(Sharding & Read only replica)
©2015 pnop, Inc.
とあるゲームの運用構成イメージ
Apple Push Notification Service
Google Cloud Messaging
Web App管理サーバーPHP
ロードバランサー
ロードバランサー
ロードバランサー
Storage Tableログ出力先
クラウドサービスゲームサーバーnode.js
Service Bus Queue
Web Appミニゲームサーバーnode.js
Redis Cache
Nortification Hubs通知サーバークラウドサービスロジックサーバー
C#.net
運用管理者
ユーザー
SQL Databaseゲーム DB(Sharding and Active geo-replication)
JAZUG のご紹介 Japan Azure User Group
略称: JAZUG( じゃずゆーじー ) http://r.jazug.jp コミュニティ活動概要 :
「 Microsoft Azure を通じて、技術、交流、実ビジネスを楽しむ。」“ちょっと興味がある = ゆるふわな方” から “実ビジネスで使うんだよね” な方まで大歓迎!ゆるふわコミュニティです。
JAZUG への参加は Facebook で。 Japan Windows Azure User Group ( Facebook ページ) https://www.facebook.com/jazug.jp Japan Windows Azure User Group ( Facebook グループ) https://www.facebook.com/groups/jazug/ JAZUG 女子部、札幌 ( きたあず ) 、青森、仙台、福島、静岡、名古屋 ( なごあず ) 、
信州 (Azure しなの ) 、関西 ( 関西 Azure 研究会 ) 、福岡 ( ふくあず ) 、沖縄 Twitter: #jazug 一緒に運営してくれるメンバーを募集中です。
JAZUG で書籍の監訳をしました
• クラウドデザインパターン
• 日経 BP 社• 2014/06/09 発売• \3,240
(Kindle 版 : \3,000)
©2015 pnop, Inc.
http://www.pnop.co.jp/