サーバーレスコンピューティング101

著者: Roger Morrison
作成日: 22 9月 2021
更新日: 1 J 2024
Anonim
サーバーレスとは​​何ですか?
ビデオ: サーバーレスとは​​何ですか?

コンテンツ


出典:Wavebreakmediamicro / Dreamstime.com

取り除く:

サーバーレスコンピューティングは実際には少し誤った呼び名です。サーバーは実際に関与しているだけで、クラウド内にあります。

初心者にとっては、サーバーレスコンピューティングのアイデア自体が信じられないように思えます。これは、ソフトウェア開発の歴史において、サーバーが不可欠だったためです。まあ、彼らはまだです。サーバーレスコンピューティングは、サーバーを陳腐化させないので、文字通り解釈する必要はありません。サーバーレスコンピューティングスキームでは、サーバーは引き続き重要な役割を果たしますが、特定の違いがあります。

ソフトウェア開発者は、サーバーについて考えたり、サーバーに基づいてコーディングを調整したりする必要がなくなりました。クラウドでホストされているサーバーがコード処理を担当している間、彼らは完全にコーディングに集中できます。サーバーの容量を計画する必要はありません。クラウドでは、要件に基づいてサーバーをスケールアップおよびスケールダウンできるためです。サーバー全体が常にアクティブであるとは限りません。要件に基づいて、その一部がアクティブになり、ジョブを実行してから休止状態になります。

多くの人は、サーバーレスコンピューティングがコンピューティング効率を向上させ、運用コストを削減できると考えています。彼らはそれを革新的なコンピューティング方法と見なしています。しかし、誰もが同意するわけではありません。議論の反対側では、サーバーレスコンピューティングが複雑さを増すと反論されており、複雑さを管理する方法は多くありません。

サーバーレスコンピューティングとは

すでに述べたように、サーバーレスコンピューティングは、コンピューティングやソフトウェア開発がサーバーなしで行われることを意味するものではありません。実際、サーバーはサードパーティベンダーによってクラウドでホストされています。したがって、ソフトウェア開発者は自分のコードに集中するだけでよく、サーバー、容量、展開などを考慮する必要はありません。サーバーには、コードを処理する関数と呼ばれる異なる部分があります。従来のコンピューティングとは異なり、サーバー全体が常にアクティブであるとは限りません。関数は特定のタスク(検証や検索など)を実行し、必要な場合にのみアクティブになります。機能は、要件に基づいて拡大または縮小できます。サービスとしてのソフトウェア(SaaS)やサービスとしてのプラットフォーム(PaaS)などの他のクラウドサービスと同様に、機能もサブスクリプションベースで提供されます。顧客は、機能がアクティブになっている間のみ課金されます。


歴史

サーバーレスコンピューティングはソフトウェア開発のかなり新しい概念であり、そのルーツは2006年まで遡ることができます。2006年、Zimkiというサービスは、ソフトウェア開発者がコードを記述してZimkisサーバーにアップロードできるソリューションを提供しました。コードの実行は、アプリケーションプログラミングインターフェイス(API)の形式で提供される機能によって実行されました。

次の主要な開発は、2014年にAmazonがAWS Lambdaの形式のコード実行プラットフォーム用の従量制システムを導入したときに行われました。ただし、このような斬新な概念が牽引力を見つけるのに非常に長い時間がかかったことに注意することは興味深いです(2006年から2014年)。何らかの理由で、サーバーレスコンピューティングの開発は、クラウドコンピューティングやモノのインターネット(IoT)のような他のアイデアほど大きな影響を与えませんでした。それにもかかわらず、AWS Lambdaは大企業からの最初のサーバーレス製品であり、Google Cloud Functionsとして知られるGoogleの製品を含む、他の多くの製品がそれに続きました。 2016年、IBMとMicrosoftは、それぞれOpenWhiskとAzure Functionsを発表することで、サーバーレスコンピューティングの時代に飛びつきました。

より深く潜る

サーバーレスコンピューティングをより深いレベルで理解し始める良い点は、サーバーレスコンピューティングとPaaSの比較です。概念としては異なりますが、実際にはPaaSはサーバーレス製品への第一歩です。 PaaSはインターネット上で開発者がソフトウェアアプリケーションを構築できるプラットフォームと環境を提供しますが、クラウド内のソフトウェアに必要な容量を計画する必要があります。ただし、サーバーレスコンピューティングを使用している場合、サーバーについて考える必要はありません。ソフトウェア開発者がコードをコーディングしてクラウドにアップロードすると、サーバーが引き継ぎます。

サーバーレスコンピューティングは、従量課金制のビジネスモデルで小さな機能が提供されるため、サービスとしての機能(FaaS)とも呼ばれます。このような関数は、ユーザー資格情報の検証などの小さなタスクを実行します。関数は、APIの形式で提供されます。ソフトウェアアプリケーションにはいくつかの機能が必要になる場合がありますが、すべての機能が同時にアクティブになるわけではありません。必要な場合にのみアクティブになります。たとえば、1つの機能が大量のトラフィックを受信して​​いて、それが過負荷になっている場合、その機能を拡張して容量を増やすことができます。そのため、アプリケーション全体をスケーリングする必要はありません。


バグやストレスなし-あなたの人生を破壊することなく人生を変えるソフトウェアを作成するためのステップバイステップガイド

誰もソフトウェアの品質を気にしない場合、プログラミングスキルを向上させることはできません。

サーバーレスコンピューティングが重要な理由

サーバーレスコンピューティングの重要性は、従来のコンピューティングとの違いにあります。従来のコンピューティングはビジネスに適していますが、いくつかの課題があります。費用、時間がかかり、コーディングが集中していないこと、スケールアップまたはスケールダウンが困難です。企業はこれらの問題の解決策を探しています。サーバーレスコンピューティングのユニークな利点は次のとおりです。

  • コーディングに焦点を当てる
    従来のコンピューティングでは、開発者はサーバーについて考え、それに応じてコーディングを調整する必要がありました。サーバーレスコンピューティングでは、コーディングに集中するだけでよく、残りはクラウドでホストされるサーバーが処理します。この集中力の向上により、コードの品質が向上します。
  • コーディングは潜在的に簡単です
    コードがサーバーレスコンピューティング指向の場合は、特定のそれぞれの関数で処理される小さなコードを記述し、コードが他のコードとうまく統合されることを確認するだけです。
  • 簡単に拡大または縮小
    サーバーレスコンピューティングインフラストラクチャ全体は小さな機能に関するものであるため、インフラストラクチャ全体をスケールアップまたはスケールダウンする必要はなく、必要な機能をスケールするだけです。そうすれば、処理とスケーリングもはるかに迅速に行われます。
  • より安価な
    通常、サーバーレスコンピューティングサービスを利用する企業は、サブスクリプションの料金を支払い、その後、機能の使用料を支払います。ただし、機能がアクティブで、使用可能にされている時間に対してのみ支払います。言い換えれば、企業は消費したものに対してのみ支払います。

サーバーレスコンピューティングの例

AWS Lambdaは、サーバーレス製品の最も顕著な例の1つです。企業は、コードを記述してLambdaにアップロードするだけで済みます。必要に応じて、Lambdaはトリガーに応じてコードを実行することにより、アプリケーションを自動的にスケーリングできます。関数またはAPIのワークロードが増加すると、関数がスケーリングされます。クライアントは、1秒未満の測定に基づいて請求されます。つまり、クライアントは、コードが実行される100ミリ秒ごと、およびコードがトリガーされた回数ごとに課金されます。そうすれば、コードの実行がない場合に支払う必要はありません。

結論

その独自性のすべてについて、サーバーレス製品には制限がないわけではありません。ソフトウェアアプリケーションが巨大な場合、いくつかの小さな機能が潜在的に非常に複雑なシステムを作成する可能性があります。このような複雑さを管理するためのツールが限られているため、状況はさらに悪化しています。それでも、サーバーレスコンピューティングは、企業が対処しなければならないモノリシックシステムに対するソリューションと見なされます。それはまだ未熟な状態にあり、企業がより受け入れられるようになったため、組織はまだそれを機能させる方法を見つけています。