More Related Content
Similar to 20110406aws accenture
Similar to 20110406aws accenture (20)
More from awsadovantageseminar
More from awsadovantageseminar (8)
20110406aws accenture
- 1. オリンパス様事例にみる、
クラウドでシステム開発・運用の勘所
アクセンチュア株式会社
Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.
- 2. システム紹介
-1- Copyright © 2011 Accenture All Rights Reserved.
- 4. 基盤としてAWSを選んだ背景
プロジェクト開始当時、主に以下のベンダーがクラウドサービスを提供していました。今回のシステムでは、カスタムで開発す
る範囲が多く、ある程度自由に開発できることが必要と考え、HW以外をカスタマイズできるAWSを採用しました。
SaaS PaaS IaaS
Service Cloud 2 Force.com Google Apps Windows Azure
ク CRM専用
開発範囲 開発範囲
ラ サービス
ウ 開発範囲
API API API
ド (.Netベース)
サ 開発範囲
ー SDK SDK SDK
ビ
ス Software Software Software Software
Server Server Server Server Server
NW NW NW NW NW
CRMに特化したサー Salesforce.comのプ Google上で提供して Microsoftのプラットフ Server上のOSで動く
ビスを提供しているた ラットフォームを利用 いるWebサービス機 ォームを利用して、シ ソフトであれば全て利
め、CRMに限れば短 して、システムを構築 能のAPIを活用可能。 ステムを構築可能。 用可能。
特 期間で構築可能。 可能。 ただし、開発言語は 但し、現時点ではサ 従って開発自由度が
徴 Salesforce.comが提 PythonとJavaのみで ービス提供がされて 高く、機能的な制約が
供するAPIを利用した 開発自由度が低い。 おらず、2009年秋頃 少ない。
開発が可能。 からサービス稼動
本プロジェクト採用
-3- Copyright © 2011 Accenture All Rights Reserved.
- 5. システム構成
-4- Copyright © 2011 Accenture All Rights Reserved.
- 8. システム全体アーキテクチャ
本システムは、AWSが提供しているOS、ソフトウェアを使ってシステム基盤を構築し、その上でアプリケーションを開発してい
ます。
Presentation Function Data
フロント 画面系 コントロール アプリケーション I/F 外部システムI/F
Java 外部連携(XML) 外部
JSP
システム
Shell
PCアプリ HTML Java
SA-Struts DB処理 トランザクション管理 Database
Apache JavaScript
SQL S2DAO
ブラウザ
共通ファンクション
SSL
Seasar2
Cloud Front MySQL
携帯電話
Infrastructure
Red Hat JBoss Java SE/ Java EE
Enterprise Linux
Platform
Amazon EC2 and S3
Notes: :Business application :Common function :System infrastructure on Cloud (Amazon )
-7- Copyright © 2011 Accenture All Rights Reserved.
- 9. クラウド環境での開発
-8- Copyright © 2011 Accenture All Rights Reserved.
- 10. 開発時におけるシステム開発・テスト環境
プロジェクト開始当初、開発はローカルサーバに統合開発環境を構築し、システムテストからAWS上に構築した環境でテスト
を実施しました。開発・テストは従来のやり方と同じです。
開発環境 検証環境 本番環境
ローカルサーバー Storage Storage
Amazon S3 Amazon S3
バージョン管理 Database Server Database Server
ローカル環境では、 検証環境でテストが
開発から結合テスト Application Server 完了したプログラム Application Server
WAS/DB を本番環境へ移送
までを実施。結合テ
ローカル環境 JBoss JBoss
ストが完了したら、
検証環境へプログラ
ムを移送
Web Server Web Server
Eclipseによるローカル Apache
統合開発環境
Amazon EC2 Amazon EC2
• Eclipse
• JDK
• JUnit
• Ant ブラウザ PCアプリ ブラウザ PCアプリ
-9- Copyright © 2011 Accenture All Rights Reserved.
- 12. プログラムのバージョン管理
ローカルの開発環境下にSubversionでバージョン管理用のリポジトリを構築し、テスト、本番環境への移送モジュールをBuild
してから、必要なファイルをAWS上の環境に移送しています。
開発環境
検証環境 本番環境
Javaプログラム WAS WAS
アプリ アプリ
Build 移送資源 ケーション ケーション
Java Build
プログラム Configuration Build configuration Configuration Configuration
移送 Configuration Configuration
データ Server WAS configuration
ベース Configuration
SQL Database
Configuration Configuration
configuration
Database resources
開発が進むにつれて、移送時にローカル環境から大容量のファイルをAWS上に転送する必要があり、アップロードに時間
がかかりました。アクセス速度が速いAWS東京上にリポジトリを構築すれば、移送時間を短縮して行えます。
- 11 - Copyright © 2011 Accenture All Rights Reserved.
- 13. 開発環境の移設
ローカル環境での移送ファイルが大きくなることを解消するために、ローカルサーバの環境をAWS上に移設しました。
開発環境 検証環境 本番環境
Amazon EC2 Storage Storage
Amazon S3 Amazon S3
バージョン管理 Database Server Database Server
ローカル環境では、 検証環境でテストが
開発から結合テスト Application Server 完了したプログラム Application Server
WAS/DB環境 までを実施。結合テ を本番環境へ移送
JBoss JBoss
ストが完了したら、
検証環境へプログラ
ムを移送
Web Server Web Server
Eclipseによるローカル Apache
統合開発環境
Amazon EC2 Amazon EC2
• Eclipse
• JDK
• JUnit
• Ant Browser PCアプリ Browser PCアプリ
- 12 - Copyright © 2011 Accenture All Rights Reserved.
- 16. クラウド環境でのシステム運用
- 15 - Copyright © 2011 Accenture All Rights Reserved.
- 17. 運用管理・監視項目
Amazon Cloud Watchで参照できるHWリソースの監視項目に加えて、プロセス監視、アプリケーションのログ管理(Exception監
視)、ジョブ管理を行うため、独自で運用機能を構築しています。
カテゴリ 項目概要 実施項目
CPU使用率 CPU使用率(idle、user、sys)を取得
CPU情報
ロードアベレージ 直近1、5、15分間のロードアベレージを取得
Cloud Watch
仮想メモリ使用率 仮想メモリに関するメモリ使用率を取得
メモリ情報
実メモリ使用率 実メモリに関するメモリ使用率を取得
で
可
能 デバイス別ディスクI/O回数 デバイス単位のディスクI/Oの読み取り/書き込み回数を取得
ディスク情報 デバイス別ディスクI/O量 デバイス単位のディスクI/Oの読み取り/書き込み量(バイト/S)を取得
ファイルシステム使用率 マウント位置単位のファイルシステム使用率を取得
プロセス監視、 プロセスの稼動監視 利用しているソフトウェアが稼動していることを監視
ポート監視 ポートの監視 ソフトウェアが利用しているポートがOpenとなっていることを監視
独
自 アプリケーション アプリケーションレベルのExceptionをモニタリングして、Exception発生
に 例外監視
実 ログ監視 時に運用担当者にメールで通知
装
ジョブのスケジューリング
ジョブスケジュール
ジョブ管理 ジョブの実行状況を取得し、エラーとなった場合に運用担当者にメール
ジョブ実行管理
で通知
- 16 - Copyright © 2011 Accenture All Rights Reserved.
- 18. システム監視方法
すべてのシステム状況が監視できるように、Amazon Cloud Watchと並行して運用端末で管理コンソールを使った監視を実施し
ています。リソースが閾値を超えた場合や、エラーを検知した場合には、画面にアラート表示とメールの通知を行っています。
システム監視構成図(一部) 管理画面イメージ
1 Mail
WAS
Agent
1 2
DB(Master) Operation
Amazon インターネット
S3 Agent Manager
3
1 Operation
DB(Slave) RDP 運用端末
Client
Agent
1. 監視対象サーバにSNMPエージェントをインストールし、プロセ
ス監視、ログ監視、HWリソース監視、ジョブ管理結果を
Operation Managerへ送信
2. 監視対象のインスタンスからポーリング、SNMPエージェントよ
り定期的に情報を取得
3. GUIでOperation Managerで保持しているサーバの状態を表示
- 17 - Copyright © 2011 Accenture All Rights Reserved.
- 19. バックアップ概要
システムでは、AWSが提供するバックアップ方式に加えて、障害発生に備えて、システム独自でのバックアップ方式を採用して
います。
バックアップ方式 バックアップ対象 実行方法 バックアップデータ格納場所
OS情報(モジュール、ライブラリ、設定ファイル等)
各ソフトウェア情報 cron
AMIによる
-Apache、JBOSS、MySQL、Operation 及び Amazon S3
バックアップ
-Webアプリケーション 運用担当者
AWS
OSおよび各ソフトウェア、Webアプリケーションパラメータ値
提
供
Amazon S3に格納している全ファイル cron
RAID1による
-RAID1(ミラーリング)構成を組んでいるため、自動的にバックアップ 及び 他サイトのAmazon S3
バックアップ
を取得 運用担当者
ユーザデータ情報 Amazon EBS
-ユーザがアップロードした画像ファイル、サムネイル (画像のみ)
アプリケーショ
ログファイル
ンによるバック cron
-OS
独 アップ Amazon S3
-各ソフトウェアおよびWebアプリケーション
自 -アプリケーションログ (ログファイル)
に
実
装
レプリケーショ
DBデータ
ンによるバック MySQL DB Slaveサーバ
-MySQLによるMasterからSlvaeへのDBデータコピー
アップ
- 18 - Copyright © 2011 Accenture All Rights Reserved.
- 21. 今後の検討
- 20 - Copyright © 2011 Accenture All Rights Reserved.