Scalrの紹介

# Scalrの紹介
 - Scalrとは
  - 複数のクラウドサービスをポータルから一元管理出来るクラウドマネジメントプラットフォームです。
 - Scalrの提供形式
  - SaaS型
  - オンプレミス型 (エンタプライズ版)
  - オンプレミス型 (オープンソース版)
 - Scalrが管理できるクラウド
  - パブリック: Amazon EC2, Google Compute Engine, Azureなど
  - プライベート: OpenStack, VMWareなど
 - Scalrのメイン機能
  - マルチクラウドサービス対応
  - オートスケール機能
  - 課金・コスト管理
  - Chef/Puppet/Ansibleとの連携
  - Build-in Automation

# Scalrの構築
 - オープンソース版のインストール方法(All-in-One)
   - VM数： One Single server
   - OS: Ubuntu 14.04.x LTS
   - 構築手順
     - Step1: # curl -L https://packagecloud.io/install/repositories/scalr/scalr-server-oss/script.deb | sudo bash
     - Step2: # sudo apt-get install -y scalr-server
     - Step3: # sudo /opt/scalr-server/bin/scalr-server-wizard
     - Step4: # sudo /opt/scalr-server/bin/scalr-server-ctl reconfigure

# Scalrを使ってみる
 - Scalrを実際触る前に、よく使われる基本機能を紹介します。
   - Image：Cloud環境にあるイメージを使うために、予めImageとしてScalrに登録されることです。
   - Role:イメージの指定と、その上に載せるアプリ（例えばApache)などの情報を設定出来るテンプレートです。
   - Farm:いくつかのロールを組み合わせたインフラトポロジーです。実際のCloud Instanceをデプロイするものです
 - クラウドの登録
   - OpenStack
     - [CLOUD CREDENTIALS] ⇒ [ADD CREDENTIALS] ⇒　[Openstack]の順で選択し、必要な認証情報を入力して保存します。
   ![openstack.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/32f1b312-8b3a-cd17-e1b9-273df545533f.png)
   - VMWare
     - [CLOUD CREDENTIALS] ⇒ [ADD CREDENTIALS] ⇒　[VMware vSphere]の順で選択し、必要な認証情報を入力して保存します。
     ![vmware.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/4e67a646-23c1-be50-0b50-cefdd7da4fef.png)
 - VMをDeployしてみる
   - ユーザ作成
     - [USERS] ⇒ [NEW USER] の順で選択し、必要な情報を入力して作成します。
     ![user.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/959a1085-3afe-8513-f4db-c0ffbe0eeffb.png)
   - 環境作成
     - [ENVIRONMENTS] ⇒ [NEW ENVIRONMENT] の順で選択し、必要な情報を入力して保存します。
     ![environment.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/598fe072-4043-2464-fcbf-99dbd73db154.png)
   - イメージ追加
     - 事前に作った環境を選択して、[IMAGES] ⇒ [NEW IMAGE] ⇒ [Register Existing Image]の順で選択します。
     ![image-1.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/6a61fbb2-4c10-b6a6-e6b4-f9e429c7e5d5.png)
     - CLOUD側に予め用意されたImage IDを入力します。
     ![image-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/c25112bf-79a5-8bc9-f7f5-21e22c85e032.png)
     - 追加に、Imageに必要な情報を入力して登録します。
     ![image-3.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/5e695359-132d-2c55-19ac-5a07e29d1636.png)
   - ロール追加
     - [ROLES] ⇒ [NEW ROLE] ⇒ [NEW ROLE]の順で選択します。
     ![role-1.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/1dc315c8-a695-74c8-c5ac-fdf4ba46172e.png)
     - [ROLE OVERVIEW]タグをクリックして、ロール名、OSの種類などの基本情報を入力します。
     ![role-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/afdad000-6b2d-c7db-6a99-0d22bf3f1834.png)
     - [IMAGES]タグをクリックして、[ADD IMAGE]でクリックします。
     ![role-3.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/5b2b4c7d-df26-4e62-0d6f-8b73d6fa2917.png)
     - すでに登録されてるイメージを選択し、追加します。
     ![role-4.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/7a84e1ac-3fce-4486-d785-023d4f0bfcde.png)
     ![role5.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/55ea4076-bb0a-acc2-5069-35dc1006d6fb.png)
     - 設定終わったら、Saveをクリックして、ROLEの作成が完了しました。
     ![role-6.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/5d032701-9e14-e419-d54f-17e07f899a20.png)
   - ファーム追加およびデプロイー
     - [FARMS] ⇒ [NEW FARM] の順で選択します。
     ![farm-1.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/19a89939-25be-853f-b917-75c7a54019e9.png)
     - [GENERAL]タグをクリックして、ファーム名、コストセンターなどの基本情報を入力します。
     ![farm-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/bd81f55b-a0fb-4d04-7325-453b7415040b.png)
     - [ADD FARM ROLE]をクリックして、すでに作られているロールを選択し、[ADD TO FARM]で追加します。
     ![farm-4.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/db971aa2-3273-0dda-ab00-042a1367efc7.png)
     - 追加されたロールを選択して、ロールに関する詳細設定を行います。
     ![farm-5.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/67038f8e-4f74-710e-b629-278a2ccf9004.png)
     - 設定が終わったら、[SAVE&LAUNCH]をクリックすることで、FARMが作成され、そしてデプロイが自動的に開始されます。
     ![farm-6.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/22c271ea-007e-98a3-0c8f-081b05d1e490.png)
 - その他機能
   - オートスケールの設定
     - ファームに追加したロールに対して、オートスケールの設定を行えます。
         - 例えば、[MAX INSTANCES]の設定、[SCALING METRIC]の指定など
         ![auto-scaling-1.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/1968ef5e-b3fe-0e39-c403-072b2ac055db.png)
     - 利用するScaling Metricに対して、詳細の設定も行えます。
         - 例えば、[FreeRam]Scaling Metricに対して、Scale up/downをトリガーするときのメモリ値。
         ![auto-scaling-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/7b4547de-889f-c60f-8d1e-46f8d7714698.png)
   - コストセンターの設定
     - Global Admin権限を持ってるユーザでログインして、[Cost Analytics]を選択します。
     ![cost-center-3.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/c2274dd4-9238-0ee3-a52c-5afde0c98f99.png)
     - [COST CENTERS]タグをクリックして、新しいコストセンターを作成できます。
     ![cost-center.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/bb17f9d6-4146-6e31-450d-ddc21561aaed.png)
     - [BUDGETS]タグをクリックして、各コストセンターへバジェットの設定ができます。
     ![cost-center-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/d71e4a08-6bba-8be7-71f3-958b81adcd6a.png)
   - ファームデプロイのScheduling
     - [Tasks Scheduler]を選択します。
     ![scheduling-1.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/300d1722-d384-982a-1d77-668549814799.png)
     - [NEW TASK]をクリックします。
     ![scheduling-2.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/feb89516-2ea6-32f2-bdc5-6dbeac138c27.png)
     - タスク名、スタート時間、ターゲットとなるファームなどの情報を入力します。
     ![scheduling-3.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/4e453b41-6027-0fbc-2921-bf22d62f25e2.png)
     - 最後に、[CREATE]をクリックします。
     ![scheduling-4.PNG](https://qiita-image-store.s3.amazonaws.com/0/170099/88716fc5-79da-fa69-4c03-127151149f74.png)

# Scalrの活用シーン
 - シーン１：
   - 背景：複数の仮想環境（VMware, OpenStack, AWSなど）を使っていて、それぞれにVMのDeploy/Deleteを行う必要な場合があります。
   - Scalrの活用ポイント：環境ごとに対応するイメージを予めロールとして用意していて、複数のロールを一つのファームにまとめて、各環境へVMの展開を、そのファームをDeployするだけで済ませる。
 - シーン２：
   - 背景：Web3層システム（WEB,AP,DB）を構築するために、それぞれのサーバを構築し、一台ずつConfigをする必要があります。
   - Scalrの活用ポイント：WEB,AP,DBそれぞれのロールを予め用意して、一つのファームにまとめて設定すれば、このファームをDeployするだけで、サーバの起動・構築からそれぞれのConfigまでWeb3層システムを自動的に構築できます。

# 最後に
いかがでしたでしょうか。Scalrを使うことで、本来手間がかかるマルチ仮想環境のDeploy&Operationが簡単に実現できます。
今後でも、Scalrの豊富な機能について、それぞれを続けて紹介していきたいと思います。