FaaSの利用事例6選!FaaSのメリットやクラウドエンジニアの働き方も丸わかり!
今回は「FaaS」について迫ります!FaaSという言葉自体は普段生活であまり耳にする機会はないかもしれませんが、近年のインターネット、人工知能分野やその他IoT分野など様々な事業において欠かせないサービスになりつつあります。今回はそのサービスが利用された事例と共にそのメリットやクラウドエンジニアの働き方についても併せて紹介いたします!
目次
FaaSで何ができる?
FaaSとは?
FaaS(ファース)とは「Function as a Service」の略称で、サーバーレスでアプリケーションの開発ができる環境を提供するサービスのことです。
FaaSではサービスベンダーがサーバーの管理をすべて担うため、開発に集中できるメリットがあります。
また、世界三大クラウドと呼ばれるAWS、Google Cloud、Azureがあります。これらのクラウドはそれぞれFaaSを提供しています。
- ・AWS:世界で最も利用されており、事例が豊富なことや、AWSが提供する他サービスとの連携が容易です。FaaSは、AWS Lambda
- ・Google Cloud:マニュアルが充実しており操作がわかりやすく、毎月の無料枠が充実している
- ・Azure:Windowsベースのクラウドであり、Windowsとの親和性が高くWindows系の技術に精通したエンジニアには特に扱いやすい
米調査会社Canalysの最新調査によれば、2022年第2四半期の世界のクラウドシェアは1位がAWS31%、2位はAzureで24%、3位はGoogle Cloudで8%となっています。
他のクラウドサービスとは何が違う?
IaaS
IaaSはサーバーやストレージ、ネットワークなどのハードウェアやインフラを提供するサービスです。
IaaSとFaaSの大きな違いは、運用負荷の差です。
IaaSはFaaSやPaaSよりも汎用性が高い反面、開発者自ら制御すべき範囲が広く、運用負荷が大きいです。
PaaS
PaaSは、OSやミドルウェアを提供するサービスです。
PaaSとFaaSの大きな違いは、操作に対する反応の違いです。
PaaSは、処理すべきリクエストがあるたびにアプリケーション全体を起動します。(リクエストリプライ方式)
一方で、FaaSは処理が発生したときのみ反応します。(イベントドリブン方式)
また、バックグラウンドで常時サーバープロセスを実行する必要があるのもPaaSの特徴です。
CaaS
CaaSは、FaaSやIaaS、PaaSと同様にアプリケーション構築のための環境です。
大きな特徴としては、「コンテナ技術」を用いてアプリケーションの動作環境を仮想化して区切る、連携性を高めることに重きを置いているという点です。
これによって環境に依存しないアプリ開発を可能とする一方で、管理すべき項目が増加します。
FaaSでアプリケーション開発が楽になる?
FaaSを利用するメリット
幅広いプログラミング言語に対応している
FaaSは開発環境の自由度が高く、幅広いプログラミング言語に対応しています。
そのため、さまざまな人が使用でき、使用範囲も広いというメリットがあります。
サーバー管理が楽になる
サーバーレスのため、サーバーの管理・維持といった負担から開放されます。
労力を大幅に減らすことができるため、アプリケーション開発に集中できるのです。
サーバーレスでアプリ開発できる点はBaaS(Backend as a Service)と共通しています。
拡張性が高い
必要に応じて自動的にスケールしてくれる等、拡張性が高いです。
従来のサービスと組み合わせることで既存のアプリケーションを拡張できる利便性も特徴です。
FaaSを利用するデメリット
処理遅延の可能性がある
高性能なFaaSはネットワークを介して作業するため、レイテンシー(latency)が生じます。サーバー接続機械が増えると当然作業が遅延する恐れが高まります。
設計の難易度が高い
言語に対する汎用性が高い、柔軟性がある反面FaaSは設計の難易度が高い面があります。
FaaSのようなクラウドサービスを利用するためには、マッチする設計を個別に行う必要があるためです。
制約がある
プログラミング言語やデータベース管理システムのようなミドルウェア、APIなども原則として事業者側が用意した環境しか利用できないという制約もあります。
FaaSの注意点も
FaaSのメリットに使用範囲の広さが挙げられる通り、多様なサービスごとに仕様が異なる点に注意が必要です。
用いられるプログラミング言語はもちろん、デプロイ方法や連携性が異なるため、料金体系に違いが生じます。
このような違いを理解したうえで利用を決める必要があり、仮に環境を変更する場合には多くの手間が発生することは理解しておく必要があるでしょう。
【企業別】FaaSの利用事例5選!
ここでは、クラウドシェアNo.1のAWSが提供するFaaS「AWS Lambda」の利用事例を紹介します。
iRobot
iRobotは、グローバルな消費者向けロボットのトップ企業です。
iRobotは顧客への価値提案に注力し続けており、それを実現するためにAWSにクラウドを移行しました。
AWS IoTとAWS Lambdaをベースとするサーバーレスアーキテクチャを使用することでクラウドプラットフォームのコストを低く抑え、開発者はビジネス価値の創出に時間を使うことができます。
参考:iRobot の導入事例
スクウェア・エニックス
スクウェア・エニックスでは画像の処理速度を上げるためにFaaSを利用しています。
実際に、数時間かかった画像処理が数十秒でできるなどの効果がありました。また、コストもオンプレミスと比較して20分の1に削減することができています。
三菱東京UFJ銀行
三菱東京UFJ銀行では4000 万顧客口座の取引明細を対象とした分析可能なプラットフォームを、AWSで活用しています。
金融機関に必要なセキュリティレベルを AWS の各種機能を活用して確保し、分析者に自由な環境を提供することで、金融サービスの新しい活用法としてこれを推進しています。
参考:4,000 万口座を対象とした分析プラットフォームをAWS プロフェッショナルサービスを活用して 3 ヶ月で構築
日本経済新聞社
日本経済新聞社では、画像処理のパフォーマンス向上を目指し、AWS Lambdaを利用しています。
日経電子版のモバイルユーザーの増加に伴い、大きく変動するようになったアクセスに対して、臨機応変にシステムをリサイズできる拡張性や柔軟性の高さがあるAWSへシステムを全面的に移行しました。
移行後、運用管理の手間が大幅に削減されています。
トヨタコネクティッド
トヨタコネクティッドは安全性や利便性を高め、世界中のモビリティを向上させるため、AWSを利用しています。
同社では、ドライバーへのサービスを提供するためのプラットフォームを構築していましたが、データ量が多くコストがかさむという問題点がありました。
AWS利用することで、トヨタコネクティッドは大幅なコスト増なしにスケールを処理でき、全体の70%~80%のコストを抑制してサービスを提供することに成功しました。
FaaSのスキルが身につく・活かせるのはどんなエンジニア?
クラウドエンジニアとは?
クラウドエンジニアとはネット上にあるクラウドサービスを利用し、システムの構築や保守を行うクラウドに通じたエンジニアのことです。
一般的に「クラウドに精通したエンジニア」のことを指します。設計、構築、運用、保守作業といったクラウド対応をする点においては、インフラエンジニアと共通する部分があります。
また、扱うサービスによってクラウドエンジニアの仕事内容も変わってきます。ここでは3種類紹介します。
AWSエンジニア
コンピューティングからデータベース、機械学習、IoTなどのサービスがあり、幅広い案件への対応力が求められます。あらゆるクラウド環境の構築に対応します。
Azureエンジニア
マイクロソフト社のOSやソフトウェアと連携がとりやすいのが最大の特徴であり、ネットワーク構築やプラットフォーム構築、業務システム環境の構築といった事業があります。
GCPエンジニア
Googleの持っている最新技術やインフラを使用できるため、AWSと同様IoTシステムなどの開発から運用・保守やデータ分析基盤などを行います。
クラウドエンジニアに求められるスキル
インフラの構築経験
クラウドエンジニアにはインフラ要件定義・設定のスキルが必要となります。それはクラウドエンジニアのメインで携わる仕事の一つが、インフラ設計だからです。
将来的な拡張性やセキュリティを考えた上で、ネットワークやシステムの設計を行います。
クラウドに関する知識
クラウドエンジニアの業務はサービスがスムーズに利用できるように制御・管理などを行っています。
クラウドエンジニアは以下のようなクラウド環境の構築に関する知識が必要となります。
- ・サーバーの仮想化
- ・データベースの構築
- ・ソフトウェアの導入や設定
さらにクラウドにはパブリッククラウドやプライベートクラウド、ハイブリッドクラウドなどの種類があり、それぞれに対応できるスキルが求められます。
クラウドエンジニアにおすすめの資格
AWS認定資格
この資格はクラウド市場でも最大のシュアを誇るAWSの認定資格です。AWSのクラウドを扱うエンジニアにとって必須の資格といっても良いものです。
Microsoft Azure認定資格
Microsoft Azureの知識やスキルを証明できる資格です。Microsoft社が認定する資格のため、高い信頼性があります。
Google Cloud認定資格
「Google Cloud Platform(GCP)」の知識とスキルを証明できる資格です。近年需要が増加しているGoogle Cloudは3大クラウドサービスの一つでもあり、この資格を取得すればも増えるはずです。
クラウドエンジニアのキャリアパス
PM
システム開発やクラウド構築のプロジェクトに関わった経験などを生かして、PMに転身するキャリアプランがあります。
PMは豊富な経験や知識に加え、高いコミュニケーション能力、マネジメント能力、人望などが求められるため、そういった経験がある人、興味があり積極的に取り組んできた人におすすめです。
ITコンサルタント
ITコンサルタントはシステム開発の知識や経験、経営に関する知識や理解など、幅広い知識が求められます。
顧客へクラウド技術の活用によるIT戦略の提案、オンプレミスからクラウドへの移行、ハイブリッドクラウドなどを提案し、顧客の課題や問題点を解決するといった面で活躍できるでしょう。
スペシャリスト
スペシャリストは、ネットワークやサーバー、アプリケーションを含めたクラウド構造全般の専門性が高いエンジニアであり、クラウドの設計工程から開発工程、運用・保守までの豊富な経験を持ちます。
クラウドエンジニアのスペシャリストは、最新のクラウドやインフラに関するスキルを身につけたい人におすすめのキャリアパスです。1つの仕事の役割を追求し、更にスキルを伸ばしたい人向けです。
注目のFaaSを押さえてキャリアに活かしていこう
以上、FaaSに関してそのサービスの概要やクラウドエンジニア、大手クラウドサービスの紹介に加え、転職に必要なキャリアやスキル、資格などについて紹介してまいりました。
現在、企業だけではなく個人レベルでもクラウドを利用したサービスはますます普及し、広がっています。もし仮に転職を考える方は、これらを生かしたキャリアパスを考えてみるのはどうでしょうか?
IT・Web・ゲーム業界に強い転職エージェントのギークリーなら、転職のプロに相談しながら理想の条件の企業を見つけられます。転職を考えている方はぜひご利用ください。
\ IT転職のプロが無料でサポート! /
あわせて読みたい関連記事
この記事を読んでいる人におすすめの記事