クラウドエクスペリエンス:KPI SuiteをAzureにアップグレードした方法

独立系ソフトウェア開発者のパートナーからの一連の記事の中で、別の記事を共有できることを嬉しく思います。 今回は、KPIラボの責任者であるMher Parunakyanが、ソリューションをクラウドに移行するという成功事例を語ります。 #isvcloudstory -Vladimir Yunevで見つかるすべての成功事例
KPI Suiteプラットフォームは、その汎用性、使いやすさ、人気のあるプログラミング言語C#により人気を博し始めました。 プラットフォームでは、さまざまな手法を使用してさまざまな評価システムを作成し、フォーマットされた手動データ収集、専門家による評価の可能性を実現できます。









これは、評価システムの実装に15年以上の経験がある専門家グループによって作成されました。 当初は、外国メーカーのアナログが使用されていましたが、その後、独自のプラットフォームを開発することが決定されました。 その理由は、多くのメーカーが厳密に調整されたシステムを提供していたため、その拡大がメーカーのリソースを引き付け、システムの所有コストが増加し、独自のソリューションを作成できなかったためです。



調査は2010年に始まりました。 根拠がとられた





MS SQLが選ばれた理由は、管理の謙虚さ、手頃な価格、普及率です。 開発で使用できる開発バージョンも利用できます。



最初のSilverlightはHTML5よりも便利でした。 そして、Silverlightから開始して、HTML5の安定バージョンに移行することが決定されました。



彼らはまた、流行のために、OS用のWindowsプラットフォームを採用しました。



この言語は、将来のユーザーが専門家を見つけるのに苦労しないように選択されました。 市場の専門家が多いほど、ソフトウェアを安全に入手できます。 私たちの観点からは、C#が良い選択であることがわかりました。 特に.NET



開発の最初の段階で、彼らはモデリングのための厳格なルールを導入することを考えましたが、その後、パートナー、インテグレーター、方法論者と話し合った後、彼らは決定に制限を導入する開発者に最大限の機会を与える必要があるという共通の意見になりました。



さまざまなソリューションを作成できます。 これらには、会社、部門、従業員のパフォーマンス、バランススコアカード、フォーマットされたデータ収集などを評価するための方法論が含まれます。



このシステムは、4つの主要な要素と1組の補助要素で構成されています



主なもの:





補助:





データ構造



これは、データを含むシステム内の要素のタイプです。 図を参照してください。 1









最初の段階で、要素を格納するための構造が作成されます。 その中で、要素間に厳密な階層を設定できます。また、他の階層から要素をリンクすることもできます。 それ自体の中の各要素には、テーブルのセットが含まれています。 セルのタイプは表で定義されています:











計算セルでは、C#言語を使用できます。 開発者APIはライセンスパッケージで提供されます。 カレンダーなどの階層も定義する必要があります。 特定の期間のセルの値を決定します。 使用例としては、インディケーターの年間価値の計算が月ごとにまとめられます。



各要素では、次のものも定義できます。





データを保存する前と保存した後、たとえば、入力したデータを検証するスクリプトを実行したり、他のテーブルにデータを転送して関連するインジケーターを再計算したりできます。









指標は、重みの有無にかかわらず、量的および質的の両方にすることができます。 システムは、データ構築ポリシーを自分で決定するための完全な権利を開発者に付与します。



この要素は、データ出力だけでなく入力にも使用されます。



データの変更は、いくつかの方法で行うことができます。





データダッシュボード



ダッシュボードは、グラフィカルな表現が配置されるインジケータパネルです。 それらは、たとえばリスクモデルのヒートマップ、ボーナスカード、スタッフの格付け、360の格付け、バランススコアカードの戦略的カードなどの方法論のために作成できます。 戦略マップの例を図に示します。









それらは:





要素は、さらなる作業を簡素化するために作成されます。 つまり 一度作成して、異なるダッシュボードで使用します。 データ構造では、デフォルトで、テーブルだけでなく、グラフィカルな表現、および別の表現も持つために、外部からアクセスします。



前に書いたように、要素のパレットは多様で、ダイアグラムからデータ入力フィールド、フィルターにまで及びます。



各グラフィック要素には、幅や高さなどの独自のプロパティがあり、静的に設定することも、データベースのデータを使用して設定することもできます。 したがって、ダッシュボード上のすべての要素の可視性、色、サイズ、座標を制御できます。



ダッシュボード間を移動して、異なるファイル形式にエクスポートすることもできます。



データライブラリ



ライブラリには2種類あります





ライブラリファイルは、単一のデータベースに保存されるようになりました。 以前、マイクロソフトと私はフォールトトレランスの改善に取り組んでいましたが、サーバー上のファイルの検索、つまり サーバー自体が存在しない場合、予備サーバーがデータに到達する可能性がありますが、ファイルにはアクセスできません。



データ統合



情報システムで最も重要なポイントの1つは、データ交換です。 私たちにとって、この質問は非常に深刻です。なぜなら、あるシステムから別のシステムへのデータの複製を可能にしようとせずに、さまざまなソースからの収集を保証しようとしているからです。



外部テーブルの結合、データの読み取り、テーブルのデータとメタデータの比較、およびシステム内のデータの直接受信を可能にするメカニズムが開発されました。 タスクはスケジュールに従って実行できます。



データ構造要素の高速生成にも同じメカニズムを使用します。 例として、次のタスクがあります-インジケーターの階層のリストが受信されます。 最初のオプションは、システム内のすべてを手動で入力することです。2番目のオプションは、構造内にデータがあるかどうかを自動的に監視し、データがない場合は作成します。



Azureプラクティス



最初に確認し始めたのは、接続グループの可用性です。 システムの健全性を確保するための非常に興味深いメカニズム。 つまり グループを開始します。 複数の仮想マシンが含まれています。 主なものがあり、残りは翼にあります。 最初のサーバーが応答を停止すると、2番目のサーバーが立ち上がり、最初のサーバーの代わりに機能します。 サーバーは、Azure自体によって実行されるシステムの更新など、さまざまな理由で応答しない場合があります。



2番目に気づいたのは、スケーリングの可能性があることです。 負荷が増加し始めた場合は、上げる必要があるサーバーの数を設定します。 負荷が低下すると、システム自体がサーバーをシャットダウンします。



コストの観点からは、1日の負荷は高いが外部では低いため、1台のスーパー仮想マシンよりも複数の小さなマシンを使用する方がはるかに興味深いです。 スーパーバーチャルマシンのコストは24時間すべて高く、小型マシンの場合はオフになり、お金を使いません。



開発



8月のAzureに関するMicrosoftワークショップで、Microsoft Outlookアドオンの開発が決定されました。 これについての新しい記事が準備されています。



著者について



パルナキン・メル・サンヴェロビッチ

KPIラボ



12年以上の組織の長の位置での経験、主な専門分野は、会社、営業部門、プロジェクト管理、交渉の一般的な管理です。 新しいアクティビティの作成、アフィリエイトネットワークの開発。 最初のプレゼンテーションから作業終了までのプロジェクト管理。




All Articles