devlove kansai aws

Post on 11-Aug-2015

3.049 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

2015/7/24DevLOVE関西 勉強会

佐々木拓郎

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

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

自己紹介

ちょっと宣伝

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

http://amzn.to/1lsJ5id

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

もう1つ宣伝

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

http://amzn.to/1BLiYcO

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

NRIネットコム

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

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

会社の紹介

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

アンケート

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

今日の主題

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

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

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

クラウドファースト

 クラウドファーストとは、企業が情報システムの設計や移行に際してクラウドサービスの採用を第一に検討する方針のこと。特に、システムの運用基盤として外部企業が運営する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

クラウドネイティブ

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

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

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

もう少し解りやすく

3-Tierアーキテクチャ

リクエスト 操作

Web/APサーバ (ec2)

ストレージ (S3)

NoSQL (DynamoDB)

データベース (RDS)

レスポンスモバイル

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

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

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

2-Tierアーキテクチャ

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

NoSQL (DynamoDB)

モバイル

認証管理 (Cognito)

Credential 取得

キューサービス (SQS)

計算処理 (Lambda)

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

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

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

⇒たぶんNo!

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

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

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

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

Amazon DynamoDB NoSQLデータベース

Amazon APIGateway API作成サービス

Amazon Lambda

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

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

の呼び出し

何らかの 処理

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

Lambda

Amazon DynamoDB

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

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

外部のWeb サービス等

Lambda

Lambda

Http Proxy

AWS Proxy

HTTPで 呼び出し

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

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

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

⇒たぶんNo!

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

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

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

エンジニアの方向性

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

駆け出し エンジニア

スーパ エンジニア

業務 エンジニア

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

業務知識

技術力

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

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

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

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

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

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

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

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

※1990年代の知識です。

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

清水の舞台

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

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

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

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

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

top related