なかっちゃんtech blog

勉強会とか日々の勉強の記録

Serverless Frameworkと出会った

最近全然更新してないですね(東京から帰ってきてから更新してないじゃんということに書き出す前に気づいた。)言い訳はしませんが、個人的にかなり大きなことがあったのでなんかもう書く気にすらならなかった(ネタもなかった)。

じゃあ今日はServerless Frameworkの話していきたいと思います。AWSもからむのでLambdaのお話もします。ただホント説明を受けたくらいなのでいろいろなサイトを見ながら書いてます。

Serverless Frameworkとは

一言で言うとサーバレスでいろんなことができる(そのまま)ってイメージですかね。ちまたじゃ注目を浴びてるみたいですね。
公式サイト
github

そもそもServerlessとは

最初聞いたときは"すっげーサーバいらねえんだ なんかブロックチェーンみたいやな"(なおブロックチェーンもよくわかってない)って思ったんですけどんなわけないですよね。 んで引用[1]に書いてあった、"Why The Future Of Software And Apps Is Serverless"のそもそもServerlessとはなんぞねと言うところだけ抜き出してきました。

Thinking Serverless

The phrase “serverless” doesn’t mean servers are no longer involved. It simply means that developers no longer have to think that much about them. Computing resources get used as services without having to manage around physical capacities or limits. Service providers increasingly take on the responsibility of managing servers, data stores and other infrastructure resources. Developers could set up their own open source solutions, but that means they have to manage the servers and the queues and the loads.

Multiply this effort by the number services an app might consume (task processing, message queues, SMTP servers, payment services), hosted services quickly start to look like the future of computing.

エンジニアがサーバーの事考えなくてもええよーって意味ですね。AWSGoogle Platform,Azureのこと知ってたのになんでわかんなかったんかなw
今まで発生していたインフラ側のトラブルがほぼ無くなるわけですね。(AWSはS3がこの間トラブってましたがそれでもかなり高い稼働率)しかも使用する会社としてはそこの責任は自社にはないので"治るまでまってくださいーい"で終わるわけですね。そりゃあ流行るわな

それを踏まえて何ができるの?何が動いてるの?

こっから先はAWSのお話ですすめて行きます。(僕自身がAzureとかいじる予定はないので) あとわかりやすいサイトを[3]においておきますね。先輩から聞いたお話や調べたもののまとめですけどわかりやすくまとめるとなんらかのトリガーによってAPI Gatewayを経由してLambda Functionを呼び出し処理を行うって感じになるんですかね(用語の説明は下にしますね。)この説明はServerlessFrameworkを使ってAWSで実装するときのイメージになりますね。我ながらすっごい抽象的なことしか言えないですね(これから勉強するんだからそりゃそう)まあ処理によってはAPI Gatewayを通らないこともあるんですかね(DBの更新をトリガーにするとかしたらそうなりそう)できることはLambda Functionでできることはなんでもできるって感じですかね?

API Gateway

調べてたらAPIの意味がそもそもちゃんとわかってないなってわかったので下に書いた。 じゃあ気を取り直して行きましょう。引用[4]がわかりやすかったです。APIの管理システムなんですね。さあそれを聞いたらなおさら頭は混乱してきた。"なんでAPIを管理するシステムを通る必要があるの?参照でもしてるのかな あとこの感じだとさっきのAPI Gatewayを通らないものがあるってのも怪しい感じですね"(今の脳内)

API

http://it-trend.jp/words/api 規約、関数の集合のことなんですね。

Lambda

任意のトリガーに対して任意のコードを実行してくれるサーバくらいの認識でいいのかな。 知識も語彙力もないのでこれ以上のことがかけないです

REST API

でてきてないけど(自分用) ここ

これに関しては1年間くらいかけてやっていくことになるのでゆっくり成長していきます。

追記 Socket Proxis

これ便利ですね。大学のLANに入り込むのもいちいちいろいろソフトを起動しなくていい sshの"-D"optionでポート指定してProxis設定すればいいというお話kyutechのみなさんお試しを(iscのアカウントで入り込めばいい)

引用

[1]サーバなのに?サーバがない?サーバレスアーキテクチャの使いどころ

[2]Why The Future Of Software And Apps Is Serverless

[3]サーバーレスアーキテクチャという技術分野についての簡単な調査

[4]5分でわかるAmazon API Gateway