ブログ

生産上の問題点とそれを軽減するアプリケーション サービス

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2018年3月19日公開
製品開発における開発上の問題点

何年もの間、「そのためのアプリがある」と言われてきました。 そしてこれまでのところ、私はそれがほぼ真実であることがわかりました。 アプリが必要だとは思ってもいなかったもののためのアプリがあります。 しかし、実際に行って見てみると、それはまるで魔法のようでした。

今のところ、「そのためのアプリケーション サービスがあります」と言う人はいませんが、言うべきかもしれません。 少なくとも IT の範囲内ではそうです。 なぜなら、私が行う必要があることに対してアプリが存在するのと同じように、開発者が運用環境で実行または対処する必要があることに対しては、アプリケーション サービスが存在することがよくあるからです。

たとえば、セキュリティを考えてみましょう。 RisingStack の調査によると、開発者にとってこれは生産における最大の問題点でした。

問題点: 安全

さて、この調査では、セキュリティの何が問題点なのかという点については詳しくは触れられていません (ただし、尋ねればさまざまな回答が返ってくると思います)。 私がわかっていることは、2018 年のアプリケーション配信の現状に関する調査で、アプリ関連職 (開発者) の回答者の 38% が、来年のセキュリティ上の最大の課題として「攻撃の高度化」を挙げたということです。 26% がセキュリティに関する IT スキルの不足を挙げ、23% がアプリケーション、特に Web アプリを攻撃から保護することが難しいと答えました。

そのレンズを通して問題点を見ると(これは私のブログなのでそうするつもりです)、そのためのアプリケーション サービスがあります。 実のところ、いくつかあります。 たとえ目標が、既存の脆弱性を仮想的に修正したり、悪用されるのを防いだりすることであったとしても。

そして、そういう人がたくさんいるんです。 問題は、あらゆる侵害、あらゆる不正アクセス、あらゆるデータ漏洩が開発者のせいにされがちだということです。たとえ脆弱性がサードパーティのライブラリにあったり、プロトコルのパケットの奥深くに隠れていたり、インターネット上の何百万もの(文字通り)他のサイトで使用されているプラットフォームにあったりしてもです。 しかし、ロリさん、あなたは、アプリケーションの 79% がライブラリで構成されていることは、注意深く検査すると、既知の脆弱性の 2% にしか相当しないと考えているのです。

スタック脆弱性コントラストラボ

しかし、最も注目を集めた侵害やデータ損失の一部は、その 2%、つまり何百万人もの人々が共有するプラットフォームや共通ライブラリの脆弱性が原因でした。

Web アプリケーション ファイアウォール(当社が毎年実施している調査で追跡している 30 のアプリケーション サービスの 1 つ) は、その両方に対応し、攻撃者がアクセスの取得、リソースの浪費、データの盗難に使用するポートフォリオの増大にも対処します。 アプリのアクセス制御も、アプリケーションとそのデータだけでなく、資格情報(それ自体が貴重)に対する保護レイヤーを提供します。 注目すべきは、当社の年次調査の全回答者の 75% が、オンプレミスとパブリック クラウドの両方でアプリケーションを保護するためにアプリ アクセス制御を使用していると回答したことです。

問題点: パフォーマンス

同様に、パフォーマンスは開発者が常に制御できるものではありません。 長期的な持続可能性を重視するコード標準は、アプリのパフォーマンスに影響を与えます。 最も効率的なデータ構造や構文を使用できない場合もあります。 将来的には他の誰かがそのコードを保守および変更する必要があることを念頭に置く必要があります。 場合によっては、容量、需要、ネットワークの状態、Windows ME を実行している 10 年前の PC を手放そうとしない顧客など、制御できない変数の影響が考えられます。

その問題点に対処するためのアプリケーション サービスも存在します (実際には複数あります)。 TCP 最適化からキャッシュ、圧縮、高価な暗号化処理のオフロードまで、実に豊富なオプションがあります。 これらのアプリケーション サービスはすべて、パフォーマンスを向上させ、ユーザーを満足させることができます。

アプリケーション サービス 2018 年 1 月

すでに多くの人が、パフォーマンスとセキュリティの両方の問題点に対処し、アプリをより高速かつ安全に動作させるためにこれらのサービスだけを採用しています。

問題点: 展開

しかし開発者らは、本番環境で頭を悩ませているのはセキュリティやパフォーマンスの問題だけではなく、本番環境でアプリやアプリケーション サービスを実行する方法に重点を置いたデプロイメントも問題であると指摘しています。

これは、単一のアプリケーション サービス、あるいはアプリケーション サービスのチェーンでは解決できない、より大きな問題です。 デプロイメントの問題点を解決するには、自動化とオーケストレーションを中心としたより戦略的な取り組みと、インフラストラクチャ・アズ・コードなどの DevOps のアイデアの採用が必要です。

開発者をサポートするために必要な変更を本番環境に展開するために必要なプロセスを体系化するために、従来の NetOps を DevOps の原則と方法論を取り入れるには、協調的な取り組みが必要です。

つまり、インフラストラクチャ ベンダーはAPI 対応のインフラストラクチャを提供し、CLI ではなくテンプレートとデプロイメント アーティファクトに依存する、より宣言的なモデルで動作する機能をサポートする必要があります。

開発者が指摘する 3 つの問題点のうち、展開は解決できる単一のツールやテクノロジーがないため、対処が最も困難です。 IT を手動で行う展開モデルから将来の自動化された組立ライン アプローチに変換するには、コラボレーションと集中的な取り組みが必要です。

開発者の悩みを解決することの容易さや難しさに関わらず、実際にはこれら 3 つすべてが本番環境で NetOps によって解決できます。 アプリケーション サービスを豊富に活用するか、社内のデジタル変革にさらに力を入れるかに関わらず、NetOps は、本番環境への移行を誰にとっても負担が少なく、より成功につながるものにすることができます。