はじめに
1年前頃から話題になっている、サーバレス。 インフラ知識ほぼゼロに等しいわたしからしてみると、 サーバレスという言葉を聞いた時、『????』。 サーバレスってことはサーバがいらないってこと!?じゃあどうやってシステム動くの? 分からないことだらけです。ということで調べてみました。
素人目線の見解なので、ツッコミポイントも多いと思いますが...ご容赦ください。
サーバレスとは
特に決まった定義は今のところ存在しないようです。
色々と調べていく中で一番しっくり来たのがこれ。
オンプレミスで運用していた時代から基盤の主がクラウドへ移り、システムのメンテナンス性や拡張性を柔軟にするために、クラウドの管理までなくしてしまう、サーバレスアーキテクチャという考え方が注目されています。
http://www.kobelcosys.co.jp/column/itwords/20160401/
実際、”レス”といってもサーバ自体が全く無いわけではないです。
例えばサーバレスを実現するために
"AWS S3+API Gateway + Lambda"
を利用したとします。
これらは全てAWSのサービスなのでサーバの管理はAWS側でやってくれます。
サーバ自体は存在していますが、管理が不要なのでサーバの存在を意識せずに運用をすることができます。
この”存在を意識しない”というところがサーバレスのポイントなのかな、と思います。
※AWSを使ったサーバレスとは上記のようなサービスを使う、ということの他にEC2やRDSを使わ無い。という考え方もあるようです。
サーバレスのメリット
・サーバの管理が不要
セキュリティのアップデートやバックアップ、容量可変など、サーバ保守が不要になる。
もちろん構築も不要。
・コストパフォーマンスに優れている
管理が不要になる分、人件費もその分カットされ、尚且つサーバレスはプログラムの処理が必要な時だけ動作させることができます。AWSなども利用料で課金されるので必要な時だけ動作するこの仕組みは非常にコストパフォーマンスに優れていると言えます。
これだけ見ていると、サーバレスってインフラ屋さんがいなくても大丈夫なのでは?と思ってしまうのですが。
例えば、短期的なキャンペーンサイトを作らなければならないとなった場合。
まずサーバの手配をしなければなりません。
ほぼ静的なサイトなので、サーバレス程度の基盤で十分。時間もコストもかけずに環境を用意したい。
サーバレスなんてどうだろう?
でも一体サーバレスな環境ってどうやって用意するの?
といった時に何も気にせずサーバレスの環境を提供してもらえたら嬉しいですよね。
こういうサービスを提供するのもインフラ屋さんのお仕事だと思っています。
もちろんサーバレスを提供する上でのコストも抑えられているので、お客様にも低価格で
サーバレス環境を素早く提供することが可能になります。
また、実際利用してみるとサーバレスでは不十分という場合にも、他のサービスを組み合わせて最適な環境を作り出すお手伝いができます。
所感
この記事を書くまでも色々なサイトを調べ、やっとまとまってきた感じなのですが、それでもまだほわーーんとしている状態です(笑)
どの方も述べられているのが、サーバレスとはまだ未発達の分野であり、決まった定義がないということ。
オンプレミス→クラウド→サーバレス
と時代はどんどん変化していますが、変化する一番の要因はより時間とコストをかけず、
いかに楽に柔軟に運用できるか、ということ。
そしてその変化のスピードが速いのもこの業界ならでは。
インフラってあるのが当たり前であり、動いているのが当たり前。
はっきり言ってエンドユーザにとっては全く意識されていない裏の世界。
だからこそそこに従事しているエンジニアが少しでも楽をして、尚且つ更に+αのサービスを作り出すことができるようになればいいですよね。
その上でサーバレスアーキテクチャというものが今注目されているのかな、と。