現在、ソフトウェアコード中心主義に回帰していることは、ほとんど逆説的だ。IBM-PCの時代からWindowsの初期の世代へと、私たちを導いていたプログラマー兼開発者たちに、コードがすべてを動かすようになると伝えていたら、彼らは困惑したような視線を返したかもしれない。
「もちろん、コードがすべてを動かすようになる。だからこそ私たちはアプリケーションを構築し、データベースの手続きを確立し、人工知能(AI)がついに映画の世界から卒業する未来を見据えているのだから」と、1980年代のソフトウェア開発者なら誰もが、そしておそらく1990年代の大半の開発者も、そう語ったことだろう。
Everything as codeで前進する
しかし、ソフトウェアアプリケーション開発の構文が数十年にわたって変化・進化してきたのと同様に、コードで構築するという概念も変わってきた。この自明の理が大きく取り上げられるようになったのは、主に、私たちが現在、クラウドという仮想化優先の世界に暮らしており、新たなコンピューティングソリューションを構成する抽象化されたすべてのレイヤーが存在するためだ。
今日、コード構造について語るとき、アプリケーションやその中核コンポーネントだけを指しているわけではない。
今日、何かがコードとして提供されると言うとき、それはInfrastructure as code(IaC)、Testing as code(TaC)、あるいは、クラウド以前の時代にハブやスイッチ、ルーターに任せていた、より一般的なNetworking as code(NaC)のレイヤーを指している可能性がある。
通常XaCと表記されるEverything as codeは、インフラからプラットフォーム、アプリケーション、さらにはコンプライアンス、セキュリティ、日々の運用といった、スタックのより深い「サービス」要素に至るまで、すべてを包含する。
データを中核に据える
Everything as codeによって新たなITスタックの手法を洗練させていく中で、私たちはこの新時代のテクノロジーソリューションを自在に扱えるようになるだろう。
では、どこから始めるべきか。もちろん、データからだ。
データは、クラウドのあらゆる階層を構築する際の中核要素だ。したがって論理的に考えれば、Everything as codeの世界を進むには、クラウドデータオブザーバビリティがTesting as codeの機能における中核的な分野となるべきだ。
このテクノロジーの提案に呼応し、まさにこの領域で事業を展開しているのがSodaだ。ベルギー・ブリュッセルを拠点に、オープンソースのデータ信頼性ツールとクラウドデータオブザーバビリティプラットフォーム技術を提供している。
Sodaは昨年末、データチームがより高度な方法でデータに関する問題を先回りできるよう、Testing as codeの機能を提供するCloud Metrics Storeをリリースした。このテクノロジーは、データの健全性に関する履歴情報を取得し、あらゆるワークロードにわたるデータのインテリジェントなテストを支援する。
現代のクラウドネイティブなネットワークスタックが進化し、Everything as codeの利用がデファクトアプローチになり始める中、私たちはいわゆる「データバリューチェーン」を、ITシステム全体の価値を測る尺度として捉え始めている。
「データチームにとって、役割やスキル、対象分野の専門知識にかかわらず、データの取り込みから利用まで、データバリューチェーン全体で良いデータとはどのようなものかを定義できる共通言語を中心に結束することは有益です」と、SodaのCEO、Maarten Masschelein氏は語る。「現在、データチームの多くはドメイン別に組織されています。そのため、データプロダクトを作成する際には、タイムリーで正確かつ完全なデータを提供するために、互いに依存することがよくあります」
関連記事:ローコードでネットワーク自動化を実現する
データのための共通言語
データの共通言語があれば、コーディングやデータソリューションを誰もが利用できるようになるかもしれない。Everything as codeが民主化された未来では、ユーザー間の階層はほとんど、あるいはまったく存在しない。
データ品質の問題を監視する明確な戦略がなければ、多くの組織は、システムを無防備な状態に置き、下流で深刻な問題を引き起こしかねない不具合を見逃してしまう。Masschelein氏とチームは、Soda Cloud Data Observability Platformと、データエンジニアがデータエンジニアのために構築したオープンソースのデータ信頼性ツールを組み合わせ、データチームが適切なデータ運用の文化とコミュニティを形成するためのツールを提供しようとしている。
同氏によれば、同社の最新リリースは、データチームに良いデータとはどのようなものかを明確に示すよう促す。これにより、ドメインチーム間で合意を形成し、それを容易に追跡・監視できるようになり、データプロダクトチームは次の大きな課題に取り組む自由を得られるという。
「今回の最新リリースにより、Cloud Metrics Storeは、データおよびアナリティクスのエンジニアが、過去の値に基づいてデータの健全性をテスト・検証する機能を提供します」とMasschelein氏は語る。「これらの履歴メトリクスによって、データテストは良いデータとはどのようなものかについてのベースラインを利用できるようになります。不良データは、データプロダクトや下流の利用者に影響を及ぼす前に、効率的に隔離して検査できます」
アラートは一般的なオンコールツールやSlack経由で送信されるため、データチームはいち早くデータの問題を把握し、迅速に解決できる。
データのベストプラクティスの時代
今後、ITベンダーがデータのベストプラクティスを、定義された原則やワークフローの目標として語るようになる兆しはまだない。ほとんどのベンダーは依然として、従来のベストプラクティスに関するメッセージを提供しているだけで、その一部にデータが含まれているにすぎない。
しかし、Everything as codeの領域にデータのベストプラクティスが存在するのであれば(そして、根本的には当然存在すべきだと考えられるが)、データプロダクトのライフサイクル全体で機能するデータ信頼性ツールが必要になる。つまり、データエンジニアはデータの取り込み時に簡単にテストでき、データプロダクトマネージャーは他のツールで利用される前にデータを検証できるようになるということだ。
このテストおよび検証機能こそ、Sodaが市場に提供しているものだ。
「すべてのチェックは、学習しやすい設定言語で『as-code』として記述できます」とMasschelein氏は語る。「設定ファイルはバージョン管理され、新しいデータがデータプラットフォームに届くたびに、どのテストを実行するかを決定するために使用されます。Sodaは、データインフラ、データサイエンス、分析、ストリーミングのワークロードを含む、オンプレミスとクラウド双方のあらゆるデータワークロードをサポートします」
私たちの世界は今や、クラウドファースト、コードファースト、データファーストだ。Everything as codeがデータソリューションを前進させる中、データ革新の未来に目を配り続けることが重要になるだろう。