Positive Technologiesは製品会社です。 これは、 多数の製品を開発することを意味し、それらはすべて「箱入り」であることを理解することが重要です。 したがって、開発したソリューションを何らかの方法で最終顧客のインフラストラクチャに提供する必要があります。 さらに、多くの場合、当社のソフトウェアは複雑な構成になっています-さまざまなターゲットマシンにインストールする必要がある多くのさまざまなコンポーネントがあり、これらのコンピューターにはさまざまな役割などがあります。
つまり、インターネットを介して製品をリリースおよび配信し、最終インフラストラクチャに展開する必要があります。 さらに、すべての顧客が可能なすべてを購入するわけではないことを忘れてはなりません。各製品には独自の種類のライセンスがあり、特定の機能へのアクセスを意味します。 そのため、私たちのソフトウェアがクライアントに届くだけでなく、彼が支払った金額を正確に使用できるようにする必要があります。
これらすべての問題を解決するために、ソフトウェアを公開および更新するための共通システムを開発することにしました。 このプロジェクトはSupplyLabと呼ばれ、今日はこのツールについて詳しくお話したいと思います。
システムができること
システムの作成を開始する前に、分析を実施し、その機能的特徴のいくつかを特定しました。 したがって、彼女は次のことができるはずです。
- ストアリリースビルド
- それらを公開する
- ライセンスする
- フィルタリングする;
- 顧客のインフラストラクチャにソフトウェアを配信します。
- このインフラストラクチャに展開する
- 特定の顧客タスク用に製品を構成します。
膨大な数のプログラムとコンポーネントがこれらすべてのタスクを担当します。たとえば、YumとNugetを使用してストレージを実行し、GuardantとGemalto Sentinelを使用してライセンスを取得し、展開にはSaltStackまたはAnsibleを使用します。 そして、この多様性をすべて組み合わせ、さらにこのソリューションをクロスプラットフォームにし、顧客のインフラストラクチャ(事前に何も知らない)で作業する方法を教えてください。
SupplyLab:最高の組み合わせを目指して
その結果、多くのツールを組み合わせたSupplyLabと呼ばれるシステムを開発しました。
- SaltStackは展開を担当します。
- 独自のGlobal Update Server(GUS)は、更新の公開に使用されます。
- 配信には、Front Local Update Server(FLUS)が必要です。
- Artifactory-このシステムはパッケージリポジトリとして選択されました。
- LicenseLab-市場で私たちに合った既製のコードライセンスシステムを見つけることができなかったため、GuardantとGemalto Sentinelに基づいて独自に作成する必要があります。
私たちのシステムでコードがどのように「生きている」かについて話しましょう。 アセンブリの後、パッケージはArtifactoryに保存され、リリースマネージャーがグローバルアップデートサーバーで公開します(選択した条件に従って自動的に実行することもできます)。ここから、特定のサイトに展開されているフロントローカルアップデートサーバーにコードが送られます。 これらのサーバーは、SaltStackデプロイメントツールによってアクセスされます。このような呼び出しの時点で、ライセンスはフィルターされます(クライアントが更新コードを受信できるかどうか)。
システムの最も重要な要素の1つにライセンスメカニズムがあり、LicenseLabという名前が付けられています。 現在、このツールを開発しています。 現時点では、イデオロギーは1人の顧客に多数のライセンスが存在することを意味しており、各ライセンスには多くのソフトキーを含めることができます。
最終的に、SupplyLabを使用して更新プログラムを展開するためのスキームは、最初から最後まで次のようになります。
来年開発中のSupplyLabシステムのパフォーマンスの実装と分析の結果を提示することができます。
計画
私たちは栄光にとどまっているのではなく、まだやるべきことがたくさんあることは明らかです。 将来的には、システムを改良し、新しいコンポーネントを導入する予定です。 特に、計画:
- 顧客側で共通のLicenseServerを作成します。
- 顧客のインストールの識別は、開発されたLicenseServerを介して実行されます。
- また、ソフトウェアおよびハードウェアのメーカーの数を増やして、いずれかの会社の決定に執着しないようにする予定です。
- さらに、CMSキーメーカー(Gemaltoなど)との統合を確立したいと考えています。これにより、キーを使用した作業が簡素化および高速化されます。
PS SupplyLabシステムに関するストーリーは、最近モスクワで開催されたDevOpsミーティングの一部として紹介されました。
SupplyLabシステムの一部は、開発が完了すると、DevOpsHQオープンコミュニティリポジトリにアップロードされます 。
リンクには、イベント中に提示された16のレポートのプレゼンテーションが表示されます。 このトピック発表の最後に、すべてのプレゼンテーションとビデオプレゼンテーションがテーブルに追加されます。
著者 : アレクサンダー・パズニコフ