最新のアプリケーションアーキテクチャと開発には、基本的に「小さくすることで効率を高める」という考え方に基づくアプローチがいくつかあります。
マイクロサービスとFunction as a Service(FaaS)は、いずれも特定の目的に特化したコードという考え方に基づいています。多くの組織がアプリケーションを数百のマイクロサービスや数千の関数に分割しているわけではありませんが、この設計へと移行しつつあります。その理由として多いのが、アジャイル開発を進めやすいことです。比較的小規模なチームであれば、大規模なモノリシックアプリケーションに取り組む場合よりも、サービスの設計、開発、改良をはるかに迅速に進められます。結局のところ、10万行に及ぶ大規模なアプリケーションよりも、1,000行のコードの方が記述もテストもはるかに容易です。
しかし、マイクロサービスとFaaSには、十分に注目されていないもう1つの興味深いメリットがあります。それはセキュリティです。
インターネット上では、「業界平均」の欠陥密度と脆弱性密度を突き止めようとする議論が数多く交わされており、私もその多くに目を通してきました。推定値には大きな幅があり、オープンソースコードを実際にスキャンした結果に基づくものもあれば、自己申告された数値に基づくものもあります。たとえばNASAは、スペースシャトル計画が成功した理由の1つとして、欠陥密度が極めて低いことを誇らしげにアピールしてきました。WhiteHatのようなセキュリティ企業が客観的に収集したデータに基づくレポートもありますが、その数値はアプリケーションあたりの脆弱性に焦点を当てたものであり、必ずしもコード行数あたりの脆弱性を示すものではありません。
欠陥密度と脆弱性密度については、それらが存在するという点を除き、実質的な合意はありません。
しかし、記述するコードの行数が少ないほど、混入する可能性のある欠陥や脆弱性も少なくなると考えるのが自然です。同様に重要なのは、脆弱性や欠陥を見つけるために調べるコードの行数が少ないほど、発見が早まり、ひいては修正も早まると考えられることです。
これが当てはまる理由の1つは、スコープにあります。マイクロサービスや関数がビジネスロジックの一側面をコード化することに特化していれば、実装に必要なロジックやライブラリを減らせます。スコープが小さければ、追加のロジックの実装に必要なロジックでエラーが発生したり、ライブラリ(サードパーティ製かどうかを問わず)に脆弱性が入り込んだりする可能性も低くなります。別のコンポーネントを追加したり、別のサービスを呼び出したりするたびに、欠陥や脆弱性が生じる可能性が増します。
関数やマイクロサービスのインターフェースを減らすことも、コードのセキュリティ向上につながります。API呼び出しなどのエントリーポイントとなるインターフェースでは、ユーザー入力を処理するため、脆弱性が生じる可能性があります。そして周知のとおり、ユーザー入力は常に疑わしく、悪意がある可能性があるものとして扱う必要があります。
また、マイクロサービスによって脆弱性や欠陥が生じる可能性を低減できるのであれば、スコープをさらに関数単位まで絞ることで、その可能性を一層低減できるはずです。
ただし、これはマイクロサービスとFaaSが、3層アーキテクチャやモノリシックアーキテクチャよりも本質的にセキュアであるという意味ではありません。コードの行数にかかわらず、粗雑なコードは粗雑なままです。一方で、どちらのアーキテクチャも、よりセキュアなコードにつながり得る開発・デリバリープラクティスに適していることは確かです。
マイクロサービスやFaaSを評価または実装する際にセキュリティ上のメリットを意識することで、コードの肥大化を防ぐとともに、脆弱性が入り込むのを防ぐことにもつながります。
著者について

Lori MacVittieは、F5のOffice of the CTOに所属するDistinguished Engineer兼Chief Evangelistであり、アプリケーションデリバリ、自動化戦略、インフラストラクチャに関する深い専門知識を有しています。AIエージェントのガードレール策定、脆弱なマルチクラウドアーキテクチャの分析、スケーラブルなシステムの限界の検証など、複雑な事柄を明快にすることで知られています。アプリケーション開発、ITアーキテクチャ、ネットワークおよびシステム運用の分野で、30年以上にわたる業界経験を有しています。F5入社前は、受賞歴のあるテクノロジー編集者として活躍していました。 MacVittieはコンピューターサイエンスの修士号を取得しており、セキュリティ、クラウド、エンタープライズアーキテクチャにわたる分野で多数の著作を発表しています。また、テーブルトークゲームとビデオゲームをこよなく愛し、チーズについては遠慮なく強いこだわりを語ります。
Lori Mac Vittieのその他のブログ記事関連するブログ記事

F5 Application Study Tool:OpenTelemetryによるF5 BIG-IP環境の監視
F5の新しいオープンソースツールは、BIG-IP環境を詳細に可視化し、データを追跡するとともに、強力でカスタマイズ可能なインサイトを得るための基盤を提供します。
F5 BIG-IPでAI防御を実現
F5 BIG-IP Advanced WAF、BIG-IP APM、BIG-IP SSL Orchestratorが、生成AIアプリ向けに包括的なセキュリティソリューションを提供する仕組みをご覧ください。
F5 Advanced WAFによるGraphQL APIの保護
ここ数年、多くの組織がデジタルトランスフォーメーションを進めており、COVID-19のパンデミックによってその動きは加速しています。
アプリケーションサービスの現状 通信業界版:リーダーとしての台頭
通信ネットワークが進化し、さまざまな業界の幅広いユースケースに対応するなか、通信業界の回答者がテクノロジーリーダーとしての存在感を高めていることがわかります。
デジタルトランスフォーメーションは、単なるペーパーレス化ではない
デジタルトランスフォーメーションは、単なるペーパーレス化ではありません。真のモダナイゼーションにアプリケーションアーキテクチャとセキュリティの再構築が必要な理由を、F5ブログでご覧ください。
やめましょう。もう本当にやめましょう。HTTPSはHTTPより高速ではありません。
もうやめましょう。HTTPSはHTTPより高速ではありません。プロトコルのパフォーマンスに関する微妙な違いと、暗号化トラフィックを適切に最適化する方法については、F5ブログをご覧ください。