2018年のソフトウェア開発トレンドトップ5–SONMのCTOであるIgorLebedev著
公開: 2021-08-09これまでのところ、2018年は開発者にとって変革の年でした。 ソフトウェア開発は、コンピューター化されたタスクをこれまでになく簡単かつ効率的にする新しいバージョンと高品質のソリューションでそれ自体を上回りました。 データベースは、中断することなく情報の大規模なプールを定量化できるようになり、サーバーは単一のユニットではなくシリーズとして販売され、ブロックチェーンは分散システムを使用して扉を開きました。 これらは、今年テクノロジーの世界を席巻している上位5つのソフトウェア開発トレンドです。
ビッグデータ
企業および公開データの絶え間ない成長は、従来のデータベースおよびストレージ機器がデータ量を使用および管理することができなくなる状況につながります。 RDBMS(リレーショナルデータベース管理システム)がすべてを保持することができなくなったことを直接目にしたため、古いアプローチは機能しなくなりました。 これは新しいツールとアプローチの出現につながりますが、さらに重要なことに、これは従来のモノリシックデータベースの支配の終焉につながります。 新しいアプローチは、複数のノード間で共有されるデータを保存することです。 コアデータは従来の集中型データベースに引き続き保存されますが、より多くのデータ量が個別に保存され、モノリシックデータベースのシェアが減少します。 2018年のビッグデータの課題は、大規模なデータプールを処理するために、従来のアプリケーションを新しい方法で書き直す必要があることです。
水平方向のスケーラビリティ
従来のスケーリングソリューションは、常に新しい、より大きなサーバーを購入することでした。 この新しいサーバーには、より多くのコア、モードキャッシュ、より高い周波数、より大きなメモリバンク、より高速なバス、およびより多くのディスクがあります。 ただし、このスケーリングソリューションには制限があり、それらの制限はすでに達成されています。 一般的なサーバーシャーシには最大で2つまたは4つのCPUが搭載されている可能性があり、周波数を上げることができないため、制限なしにCPUを追加することはできません。 ある時点で、垂直スケーリングは限界に達します。 次のステップは水平スケーリングです。 つまり、古いサーバーを置き換えるために大きなサーバーを購入する代わりに、同じタイプの1つ以上の追加サーバーを購入して、既存のプールに追加します。 このアプローチはより柔軟に見えますが、異なるソフトウェアアーキテクチャが必要であり、ソフトウェアを書き直す必要があります。 これを行うと、リソースを共有する機能を備えた、より優れたリソース管理のメリットを享受できます。 ここでは、マイクロサービス、ステートレス実行、Kubernetesをトレンドとして見ています。
地方分権化
私たちが世界で目にする変化は、新たな課題をもたらします。 それらは、政治、配送コスト、信頼、または市場の状況に関連している可能性がありますが、企業はサービスとソフトウェアを分散化する傾向があります。 コンテンツ配信ネットワークはISPにサーバーを展開し、SaaSベンダーはあなたの国でDCを開き、企業は大災害の回復について考えます。 これにより、企業は1つのメインデータセンターではなく2つ以上のデータセンターを所有することになり、エンジニアはアプリケーションアーキテクチャのいくつかの側面を変更することを検討する必要があります。
フォグ処理
データ処理の使用は毎日増加しています。 IoTは、ネットワークのエッジでますます多くのデータを生成します。 このデータは、従来、DCまたはクラウドで処理されていました。 ただし、最新の光回線が急速に普及し、ネットワークスループットが年々増加しているという事実を考慮すると、データの量は多くの条例でより速く増加します。 ネットワークは、常にグローバル情報処理の「ボトルネック」でした。 技術的に(帯域幅と遅延によって)そうでない場合は、経済的に(伝送あたりの価格によって)。 現在、データウェアハウスを別のDCに移行する最も速くて安価な方法は、貨物車両を呼び出して、文字通りHDDを新しい場所に運ぶことです。 いいえ、冗談ではありません。

これは、エッジとフォグの処理に関する業界の創設のアイデアにつながります。つまり、できるだけ多くのデータをローカルで処理する必要があります。 大手IT企業は、デバイスの近くでデータを処理および提供するためのソリューションに取り組んでいます。 この種の処理はフォグです。 これには困難があります。 クラウドからコードをコピーして機能することを期待することはできません。クラウドではすべてのデータにローカルでアクセスできますが、フォグでは1つのノードにすべてのデータがあり、必要な情報を他のノードに要求する必要があります。 アプリケーション開発者は、MPP(大規模並列処理)方式でタスクを解決できるように、アーキテクチャを採用してコードを書き直す必要があります。 これにより、コードと分散型IaaSを書き直すもう1つの理由が得られます。 生まれたばかりのアプリケーションをホストする魅力的なプラットフォームになるまで。
フォールトトレランス
私たちは、生産するよりも販売するのが難しい時代に生きています。 市場の同意が高まり、ソフトウェアを実行している企業は、優位性を持ち、ユーザーからの信頼を構築するために、より優れたSLAを検討しています。 前述の点により、単一のシステムコンポーネントに障害が発生する可能性が大幅に高まります。 データの多くは外部に存在するため、クラッシュから処理するOracleデータベースクラスタの機能に依存することはできません。 二重電源を備えた非常に信頼性の高いサーバーを2台持つ代わりに、サーバーを10台または100台にすることができ、単一ノードの障害の数学的な期待値は1に近くなります(1、100%)。 何かが失敗する可能性があり、企業はアプリケーションアーキテクチャを調べて、これに再び備える必要があります。 世界、特にITは絶えず変化し、信じられないほど速いペースで動いています。 古いアプローチは機能しません。 企業は、ビッグデータ、水平方向のスケーラビリティ、分散化、フォグ処理をすべてコアとしてソフトウェアを書き直しています。 エンジニアは、アプリケーション側のフォールトトレランスを常に念頭に置いています。
これらのソフトウェア開発の傾向により、ハードウェアとその可用性に対する新しい要件が出現しました。これは、単一ノードの障害にとってそれほど重要ではなく、水平スケーリングのオプションが増えています。 将来を見据えて、私たちはさらに発展するトレンドの余剰を予想しており、それは私たちの進化するテクノロジーとより大きなハードウェアサポートの必要性に追いつくことを願っています。
イゴール・レベデフについて:
Igor Lebedevは、15年以上のIT経験を持つコンピューターサイエンスのスペシャリストです。 彼の専門知識は、古典的なシステムアーキテクチャ、システムクラス、データベース、フォグコンピューティング、自動取引システム、スマートコントラクト、およびマイクロエレクトロニクスにあります。 Igorは現在、2017年7月からCTOおよびSONM開発チームの責任者を務めています。CTOとして、Igorは、フォグコンピューティング、SONMプロジェクトを作成する開発者チームを継続的に構築しながら、製品ビジョンと全体的な開発プロセスに洞察と貴重な貢献を提供します。 。
