class: title, smokescreen, shelf, no-footer # ソフトウエア工学概論<br>ディプロイ体験 はじめに <div class=footnote> <small> </small> </div> --- class: compact # 本日のdeploy体験、そして... <div class=footnote> <small> (脚注1) SaaSはOffice365で毎日体験してる (脚注2) 来週以降、自由課題の相談(AWSまわり)にのります </small> </div> 1. 導入: [ITインフラを勉強するべき理由](/slides/columns/career/infra/) 1. 必修: 本日のdeploy体験 - **PaaS**を体験 (**配布したアプリ**をuploadするとhello worldが表示されます) - プロメンインフラ部作成のPaaSサービスで動かします - **IaaS**を体験 (AWS EC2上に自分のホームページを表示するWWWサーバを構築) - **www.py(pythonで書いたWWWサーバ)**を動かしてもらいます - index.htmlはネットワークの演習で作成したものでok - 定番のapacheやnginxではありません(それらは秋学期の演習でね) 1. 選択: 任意の(自由)課題(今日はお相手している余裕がありませんが...) - IaaS体験で利用するプログラム(www.py)は最終課題の改造元として利用できます - www.pyには次の機能が仕込んであります - WWWサーバ(IaaS体験で利用する部分) - 単純なhello worldを返すAPIサーバ (HTTPのGETメソッド) - じゃんけんAPIサーバ (HTTPのPOSTメソッド) --- class: img-right,compact # PaaS/IaaS体験での動作確認の様子(必修) ![](images/hello-world.png) - PaaSでアップロードし各自のURLにアクセスしたとき(配布するバイナリ) - 単に`hello world`とだけ表示されます - IaaSでWWWサーバを動かしたとき(www.py,右図) - コンテンツはネットワークの演習と同じindex.htmlを使ってok --- class: compact # [参考] 自由課題のための仕込み(www.py) ``` 実行例: 作成したAWS EC2のPublic IPが10.20.30.40の時に動作試験のためcurlコマンドでPOSTをした様子 % curl -X POST -d jibun=2 'http://10.20.30.40/api/janken/v1' <html><body> [2,2,0] # jibun = paa, aite = paa, kekka = aiko </body></html> ``` - じゃんけんサーバのデモ [http://www.ex2022.fml.org/~fukachan/janken/](http://www.ex2022.fml.org/~fukachan/janken/) - 使う HTTP Protocol は同じなのでバックエンドが何言語だろうと動作は同じ (あたり前, python perl golang 3兄弟がready;コメントが少しずつ違いますけどね) ![height180px](images/janken-page.png) --- class: title, smokescreen, shelf, no-footer # クラウドサービスとは? <div class=footnote> <small> </small> </div> --- class: img-right,compact # クラウドサービス <div class=footnote> <small> </small> </div> ![](images/XaaS-cloud-types.png) - バズワードの代表例(cloud, security, ...) - クラウドサービスとは? - NIST定義も9割方cloud固有ではない - **豊富な在庫**を抱えた**仮想環境**のレンタルサービスの総称 -> **迅速な変更可** - ほぼ商品名なので、実態が上の定義を満たさないものもある - あとづけで「ほげクラウド」という名前を作っている感あり - 世の中にはバズワードを作って嬉しがってる人がいるからね、 だまされないようにしたい; [これらは同じ?例] ASP == SaaS ?, 専サバ == ベアメタル? --- class: img-right,compact # クラウドサービス <div class=footnote> <small> (脚注) 物理作業が発生しないだけでサーバ構築作業はあります。 クラウドってブラウザをポチポチするだけでサーバが作れるんだ〜 はい作れます、即日やられるサーバとかな;-) 作れるというのは妄想。 秋学期に体感しよう </small> </div> ![](images/XaaS-cloud-types.png) - SaaS (サービス) - ブラウザで使えるサービス(メール, ストレージ, チャット, 営業支援ほか) - 例: Office365 - PaaS (実行環境の提供) - SaaSよりカスタマイズしたい -> 自社アプリを開発して実行したいがソフトやRDBMSの導入や保守は業者にまかせたい。 例: Salesforce, Heroku - IaaS (仮想サーバ) - ブラウザ上で(仮想的な)PCやスイッチを購入,設定できる。 フルカスタムの(My)サーバ設備。 例: AWS EC2