クラウドコンピューティング概論(Cloud Computing Basics)

各論

クラウドコンピューティングとは

Lots of storage + compute cycles nearby (from: coursera)

とくに, 現在 (2015) は以下の新しい特徴が注目されている.

  • Massive scale
    • 巨大なスケールのデータセンター. クラスター.
  • On-demand access
    • お金を払えば誰でもアクセス可能.
  • HaaS
    • Data-intensive Nature:データの増大
    • New Cloud Programming Paradiums
      • (MapReduce, Hadoop, NoSQL, Cassendra, MongoDB)

Cloud 構成要素

A Single-site cloud (=Datacenter) は以下で構成される.

  • Compute nodes
  • Switches, connecting the racks
  • A network topology, hierachical
  • Storage
  • Front-end for submitting jobs and receiving client requests
  • Software Services

A geographically distributed cloud は single-site cloud を連携させる.

  • core switch
  • top of rack switch
  • rack
  • servers

Scale out/Scale up

  • Scale up

    • grow your cluster capacity by replacing with more powerful macines.
      • Traditional approach.
      • Not cost-effective
      • you need to replace machiens often.
  • Scale out

    • incrementally grow your cluster capacity by adding more COTS machines.
      • Cheaper.
      • Over a long duration, phase in a few newer machine.
      • Used by most companies who run datacenters and clouds today.

🔖ingress/exgress

アプリだとdownload/uploadという用語があるが, クラウドだとingress/exgressが言葉として利用される. 直訳は,

  • exgress = 下り
  • ingress = 上り

exの接頭語はexternal, inの接頭語はinternal. 起点はクラウドになる.

ややこしいのが起点によって立場がかわること. クラウドからみたuploadは外部ネットワークからみるとdownloadになる, 逆も然り. なのでこの用語を用いるときは単独では意味を判断できない, 起点とともに用いる.

On-Demmand Access

オンデマンドアクセス. 以下のような技術背景がある.

  • Computation-Intensive Computing 演算処理の集中
  • Data Intensive データの集中

データの集中によって, 注目は computationn から data に変わった.

  • 計算技術は CPU の高速化よりも, Disk や Network の I/O がボトルネックになってきた.
    • メニーコアや高密度メモリによって, アプリがボトルネックになってきた.
    • 関数型言語が重要視されるようになってきた.

Public cloud

お金を払えばだれでも利用できる.

  • Amazon EC2
  • Amazon S3

セットアップ不要. 時間とお金を節約できる.

Private cloud

会社の社員が利用できる. オンプレミス, オンプレ.

ASS Classification

🔖PaaS

Platform as a Service.

ソフトウェアを構築および稼動させるための土台となるプラットフォームを, インターネット経由のサービスとして提供する.

ref. Platform as a Service - Wikipedia

アプリケーションソフトが稼動するためのハードウェアや OS などの基盤 (プラットフォーム) 一式を, インターネット上のサービスとして遠隔から利用できるようにしたもの.

ref. PaaS とは 【 Platform as a Service 】 - IT 用語辞典

🔖IaaS

Infrastrucure as a Service.

仮想化技術を利用して CPU, ストレージ, OS, ミドルウェアなど, システムを構成するためのインフラをインターネット経由で提供するサービス.

  • プロバイダーは基板となるストレージ, ネットワーク, コンピューティングリソースを管理し, 提供.
  • OS や FireWall のようなネットワーク制御コンポーネントなどのアプリケーションをデプロイ, 実行, コントロールすることが可能です.

VM 上でサービスを提供する.

🔖SaaS

Software as a Service

  • Evernote
  • Google mail

🔖FaaS

Function as a Service.

Software Defined Infrastructure

ソフトウェアを中心としたインフラ構築のビジョン.

Software-defined data center (SDDC) is a vision for IT infrastructure that extends virtualization concepts such as abstraction, pooling, and automation to all of the data center’s resources and services to achieve IT as a service (ITaaS)

「 Software Defined 」とは「 (手作業ではなく) ソフトウェアで定義・制御する環境」を実現する, または目指すという意味

各ベンダの動向

Intel - Software Defined Infrastructure (SDI)

データセンターのサーバー, ネットワーク, ストレージを統合する戦略.

SDI の大きな特徴は, コンピュート (CPU, メモリ), ネットワーク, ストレージなど, データセンターを構成するハードウェアをすべて抽象化して, ソフトウェアで自由に設定を変更することができる点

ハードウェアとソフトウェアがタイトに結びつくのではなく, ハードウェアを抽象化し, 必要に応じてソフトウェアから設定を変更するだけで, サーバーのリソース構成をダイナミックに変更できるシステムが必要になってきた

Cisco - Software Defined Network (SDN)

Software-Defined Networking.ネットワークにおける Software defined.

EMC - Software Defined Storage (SDS)

EMC のとなえる戦略. ストレージにおける Software Defined.

実現するための技術・ OSS

OpenStack

OpenFlow

OpenFlow とはソフトウェアによってネットワークの構成を行うための新しい標準.

CloudStack

Hydrogen

OpenDaylight Project とは, SDN (Software Defined Network) のプラットフォームを開発するプロェクト. Linux Foundation Project のひとつ.

SDN の市場育成とともにこの分野の革新とユーザ環境への導入促進を目的に活動を開始したのが「 OpenDaylight 」です. 業界をリードする素晴らしいメンバー (Platinum/Gold スポンサー:Brocade, Cisco, Citrix, Ericsson, IBM, Juniper, Microsoft, Redhat, NEC, VMWare) が参加し, 複数のインダストリ プレイヤーによるコントリビューション (HackFest 参加, ソースコード寄贈, 共同開発) によりコントローラ フレームワークを形成.

OpenDaylight が開発したオープンソース コントローラ フレームワークが Hydrogen.

BookMarks

Software Defined Archtecture

サービスをorchestrationしたりprovisioningしたりするメカニズム.

Software Defined Infrastructe

このページで紹介されているアーキテクチャがわかりやすい.

以下, 引用.

  • Orchestration ・・・ 下位の機能レイヤの API を通じて全体のプロビジョニングを実施.
  • Controller ・・・ 上位レイヤからの API を介した指示にしたがって, Device の設定変更を実施.
  • Device ・・・ 上位レイヤの API を介した指示にしたがって, 必要な IT リソースを提供.

Rack Scale Architecture (RSA)

Intel が提唱するアーキテクチャ.

これはよくわかならいな.

Immutable Infrastructure

一度サーバーを構築したらその後はサーバーのソフトウェアに変更を加えないこと.

変更は設定がかかれた設定ファイル (Code) に加える.使い捨てサーバ.

以下の説明がとてもわかりやすい.

Windows って調子が悪くなると再インストールしてすっきりさせるじゃないですか. OS にいろんなソフトウェアをインストールしたりカスタマイズしたりすると調子が悪くなりますが, 再インストールすれば戻ります.

だったら, そもそも毎回作り直せばシステムはすっきりするよね, というのが簡単な Immutable Infrastructure の説明です.