こうして僕は学生起業家になった。ispec COOが語る、起業の背景。 | 株式会社ispec
こんにちは、ispec採用広報の山口です!今回はCOOの村脇さんにインタビューをしてお話を伺ってみました。村脇 光洋さん(むらわき みつひろさん)。 あだ名は"むらわき"。COO。フルスタック...
https://www.wantedly.com/companies/tech7/post_articles/160179
こんにちは、ispec採用担当の山口です!
ispecでは「ispecエンジニア同士で行っている知見共有をワークショップ形式で共有しよう!」というコンセプトの元、社外の人も参加できるワークショップを隔週で行なっており、今回は初の外部お披露目の記事となります!
※あくまで仕事ではなく会社の有志が集まる場なので、参加・不参加もメンバーそれぞれが自由に決められます。
今回はCOOで自身もエンジニアの村脇さんによる「Terraformを使って、誰でも自動デプロイのインフラ構築をできるようにする!」というトピックでした。
本当にざっくりの大枠で言ってしまえば「サーバーを全自動で立てる」ということを今日は教えるそうで、ispecエンジニア達も「それは知りたい!」と最初からかなりプレゼンに食いついていました(笑)
村脇:Terraformって聞いても分かる人は少ないし、人によっては「インフラってそもそも何?」って感じだと思うから、今日は"インフラとは何か?"についてから始めるよ。
Terraformで出来ることや、実際にispecの実務で使っていることについて解説するので、まずは一緒にやってみよう!
Terraformとは...
「インフラストラクチャ定義ツール」に分類されるツールで、クラウド上のリソースを定義ファイルの状態になるように生成・操作してくれるツールです。
山家:村脇さん、"インフラストラクチャ"って何ですか?僕、5文字以上のカタカナを口にすると拒絶反応が出る体質で。
村脇:アイスペックってカタカナで6文字だし、さっき冒頭で「ispecの山家です!」ってドヤ顔で言ってなかったっけ?
・・・それはさておき、インフラストラクチャは僕らが普段"インフラ"と呼んでいる物だよ!インフラに関して大雑把に言ってしまうと【サーバーを構築すること】だと思って貰えれば大丈夫!
※初心者に分かりやすくするための本当にざっくりの説明なので、悪しからず。
説明に必死で左手の荒ぶりすらもが自動化されている村脇さん
山家:なるほど、じゃあ"サーバーを構築する"って具体的にどういう作業が必要になるんですか?
村脇:AWSというクラウドサーバーを使う場合で考えていくとこんな感じです!
村脇:とまぁ、座学はここまでにしてAWSを使ってみんなでサーバー構築をやってみようか!
事前にみんなの分のAWSアカウント作っておいたから、Slackに貼ってあるIDとパスワードでログインしてみてもらえるかな?
プログラミングが好き過ぎてログインする時点でニヤニヤし過ぎる弊社エンジニアの図
操作した内容としては下記手順の通りで、約1時間ほどかけてEC2を立てて設定し終わりました!
(※細かい技術の話になって長文になり過ぎてしまうため、詳細は割愛します。)
AWS
EC2を立てる
インスタンス作成
docker導入
はぁ、疲れた。。これでサーバー構築も終わりかぁ。。。と思っていると...
村脇:で、今やってもらった作業というのがこのアーキテクチャ図の真ん中に書いてあるインスタンスの部分だけなんだよね(画面中央に見えるオレンジ色の四角)
実際のサーバー構築の一部分しかできていないことを知り、サーバーサイドを触ったことのないメンバーは全員驚愕。。
しかし、ここからがTerraformの本領発揮で、真の意味でメンバー全員が驚くことになります...!
村脇:さぁ!ここからが本題です!それではTerraformを使用してみましょう!」
全員:すでにTerraformのこと、すっかり忘れてたッ.....!!
村脇:うぉい!ここからが今日の本題だよ!!笑
ispecではTerraformを使って、実際にこんな感じの事をしています。
・githubの変更をAWSで検知する。
・AWSの構成を必要に応じて自動的に構築する。
・自動的にdockerをビルドする。
・自動で公開する。
堀:さらっと言っているけど、これすごいよね?
島野:さっき言っていたサーバー構築全て自動でやってるじゃん!
Terraformの詳しい詳細は割愛しますが、ワークショップでやった内容と流れはこのような形でした。
TerraformをAWS+Githubをする為に、
brew install terraformでTerraformをインストールする。
AWS CLI をセットアップする
パーソナルアクセストークンを取得し、環境変数で定義
main.tfを作成
terraform initをする
terraform applyをする
そして、いざTerraformを実行してみると...
コマンドを2つ叩いて1分程度放置しただけでサーバー構築が完了!
全員、あまりの速さに画面に釘付けになっていました...!
山田:村脇、めっちゃいい仕事!!
山家:こんなに速いんですか?さっきAWSでEC2を立てた時間は一体全体...。僕の寿命を1時間減らした意味とは...?
村脇:いやいや、実際に立ててみないとどれだけ効率的なことやっているかが分からないでしょ!笑
Githubの内容を変更してみてもしっかりと変更が検知されて公開までしっかりやってくれているので、それも確認してもらえるかな?
鈴木:半端じゃないな、この技術...。
村脇:いやー、反応が良くて何より!
これでもispecのCOOだからね、実際の業務にもすぐ活かせそうな技術をみんなに知っておいてもらいたかったので。
では、今回はこれにて大成功ということで!
・・・ということで今回のワークショップはいかがだったでしょうか?
本当に便利なので、ご興味持った方はぜひTerraformについて学んでみてくださいね!(もし質問があればispecの公式TwitterのDMまでどうぞ!)
また、ispecでは隔週でこうしたLT大会やワークショップを行なっているので、興味のある方は下記のTwitterのDMやWantedlyのMeetup枠などからお気軽にお申込みくださいませ!
・Twitter:https://twitter.com/ispec1nc
・Wantedly:https://www.wantedly.com/companies/tech7/projects