36
クラウドがアーキテクチャを変え、 エンジニアの役割も変わる NRIネットコム株式会社  佐々木拓郎 2015/7/24 DevLOVE関西 勉強会

DevLove Kansai AWS

Embed Size (px)

Citation preview

Page 1: DevLove Kansai AWS

クラウドがアーキテクチャを変え、 エンジニアの役割も変わる

NRIネットコム株式会社  佐々木拓郎

2015/7/24DevLOVE関西 勉強会

Page 2: DevLove Kansai AWS

佐々木拓郎

AWSの事業推進の他に モバイルチームと データ解析チームの マネジメントをしています

blog: http://blog.takuros.net twitter: @dkfj

自己紹介

Page 3: DevLove Kansai AWS

ちょっと宣伝

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

http://amzn.to/1lsJ5id

ジュンク堂書店 コンピュータ書年間 総合ランキング14位

Page 4: DevLove Kansai AWS

もう1つ宣伝

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく

http://amzn.to/1BLiYcO

2015年3月25日より絶賛発売中!!

Page 5: DevLove Kansai AWS

NRIネットコム

Web周りのビジネスを専門としている会社

• Webシステムの企画・設計・開発・運用 • 24時間365日の運用体制 • デザインを重視し、ディレクター/デザイナーが多数在籍 • スマホ/タブレットも得意 • AWSをはじめとするクラウドにも力を入れている • 最近のトレンドは、デジタルマーケティング

会社の紹介

Page 6: DevLove Kansai AWS

クラウドがアーキテクチャを変え、 エンジニアの役割も変わる

Page 7: DevLove Kansai AWS

アンケート

アプリケーションエンジニアとしての経験ある人? インフラエンジニアとしての経験ある人? AWSを知っている人? AWSを使ったことがある人? EC2,S3以外のサービスを使ったことがある人?

Page 8: DevLove Kansai AWS

今日の主題

クラウドの台頭で エンジニアの働き方は どう変わるか?

Page 9: DevLove Kansai AWS

AWSのサービス(の一部) アプリケーションサービスが ITエンジニアにどのような 影響を与えるのか?

Page 10: DevLove Kansai AWS

クラウドファーストから クラウドネイティブへ

Page 11: DevLove Kansai AWS

クラウドファースト

 クラウドファーストとは、企業が情報システムの設計や移行に際してクラウドサービスの採用を第一に検討する方針のこと。特に、システムの運用基盤として外部企業が運営するIaaS/PaaSサービスを採用し、その上に独自のアプリケーションを構築し運用するシステム形態を優先的に検討すること。

IT用語辞典 e-Wordsより http://e-words.jp/w/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%95%E3%82%A1%E3%83%BC%E3%82%B9%E3%83%88.html

Page 12: DevLove Kansai AWS

クラウドネイティブ

 クラウドネイティブとは、クラウドのサービスを前提に構築されたシステムおよびアプリケーション。仮想サーバ上で自前でシステムを構築していくのではなく、SaaSを最大限活用し拡張性・可用性のあるシステムを低コストで構築する。

世間一般の話を佐々木が勝手にまとめたもの

2-Tierアーキテクチャな設計が クラウドネイティブになりやすい

Page 13: DevLove Kansai AWS

もう少し解りやすく

Page 14: DevLove Kansai AWS

3-Tierアーキテクチャ

リクエスト 操作

Web/APサーバ (ec2)

ストレージ (S3)

NoSQL (DynamoDB)

データベース (RDS)

レスポンスモバイル

サーバ構築/アプリ開発の必要性

冗長化の考慮処理結果を、

Web側で変換する必要がある

Page 15: DevLove Kansai AWS

2-Tierアーキテクチャ

直接操作 ストレージ (S3)

NoSQL (DynamoDB)

モバイル

認証管理 (Cognito)

Credential 取得

キューサービス (SQS)

計算処理 (Lambda)

リソースの調整や、物理/論理的なメンテは全てAWS側で実施

Page 16: DevLove Kansai AWS

3-Tierから2-Tierに変わると?

サーバの構築がほぼ不要 部品を組み合わせるだけでインフラ構築可能 個々の部品はマネージドサービスなので、運用は最小  ⇒インフラ・エンジニアは、不要?

⇒たぶんNo!

Page 17: DevLove Kansai AWS

ところでアプリ・エンジニアは?

その前にAWSのサービス紹介

Page 18: DevLove Kansai AWS

AWSのサービス紹介(一部)

Amazon Lambda イベント・ドリブンなコンピュートエンジン

Amazon DynamoDB NoSQLデータベース

Amazon APIGateway API作成サービス

Page 19: DevLove Kansai AWS

Amazon Lambda

サーバレスでプログラムを実行できるエンジン 現在は、Node.JSとJavaのみ利用可能 フルマネージドサービス 実体は恐らくAamzon LinuxベースのDocker とにかく手軽で楽しい

イベントLambdaファンクション

の呼び出し

何らかの 処理

各種AWS リソースの利用も可能

Lambda

Page 20: DevLove Kansai AWS

Amazon DynamoDB

NoSQLデータベース 設定によりスループットをコントロールできる フルマネージドサービス お金を出せば、ほぼ望みの性能を調整できる恐ろしいサービス

Page 21: DevLove Kansai AWS

Amazon API GatewayAPI作成支援サービス 各種サービスをHTTP/Sとして呼び出せるプロキシサービス Lambda, Http Proxy, AWS Proxyの3つの機能 フルマネージドサービス

外部のWeb サービス等

Lambda

Lambda

Http Proxy

AWS Proxy

HTTPで 呼び出し

Page 22: DevLove Kansai AWS

API GatewayのWebnierを受講した時の感想

Page 23: DevLove Kansai AWS

アプリケーション・サービスを利用すると?

実はアプリも作る部分が少なくなる クラウドサービスは、フレームワークの登場と似ている ⇒コードの記述量が、圧倒的に減った 部品を組み合わせれば、コードを書く必要は最小限  ⇒アプリ・エンジニアも、不要?

⇒たぶんNo!

Page 24: DevLove Kansai AWS

クラウド時代のエンジニアの役割

コード化できることが必須 Infrastructure as codeのようにコードで扱う範囲の拡大 アーキテクチャとしての知識 部分最適より全体最適 何を利用すれば/どこで実装すれば一番楽できるか? 専門/得意分野が必要 汎用的な部分は、クラウドが提供してくれる その上に何を付加するのか?

⇒コード化する範囲が広がるので、 エンジニアが必要とされる分野が広がる

Page 25: DevLove Kansai AWS

エンジニアの方向性

Page 26: DevLove Kansai AWS

エンジニアのスキルの方向性

駆け出し エンジニア

スーパ エンジニア

業務 エンジニア

業務知識で勝負 技術力で勝負

業務知識

技術力

Page 27: DevLove Kansai AWS

スーパーエンジニアへの道

単一分野で勝負するのは、茨の道 クラスで1番、学校で1番、県で1番、日本で1番… 必ず上の人は沢山いる 同一分野内の順位付けは容易 隣り合う分野をかけ合わせると? ベクトルのように合成された結果で評価される

自分で勝手に、第一人者の分野を作れば良い

Page 28: DevLove Kansai AWS

隣接する複数のスキルを身につける

隣接するスキル アプリとインフラ アプリとデザイン

隣接しないスキル インフラとデザイン

Page 29: DevLove Kansai AWS

赤魔道士ファイナルファンタジーの赤魔道士(※) 黒魔法も白魔法も使える。剣もそこそこ得意 序盤は便利だけど、終盤になると力不足 器用貧乏の代名詞

クラウドという強力なアイテムがあると? うまく使うと何倍も力が増幅される 色々なことが出来る方が強みになる かもしれない。。。 後は、エキスパートとの連携 (インフラ/アプリ/フロントエンド/デザインetc)

※1990年代の知識です。

Page 30: DevLove Kansai AWS

効率的な成長には?変化を楽しむ 将来を見通すことは不可能 全予想能力もいいけど、対応能力に重きを置く 大きな方向性は見失わないように ちょっと背伸びをする 20~30%くらいは未経験の分野を織り交ぜる 全く見当がつかなければ、つくところまで分解する 出来るだけ、物事を単純化して考える チャンスが来やすい仕組みを作る 組織内の第一人者の分野を作る⇒仕事が集まり易い やりたい事をアピールしておく チャンスをつかむ チャンスがあれば、飛び込む!!

Page 31: DevLove Kansai AWS

清水の舞台

Page 32: DevLove Kansai AWS

清水の舞台飛んでみよう!!

Page 33: DevLove Kansai AWS

清水の舞台飛んでみよう!!実際は、あまり死にません

Page 34: DevLove Kansai AWS

清水の舞台飛んでみよう!!実際は、あまり死にません生存率は、約85%

Page 35: DevLove Kansai AWS

清水の舞台飛んでみよう!!実際は、あまり死にません生存率は、約85%たまに死ぬので注意

Page 36: DevLove Kansai AWS

ご静聴、ありがとうございました。