複雑化するシステムの運用やコストの課題を軽減してくれる可能性のある存在がOSSです。多様な用途に利用できるOSSの例を挙げつつ、OSSを採用する上で知っておくべき点を解説します。
企業のシステム構成は、オンプレミスのインフラに加えて複数のクラウドサービスを採用することで複雑になる傾向にあります。さまざまなインフラやサービスを使って多様な利点を享受しつつも、システムの複雑さに伴う運用やコストの課題を軽減する上で役立つ可能性があるのが、オープンソースソフトウェア(OSS)です。OSSの具体的な例を挙げつつ、ソースコードが公開されていない「プロプライエタリ」のソフトウェアとOSSとの違いと、OSSを採用するに当たって注意しなければならない点を解説します。
OSSにはさまざまなものがあります。多様な用途に使えるOSSとしては、例えば分散メッセージングシステム「Apache Kafka」やリレーショナルデータベース管理システム(RDBMS)「PostgreSQL」、検索エンジン「OpenSearch」、カラム(列)指向のデータベース管理システム(DBMS)「ClickHouse」などがあります。
OSSの開発を支援する非営利団体Apache Software Foundation(Apacheソフトウェア財団)が管理するOSSにApache Kafkaがあります。Apache Kafkaは、ストリーミングデータ(継続的に発生するデータ)を中継する分散メッセージングシステムです。よりシンプルには、Apache Kafkaはデータをある場所から別の場所に移動させる手段だと言えます。
Apache Kafkaを使用すると、自社のアプリケーション間、アプリケーションとデータストア(データの保管場所)間、データストア間などでデータを移動させることができます。データストアとしては、RDBMSのPostgreSQLや、クラウドストレージサービスの「Amazon Simple Storage Service」(Amazon S3)などがあります。
アプリケーションが互いに独立した状態でApache Kafkaを使うことができるので、あるアプリケーションがデータを受け渡す際に、他のアプリケーションがその処理を待つ必要がありません。Apache Kafkaは、シンプルなアーキテクチャを特徴としており、アプリケーションやデータストアの間の境界が過度に複雑にならずに済むのです。
Apache Kafkaは、メッセージングシステムとデータベースを掛け合わせたようなものです。両方の機能を共有していますが、メッセージキューとも、データベースとも異なります。システム同士が通信し、データを共有するための経路として機能することが、Apache Kafkaの主な役割です。
PostgreSQLは、RDBMSの一種であるオブジェクトリレーショナルデータベースシステム(ORDBMS)です。1980年代から活発に開発が続けられており、それに併せて機能の堅牢(けんろう)性や信頼性が強化されてきました。企業や個人の貢献者からなるグローバルな開発グループがサポートを提供しています。
単一のシステムからデータウェアハウス、多数の同時ユーザーを持つWebサービスまで、多種多様な用途でPostgreSQLを扱うことができます。PostgreSQLでは問い合わせにデータベース言語「SQL」を使用し、その機能を拡張することができるので、さまざまな用途に活用することができます。ベンダーをはじめさまざまな組織がPostgreSQLをベースに製品を開発し、コンサルティングやサポート、補助的な拡張機能を提供しています。
OSSは、特定のベンダーに縛られることなく、さまざまな製品や技術を使ってシステムを構築することを可能にしてくれる存在です。ただし、OSSの採用に特有の課題も存在します。まずOSSは、ソースコードが公開されていない“プロプライエタリ”なソフトウェアよりも導入が難しい場合があります。OSSはプラグアンドプレイ(接続してすぐに使えること)ではないことがよくあり、そのままではビジネスに適合しない可能性があります。OSSを運用する際は、パッチ(修正プログラム)の適用やアップデートに常に注意を払う必要があります。
結局のところ、こうした課題はOSSのソースコードがコミュニティー向けに構築されているという事実に帰結します。世界中のOSSのコミュニティーは、さまざまなOSSプロジェクトの革新と改善を推進していますが、そのOSSを使用する個々の企業に対する直接的なサポートは提供していません。OSSに関して意見を交わす場やオンラインガイドがあり、アドバイスを提供してくれる人々はいます。しかし解決が容易ではない問題に直面した場合、独自で解決策を見つけなければならない可能性があります。
OSSの利用ではそうした解決が容易ではない問題に直面する可能性があるため、OSSのマネージドサービスが存在します。マネージドサービスは、OSSの主要な課題に対する解決策になり得ます。開発者はコマンドラインインタフェースでの作業に時間を費やすよりも、ビジネスを前進させるためのより重要な作業に時間を集中させることができます。OSSの実装やメンテナンス、セキュリティに関して責任を負うことなく、OSSの活用に集中することができるのです。
ITインフラやクラウドサービスの分野で、エンジニアリングやビジネス企画・開発を中心に20年近くの経験を持つ。2022年4月に、オープンソースのデータプラットフォームを提供するAivenが日本法人を設立する際に同社カントリーマネジャーに就任した。
Copyright © ITmedia, Inc. All Rights Reserved.
なぜ料理の失敗写真がパッケージに? クノールが展開する「ジレニアル世代」向けキャンペーンの真意
調味料ブランドのKnorr(クノール)は季節限定のホリデーマーケティングキャンペーン「#E...
業界トップランナーが語る「イベントDX」 リアルもオンラインも、もっと変われる
コロナ禍を経て、イベントの在り方は大きく変わった。データを駆使してイベントの体験価...
SEOを強化するサイトの9割超が表示速度を重視 で、対策にいくら投資している?
Reproが「Webサイトの表示速度改善についての実態調査 2024」レポートを公開。表示速度改...