windows azureを利用したdevops入門

Post on 24-Jun-2015

2.953 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Global Windows Azure Boot Camp 2014 in Japanで発表させて頂いたWindows AzureでのDevOpsツールの紹介資料です。資料中の画面からYouTubeデモ動画にもリンクが貼っています(説明と合わせないとわかりにくいデモで申し訳ないですが)

TRANSCRIPT

Windows Azureを利用したDevOps入門

Global Windows Azure Boot Camp 2014 in Japan

2014/3/29

自己紹介

菊田洋一

Twitter:@kikutaro_

Blog:Challenge Java EE !http://kikutaro777.hatenablog.com/

(株)構造計画研究所

仕事:コンフィグレータを利用した販売管理Sys開発

自己紹介

趣味:堀北真希さん(ファンクラブ No.11)

発表経緯

_人人人人人人人人_> 割と無茶ぶり!< ̄Y^Y^ Y^Y^Y^Y ̄

発表経緯今年のはじめ、Windows Azureの無料評価版に登録

Microsoft Windows Azure MVPな方からの依頼は…断れない(>_<;

1カ月ちょっと経過

発表経緯Windows Azure 利用経験:無料期間1カ月+α

Azure Expertな方々の発表に紛れてごめんなさい・゚・(ノД`)・゚・。

本日参加されてる方々の中でAzureをまだ実際には触っていない方や、登録後にどんなことをしようか?と思っている方へ少しでも参考になれば幸いです

アジェンダ

アジェンダ

DevOps

My case

Visual Studio Visual StudioOnline

Jenkins

Chef Knife Azure

VM Depot

PowerShell

Tool

Windows Azure

DevOpsとは?

・Velocity2009でFlickr社が発表・開発(Dev)&運用(Ops)・ツール&文化

DevOpsとは?

1.Automated infrastructure2.Shared version control3.One step build and deploy4.Feature flags5.Shared metrics6.IRC and IM robots

http://www.publickey1.jp/blog/11/devops.htmlhttp://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr

1.Respect2.Trust3.Healthy attitude about

failure4.Avoiding Blame

今日は主にツールの話

Infrastructure

Chef

CapistranoPuppet

Fabric

Ansible

自分達の環境では何をどう組合せるのが良いのか?実際に色々と触って試してみないとわかりにくい面も

DevOpsとは?DevOpsをキーワードとしたツールが現在では様々存在

OrchestrationDevOpsTool

TestxUnitSelenium

RSpecserverspec

Jenkins

CIBamboo

Travis CI BuildHive

drone.ioBuild

Package

Maven

NuGet

Gemsbt

rake

Gradle

My Case

My Case

ビルド職人のみがビルド可能(環境構築も)

xxx.dll

yyy.dll

zzz.dll

ライブラリの依存関係がカオス

自動テストは一切ないリグレッションは人海戦術

ライブラリアップロード

ライブラリ案内メール

モジュール公開手作業

少し前…

VM Depotとは?

Code Repository

Maven Internal Repository ビルド成果物管理

ユニットテストインテグレーションテスト

試験環境APサーバ

デプロイ

CIサーバ

GlassFish

最近

ビルド/テスト結果通知モジュールアップ結果通知

デプロイ結果通知

My Case

VM Depotとは?

ビルド/テスト結果通知モジュールアップ結果通知

デプロイ結果通知

Code Repository

Maven Internal Repository ビルド成果物管理

ユニットテストインテグレーションテスト

試験環境APサーバ

デプロイ

CIサーバ

GlassFish

最近

ビルドツールで依存関係管理

通知モジュール自動登録

自動デプロイ

My Case自動テストで負担軽減

VM Depotとは?

・環境構築が人依存のまま

○mazonといって書籍サービスと間違えちゃう上の方々もAzureなら説得して伝わるんじゃ…!

課題・ツールが浸透しない

他プロジェクトでは使われない… 手軽に触れるように

環境構築も自動化

Jenkins知らないしメリットあるの?

やってみようとしたけどExcel手順書メンテされてないじゃんー

Windows

My Case

AzureとDevOps

VM Depotとは?

×Windows Azure

Visual StudioVisual Studio

Online

Jenkins

Chef

Windows Azure

Knife Azure

VM Depot

AzureとDevOps

Windows Azure

コミット→ビルド→デプロイ

CI環境の簡単構築

Azure仮想マシンの簡単環境構築

PowerShell

CLI

Windows Azure

Windows Azure

×

× ×

×

××

VM Depotとは?

×Windows Azure

Visual StudioVisual Studio

Online

Jenkins

Chef

Windows Azure

Knife Azure

VM Depot

Windows Azure

コミット→ビルド→デプロイ

CI環境の簡単構築

Azure仮想マシンの簡単環境構築

PowerShell

CLI

Windows Azure

Windows Azure

×

× ×

×

××

AzureとDevOps

VM Depotとは? ×Windows

AzureVisual Studio

Visual StudioOnline×

Visual Studio Online・クラウドベースのALM(Application Lifecycle Management)サービス・旧 Team Foundation Service・Basic / Professional / Advanced・Basicなら5ユーザまで無料・ブラウザでの開発環境「Monaco」

VM Depotとは? ×Windows

AzureVisual Studio

Visual StudioOnline×

Visual StudioVisual Studio

OnlineWindows

Azure

チェックインコミット

デプロイ

ビルド

Webサイト

コミット→ビルド→デプロイを簡単に実現

チームプロジェクト作成~ASP.NET MVC4のテンプレート作成

Visual StudioVisual Studio

Online

チームプロジェクト作成

ASP.NET MVC4

のテンプレ作成

チェックイン

Windows AzureでWebサイト作成

Windows Azure

Visual StudioVisual Studio

Online

Webサイト作成

ビルドトリガーの設定

Windows Azure

Visual StudioVisual Studio

Online

ビルドトリガー設定

自動ビルド~自動デプロイ

Windows Azure

Visual StudioVisual Studio

Online

自動ビルドチェックイン

自動デプロイ

VM Depotとは? ×Windows

AzureVisual Studio

Visual StudioOnline×

Visual StudioVisual Studio

OnlineWindows

Azure

Monacoを利用すると

ブラウザで修正

×Windows Azure

Visual StudioVisual Studio

Online

Jenkins

Chef

Windows Azure

Knife Azure

VM Depot

Windows Azure

コミット→ビルド→デプロイ

CI環境の簡単構築

Azure仮想マシンの簡単環境構築

PowerShell

CLI

Windows Azure

Windows Azure

×

× ×

×

××

AzureとDevOps

JenkinsWindows

AzureVM Depot

VM Depotとは?・Microsoft Open Technologiesによるサービス・仮想マシンイメージのカタログ・Windows Azureから簡単に利用可能

http://vmdepot.msopentech.com/List/Index

× ×

JenkinsWindows

AzureVM Depot

Jenkins

Mantis

Redmine

Tomcat

GitLab

Node.js

Ruby Stack

Apache SoIr

WildFly

WordPress

DrupalOpenERP

Django Stack

・アプリを簡単インストールするパッケージを提供してる企業・Windows Azure向けのVMイメージを多数提供

× ×

JenkinsWindows

AzureVM Depot

・OSSの継続的インテグレーション(CI : Continuous Integration)ツール・豊富なプラグイン(600以上)・開発者は日本の方(川口耕介さん)

JavaのPaaSとしてはCloudBeesが熱そう

http://jenkins-ci.org/

× ×

VM DepotからJenkinsを含むイメージをコピー

JenkinsWindows Azure Storage

Copy

コピーしたイメージから仮想マシン作成

Windows Azure StorageVM作成

仮想マシンのサービスへアクセス

利用可能!

でも今日はAzureのイベントですから(`・ω・´)キリッ

でもそれ、Windows Azureじゃなくてもいいよね?

java –jar Jenkins.war

はい、Jenkinsサイトからwar落としてjavaコマンド実行で簡単に使えます

VM Depotとは?

×Windows Azure

Visual StudioVisual Studio

Online

Jenkins

Chef

Windows Azure

Knife Azure

VM Depot

Windows Azure

コミット→ビルド→デプロイ

CI環境の簡単構築

Azure仮想マシンの簡単環境構築

PowerShell

CLI

Windows Azure

Windows Azure

×

× ×

×

××

AzureとDevOps

VM Depotとは?Windows

AzurePowerShell×

Windows Azure PowerShell・PowerShellコマンドレットでAzureを操作・Objectやその配列をパイプ処理できる

例)VMイメージの一覧取得Get-AzureVMImage

VMイメージ名にUbuntuを含む一覧取得Get-AzureVMImage | where {$_.ImageName -like "*Ubuntu*"}

直近3日に発行されたVMイメージの一覧取得Get-AzureVMImage | where {((Get-Date) - $_.PublishedDate).Days -le 3}

VM Depotとは?Windows

Azure × CLI

Command Line Inteface・Windows/Mac/Linuxで利用可能

例)VMイメージの一覧取得azure vm image list

VMイメージ名にUbuntuを含む一覧取得azure vm image list | grep “Ubuntu”

例)VMイメージの一覧取得azure vm image list

VMイメージ名にUbuntuを含む一覧取得azure vm image list | findstr “Ubuntu”

VM Depotとは?

×Windows Azure

Visual StudioVisual Studio

Online

Jenkins

Chef

Windows Azure

Knife Azure

VM Depot

Windows Azure

コミット→ビルド→デプロイ

CI環境の簡単構築

Azure仮想マシンの簡単環境構築

PowerShell

CLI

Windows Azure

Windows Azure

×

× ×

×

××

AzureとDevOps

VM Depotとは?Windows

AzureChef Knife Azure

・Chef社(旧OpsCode社)開発のツール・マシンの構築や設定を自動化・Infrastructure as Code・日本語の本も今年何冊か出る(らしい)http://www.getchef.com/chef/

Chef Server

nodeworkstation

× ×

伊藤直也さん著入門Chef Solo - Infrastructure as Code

VM Depotとは?Windows

AzureChef Knife Azure

knife azure

・knifeのプラグイン・gem install knife-azureでインストール

× ×

VM Depotとは?Windows

AzureChef Knife Azure

knife azure

JavaのCookbook

GlassFishのCookbook

node

PowershellやCLI同様に仮想マシン構築ができる+アプリケーションインストールや環境設定まで自動化可能

例えばknife-azureでUbuntu仮想VMを構築してそのVMにJavaやGlassFishなどをインストール

× ×

Knife Azureで仮想マシン構築

knife azure

nodeにChef-Soloのインストール

knife prepare

Chef-Solo&CookbookでJavaのインストール

Java 8でましたが今回はJava 7です…

JavaのCookbook

knife solo cook

VM Depotとは?Windows

AzureChef Knife Azure

・今回はコミュニティのCookbookを利用・APサーバであるGlassFishなどもインストールできました・自前で定義を準備すればインストール&設定まで自動化

http://community.opscode.com/cookbooks/glassfishhttp://community.opscode.com/cookbooks/java

× ×

でも今日はAzureのイベントですから(`・ω・´)キリッ

でもそれ、Windows Azureじゃなくてもいいよね?

はい、Vagrantなどでローカルに仮想マシン立ててChefをお手軽に試せます

VM Depotとは?ブログにも書いてます

はじめてのWindows Azure ~Chefのプラグインknife-azureの設定~http://kikutaro777.hatenablog.com/entry/2014/01/08/235216

はじめてのWindows Azure ~knife-azureでVMの作成・削除~http://kikutaro777.hatenablog.com/entry/2014/01/09/235022

ChefのCookbookでJavaとGlassFishをインストールしてみましたhttp://kikutaro777.hatenablog.com/entry/2014/01/13/233106

はじめてのWindows Azure ~VM DepotでJenkinsサーバを簡単構築~http://kikutaro777.hatenablog.com/entry/2014/01/15/122405

Visual Studio OnlineからチェックイントリガーでWindows Azureへ自動デプロイhttp://kikutaro777.hatenablog.com/entry/2014/03/05/235323

knife-azureのインストールhttp://kikutaro777.hatenablog.com/entry/2014/03/11/222646

まずはWindows Azureの無料評価版に登録!

Windows Azureを利用したDevOps入門

ご清聴ありがとうございましたm(_ _)m

Global Windows Azure Boot Camp 2014 in Japan

2014/3/29

top related