『フルスタックエンジニアを目指す』ためのOpenStack勉強術 -...

48
『フルスタックエンジニアを目指す』 ためのOpenStack勉強術 日本仮想化技術株式会社 VitrualTech.jp 玉置伸行

Transcript of 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 -...

Page 1: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『フルスタックエンジニアを目指す』ためのOpenStack勉強術

日本仮想化技術株式会社

VitrualTech.jp

玉置伸行

Page 2: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

自己紹介

• 玉置伸行(たまおきのぶゆき)– [email protected]

– twitter.com/ntamaoki

– facebook.com/ntamaoki

• 日本仮想化技術株式会社 2013/8 -

– エンタープライズクラウド事業部

• OpenStackの価値を伝える

– @ITで「たまおきのクラウドウオッチ」連載中

• エンタープライズクラスのクラウド基盤構築の検討支援

• 日本オラクル株式会社 1998/4 – 2013/7

– ミドルウェア製品のプリセールエンジニア

– 知識管理・コンテンツ管理製品の製品マーケティング

– 知識管理製品ビジネスの社内ベンチャーでの立ち上げ2

Page 3: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

本セッションの目的

• OpenStack環境構築に成功した筆者が『フルスタックエンジニアを目指す』ための半年間の試行錯誤を話します

• 道程半ばですので、温かく見守っていただければ幸いです。

3

Page 4: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

アジェンダ

• OpenStack習得の3つのステップ

• ステップ1をマスターするには「やってみる・学んでみる・教えてみる」

– 日本HP 研修コースのご紹介

• ステップ2に進むためには「インプット・アウトプットを意識する」

– フィックスポイント 運用自動化PFのご紹介

• まとめ

4

Page 5: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack環境構築の後に

5

時間

能力

Before

自分

After

自分

Page 6: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

実は入り口でしかなかった。。。

6

時間

能力

Before

自分

After

自分

To-Be

自分

Page 7: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

To-Be自分とは

• OpenStackの大規模Deployment環境をコンサルし、構築し、開発・修正できる、フルスタックエンジニアと呼ばれる上級エンジニア

7

Page 8: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

インフラ

OpenStackを構成する要素

8

サーバ ネットワーク ストレージ

O/S、仮想化

ミドルウェア

データベース フレームワーク

アプリケーション

業務アプリケーション

Webアプリケーション

SaaSアプリケーション

プロビジョニング、自動化

セキュリティ、保守運用

Page 9: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

フルスタックエンジニア

• Full Stack Developer

– Server, Network, and Hosting Environment

– Data Modeling

– Business Logic

– API layer / Action Layer / MVC

– User Interface

– User Experience

– Understanding what the customer and the business need.

参考URL: What is a Full Stack developer?

http://www.laurencegellert.com/2012/08/what-is-a-full-stack-developer/

9

Page 10: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

フルスタックエンジニアへの道程

10

時間

能力

Before

自分

After

自分

To-Be

自分頑張れ自分

ステップ1

ステップ2

ステップ3

Page 11: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack習得の3つのステップ

• OpenStack概要の理解

• OpenStack環境の構築

• デモンストレーションの実施

ステップ1

• コンポーネント詳細の理解

• 追加機能検討

• Deployment環境の構築

ステップ2

• 追加機能開発、バグ修正

• コンサルティングの実施

• 大規模Deployment環境の構築

ステップ3

11

Page 12: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack習得の3つのステップ

• OpenStack概要の理解

• OpenStack環境の構築

• デモンストレーションの実施

ステップ1

• コンポーネント詳細の理解

• 追加機能検討

• Deployment環境の構築

ステップ2

• 追加機能開発、バグ修正

• コンサルティングの実施

• 大規模Deployment環境の構築

ステップ3

12

Page 13: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ1をマスターするために

• OpenStack概要の理解

• OpenStack環境の構築

• デモンストレーションの実施

ステップ1

• コンポーネント詳細の理解

• 追加機能検討

• Deployment環境の構築

ステップ2

• 追加機能開発、バグ修正

• コンサルティングの実施

• 大規模Deployment環境の構築

ステップ3

13

『やってみる』&『学んでみる』&『教えてみる』を実践してみるのがいい!

Page 14: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ1:「やってみる」

• OpenStack環境の構築

– DevStack

• http://devstack.org

– Red Hat RDO

• http://openstack.redhat.com

– Mirantis社

• http://software.mirantis.com/quick-start/

• OpenStack環境の利用

– TryStack

• https://trystack.org 14

Page 15: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ1:「学んでみる」①

• コミュニティに参加

– 日本:日本OpenStackユーザ会

http://openstack.jp

– OpenStack.org

http://www.openstack.org/community/

• 一般向けメーリングリスト

https://launchpad.net/~openstack

• 運用者向けメーリングリスト

http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

• 開発者向けメーリングリスト

http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev15

Page 16: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ1:「学んでみる」②

• 研修コースを受講

– 日本HP

• OpenStack Foundation

– OpenStackの概要を理解し、OpenStackの主要機能をハンズオン形式で学べる

– 教材は日本語に翻訳済み

http://h50146.www5.hp.com/services/education/teiki/seihin/H6C

68S.html

– モーフラボ

• 初級/中級/上級のOpenStackトレーニングを実施http://www.morphlabs.co.jp/openstacktraining/

16

Page 17: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ1:「教えてみる」

レッドハットの中井さんの作成したハンズオンマテリアルを使って社内勉強会はいかがでしょうか。

OpenStackクラウド基盤構築ハンズオンセミナー

第1日:OpenStack機能概要

http://www.slideshare.net/enakai/open-stack-seminarday1lecture120140106

第1日:サーバ構築自動化について

http://www.slideshare.net/enakai/openstackno2

第2日:主要コンポーネントの解説

http://www.slideshare.net/enakai/open-stack-seminarday2lecture120140108

第2日:Neutron編

http://www.slideshare.net/enakai/openstackno2-29994826

17

Page 18: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

日本HP社OPENSTACKトレーニングのご紹介

18

Page 19: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

ステップ2に進めるために

• OpenStack概要の理解

• OpenStack環境の構築

• デモンストレーションの実施

ステップ1

• コンポーネント詳細の理解

• 追加機能検討

• Deployment環境の構築

ステップ2

• 追加機能開発、バグ修正

• コンサルティングの実施

• 大規模Deployment環境の構築

ステップ3

19

『インプット』『アウトプット』を意識するのが近道だと思う

Page 20: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』『アウトプット』を意識する

• 10の『インプット』を得て、1の『アウトプット』

を出せる人なので、『インプット』の量と質にこだわっています

– 端から見ると、情報ジャンキーにしか見えませんが。。。

20

Page 21: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集 RSS ①

• ニュースサイト(国内)– クラウド - ZDNet Japan http://feed.japan.zdnet.com/rss/index.rdf

– 日経BP ITpro http://itpro.nikkeibp.co.jp/rss/system.rdf

– エンタープライズニュース | RBB TODAY http://www.rbbtoday.com/rss/enterprise.rdf

– CloudZine http://cloudzine.jp/feed/

– クラウドWatch http://cloud.watch.impress.co.jp/cda/rss/cloud.rdf

– EnterpriseZine:新着一覧 http://enterprisezine.jp/rss/new

– クラウドニュース http://www.cloudnews.jp/feed

– ASCII.jp-アスキークラウド http://www.ascii.jp/cate/246/rss.xml

21

Page 22: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集 RSS ②

• ニュースサイト(海外)– Data Centre » Cloud Infrastructure • The Register

http://www.theregister.co.uk/data_centre/headlines.atom

– The Enterprise Cloud Site http://www.theenterprisecloudsite.com/rss_simple.asp

– Talkin' Cloud http://feeds.feedburner.com/TalkinCloud

– All Things Distributed http://www.allthingsdistributed.com/atom.xml

22

Page 23: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集 RSS ③

• OpenStack Foundation

– The OpenStack Blog — Open Source Cloud Computing Software

http://www.openstack.org/blog/feed/

– Planet OpenStack

http://planet.openstack.org/atom.xml

– Ask OpenStack: Q&A Site for OpenStack Users and Developers

https://ask.openstack.org/en/feeds/rss/

23

Page 24: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集 RSS ④

• 個人ブログ– Agile Cat --- in the cloud http://agilecatcloud.com/feed/

– Publickey Enterprise IT / Cloud Computing / Web Technology / Blog

http://www.publickey1.jp/atom.xml

– めもめも http://d.hatena.ne.jp/enakai00/rss

– jedipunkz http://jedipunkz.github.io/atom.xml

– OSSはアルミニウムの翼で飛ぶ http://aikotobaha.blogspot.com/feeds/posts/default

– Cloud Architect Musings | Musings On Cloud Computing and IT-as-a-Service

http://cloudarchitectmusings.com/feed/

– Kyle Hilgendorf — A Member of The Gartner Blog Network

http://blogs.gartner.com/kyle-hilgendorf/feed/

24

Page 25: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集 Google Alert

• 現在設定しているキーワード

–クラウド

– Cloud

– OpenStack

– OpenStack Foundation

– Software Defined

– SDN Network

– NFV

– OpenFlow

– Chef cookbook

– Puppet

– Zabbix

– Red Hat

– VMware

– AWS

– Azure

– CloudStack

25

Google Alertも活用。情報量が多いので、“1日1回“”最上位の結果のみ“を取得。http://www.google.com/alerts

Page 26: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』情報収集

26

• 「OpenStackうおっち」

http://cloudneta.wordpress.com

Page 27: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』OpenStackを詳しく知る①

• ブループリントを読もう– ブループリントとは

• Blueprints : OpenStack wiki

https://wiki.openstack.org/wiki/

– Icehouseリリースのリリースステータス

• OpenStack roadmap for icehouse

http://status.openstack.org/release/

– OpenStackのブループリント一覧

• Blueprints for OpenStack

https://blueprints.launchpad.net/openstack

27

Page 28: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』OpenStackを詳しく知る②

• OpenStackのソースコードを読もう– PyDevでOpenStackのソースコードを読むー EnterpriseCloud.jp

http://enterprisecloud.jp/howtosetuppydev/

• OpenStack Summitに参加しよう– デザインサミット議事録

https://wiki.openstack.org/wiki/Summit/Icehouse/Etherpads

– セミナービデオ

• http://www.openstack.org/summit/openstack-summit-hong-

kong-2013/session-videos/

• Deep Dive into the CERN Cloud Infrastructure

– http://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-

videos/presentation/deep-dive-into-the-cern-cloud-infrastructure

• Openstack High Availability @ PayPal

– http://www.openstack.org/summit/openstack-summit-hong-kong-2013/session-

videos/presentation/openstack-high-availability-paypal

28

Page 29: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

『インプット』OpenStackを詳しく学ぶ

• OpenStack上級トレーニングを受講する– OpenStack Training Marketplace

http://www.openstack.org/marketplace/training/

– Mirantis社 3Day Bootcamp for OpenStack

http://www.openstack.org/marketplace/training/

• OpenStack in production

• Deployment

29

Page 30: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

30

フィックスポイント社運用自動化プラットフォーム「Kompira」のご紹介

Page 31: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

まとめ

• OpenStack習得の3つのステップ

• ステップ1をマスターするには「やってみる・学んでみる・教えてみる」

• ステップ2に進むためには「インプット・アウトプットを意識する」

31

Page 32: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack習得の3つのステップ

• OpenStack概要の理解

• OpenStack環境の構築

• デモンストレーションの実施

ステップ1

• コンポーネント詳細の理解

• 追加機能検討

• Deployment環境の構築

ステップ2

• 追加機能開発、バグ修正

• コンサルティングの実施

• 大規模Deployment環境の構築

ステップ3

32

Page 33: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

新サービスのご案内

OpenStack検証支援プログラム

• OpenStackを評価・検証する企業の担当者

• プログラム内容

• OpenStackのインストール手順書の提供

• 検証計画や検証作業の支援(有償)

Baremetal OpenStack評価プログラム

• Baremetal OpenStackに興味のある企業の担当者

• プログラム内容

• 動作デモの実施

• 検証計画や検証作業の支援(有償)

33

参考情報

Page 34: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack検証支援プログラム

• OpenStackの検証環境の構築支援とエンジニア育成支援を行います。

• 期間は半年を想定しております。

• OpenStackの検証環境の構築支援として、「OpenStack環境構築ハンズオン」を実施します。

• エンジニア育成支援として、月に1回の「OpenStack講習」を実施します。

• 技術検証中の技術サポートとして、「OpenStack Support

Basic」を提供いたします。

34

参考情報

Page 35: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStack環境構築ハンズオン

OpenStack環境構築ハンズオンとして下記の内容を実施します。Linuxのシステム管理を理解している方を対象としています。

• 環境準備(2日)

• OpenStack概要説明&環境構築ハンズオン(1日)

• 環境構築ハンズオンフォローアップ(1日)

• 環境構築ハンズオン問い合わせ対応(2週間)

環境構築ハンズオン実施の1週間後に、環境構築ハンズオンフォローアップを実施いたします。

35

参考情報

Page 36: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack①

OpenStackの環境構築が以前と比べて簡単になったとはいえハードウェアの手配や環境構築の技術スキルの習得は簡単ではありません。ここではハードウェア不要のOpenStackのサンドボックスであるTryStackを紹介します。

36

参考情報

Page 37: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack②

TryStackを利用するためにはFacebookのアカウントが必要で、Facebookのグループ「TryStack」に参加申請を出します。「TryStack」は非公開グループなので、管理者に承認してもらう必要があります。

Facebook グループ「TryStack」

https://www.facebook.com/groups/269238013145112

TryStack環境はFacebookのアカウントでログインできます。インスタンスは3つ、仮想CPUは6つ、メモリーは12GB、フローティングIPは50個まで、使用できます。OpenStackの動作確認の目的であれば十分なリソースです。37

参考情報

Page 38: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack③

1. TryStack環境にログイン

Facebookのアカウントを使用してログインします。ログインすると画面の左側にメニューが並んでいるのを確認できます。

38

参考情報

Page 39: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack④

2. ネットワークの作成

メニューの「ネットワーク管理」の「ネットワーク」をクリックし、「ネットワークの作成」ボタンを押します。下記の入力を行い、入力後に「作成」ボタンを押します。「ネットワーク」タブ ネットワーク名:private

「サブネット」タブ ネットワークアドレス:192.168.37.0/24

「サブネットの詳細」タブ DNSサーバー:8.8.8.8

ネットワークの作成時に下記のエラーが発生する場合、ネットワークアドレスの37の値を1から254までの別の数字に置き換えて実施するとよいです。

Error: Failed to create ... overlaps with another subnet

39

参考情報

Page 40: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑤

3. ルーターの作成

メニューの「ネットワーク管理」の「ルーター」をクリックし、「ルーターの作成」ボタンを押します。下記の入力を行い、入力後に「ルーターの作成」ボタンを押します。

ルーター名:router

「ゲートウェイの設定」を選択し、下記の内容を確認し「ゲートウェイの設定」ボタンを押します。

外部ネットワーク:externalを選択

40

参考情報

Page 41: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑥

ルーター”router”をクリックし、「インターフェースの追加」ボタンを押します。下記の選択を行い、「インターフェースの追加」ボタンを押します。

サブネット:privateを選択

メニューの「ネットワーク管理」の「ネットワークトポロジー」をクリックすると、作成したネットワークとルーターを確認できます。

41

参考情報

Page 42: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑦

4. SSH認証用の鍵ファイルの作成

メニューの「コンピュートの管理」の「アクセスとセキュリティ」をクリックし、「キーペア」タグをクリックします。「キーペアの作成」ボタンを押し、下記の入力を行い、「キーペアの作成」ボタンを押します。

キーペア名:mykey

キーペアの作成を行うと、SSH認証用の鍵ファイルmykey.pemをダウンロードします。

42

参考情報

Page 43: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑧

5. フローティングIPの確保

メニューの「コンピュートの管理」の「アクセスとセキュリティ」をクリックし、「Floating IP」タグをクリックします。「Floating IP

の確保」ボタンを押し、下記の内容を確認し「IPの確保」ボタンを押します。

プール:external

43

参考情報

Page 44: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑨

6. インスタンスの起動

メニューの「コンピュートの管理」の「インスタンス」をクリックし、「インスタンスの起動」ボタンを押します。下記の入力を行い、「起動」ボタンを押します。

「詳細」タブ

インスタンス名:インスタンス名を入力

フレーバー:m1.smallを選択

インスタンスのブートソース:イメージからの起動

イメージ名:Ubuntu 13.10を選択

「アクセスとセキュリティ」タブ: キーペア:mykeyを選択

「ネットワーク」タブ: 選択済みネットワーク:privateを選択44

参考情報

Page 45: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑩

メニューの「コンピュートの管理」の「インスタンス」にて起動したインスタンスの状態が”Active”で稼働状が"Running"であれば正常な動作です。インスタンス名をクリックして「概要」タブにインスタンスの詳細情報を、「ログ」タブにてインスタンスのログを、確認できます。

45

参考情報

Page 46: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑪

7. フローティングIPの割り当て

メニューの「コンピュートの管理」の「インスタンス」にてインスタンスのアクションの選択肢を表示し「Floating IPの割り当て」を選びます。5. フローティングIPの確保の項で獲得したIPアドレスを指定して「割り当て」ボタンを押します。

46

参考情報

Page 47: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑫

8. コンピュートにSSHでログイン

TryStack環境では行いませんが、一般的なOpenStack環境ではSSH認証用の鍵ファイル mykey.pemを使用して sshでログインします。

% ssh -i ~/mykey.pem [email protected]

47

参考情報

Page 48: 『フルスタックエンジニアを目指す』ためのOpenStack勉強術 - OpenStack最新情報セミナー 2014年2月

OpenStackを試してみる!TryStack⑬

参考情報

TryStack FAQ

http://openstack.redhat.com/TryStackFAQ

TryStackスタートガイド

http://youtu.be/EPZPzXSypl4

48

参考情報