|
[51CTO.com クイック翻訳]人々は DevOps とローコード アプローチの課題と利点を理解し、企業にとってより効果的なソリューションを提供することに重点を置く必要があります。 今日のデジタルファーストの世界では、企業は熟練した開発者やITプロフェッショナルをますます必要としています。コーン・フェリーの最近の調査によると、熟練労働者の不足により、2030年までに世界で8,500万人以上の求人が発生する可能性があるとされています。 興味深い疑問が浮かび上がってきました。ローコード技術はITプロフェッショナルに取って代わることができるのでしょうか?人間によるプログラミングを代替できるのであれば、GUIベースのプラットフォームを活用してコードを学ぶ必要性をなくしてみてはいかがでしょうか? 歴史的に、「ローコードソリューション」は主に、技術に詳しくないユーザーがコーディング方法を知らなくても新しいアプリケーションを作成できるテクノロジープラットフォームを指す言葉として使われてきました。この点において、ローコードはDevOpsよりもアジャイル理論の中核に近いと言えます。ローコードはアプリケーションを通じたビジネス価値の提供を加速することに重点を置いているのに対し、DevOpsはアプリケーション構築後のデリバリーと保守に重点を置いています。 IT 以外の担当者がローコード アプリケーション開発プラットフォームを使用する場合、IT プロフェッショナルは DevOps でローコード ソリューションをどのように活用できるでしょうか? 多くのコアDevOps実践者にとって、ローコードの概念はDevOpsのアンチパターンです。DevOpsは開発チームと運用チームの連携方法という文化的進化として始まったかもしれませんが、今日では自動化されたパイプラインと統合ツールチェーンの世界へと進化しました。 コードは普遍的な言語であり、DevOpsチームは、幅広いアプリケーションやテクノロジーを、同じツールとプラクティスを用いて提供・保守することができます。コードを活用することで、DevOpsチームは、インフラストラクチャやアプリケーションの提供と保守を担う運用チームに、それらのアプリケーションを構築する開発チームと同等のアジリティをもたらします。 DevOpsチームがローコードソリューションをどのように活用しているかを理解するには、思考を広げ、「コードベース」のソリューションにローコードの原則を適用し、学習、使用、保守を容易にする方法を理解する必要があります。そうすることで、3種類のローコードソリューションを提案できます。 (1)ローコードアプリケーション開発プラットフォーム (2)ロボティック・プロセス・オートメーション(RPA)プラットフォーム (3)ローコード開発言語 以下では、現在 DevOps で最も人気のある 3 つのローコード ソリューションと、それぞれの長所と短所について説明します。 1. ローコードアプリケーション開発プラットフォームローコードアプリケーション開発プラットフォームは、幅広い業界アナリストを巻き込む標準的なテクノロジーセットとなっています。ガートナーはエンタープライズ・ローコード・アプリケーション・プラットフォームのマジック・クアドラントを発表し、2021年には23%の成長率を予測しています。現在市場で最も広く採用されているローコード・プラットフォームの一つは、Salesforce Lightning Platform Mobileでしょう。 ローコードアプリケーション開発プラットフォームは、開発者のスキルギャップを埋めるだけでなく、ビジネスエキスパートがIT部門による要件定義やプロジェクトの優先順位付けといった煩雑なプロセスを回避し、ニーズに正確に応えるシステムを設計・構築することを可能にします。「Salesforceモバイルアプリ開発の未来」と題されたブログ記事では、Salesforceプラットフォームに関連する事例として、オランダのスーパーマーケットチェーンJumboがSalesforceプラットフォームを活用し、社内コラボレーションおよびタスク管理システム、顧客向け栄養補助食品アプリケーション、そして当日配送注文システムをわずか8週間で構築した事例が紹介されています。 (1)メリット この分野のソリューションの主な利点は、使いやすさにあります。開発者でなくても、キーボードとマウスをクリックするだけで、シンプルなアプリケーションを作成し、ユーザーインターフェース(UI)を設定し、アプリストアにデプロイできます。ローコードツールはトレーニングをほとんど、あるいは全く必要としないため、企業はより機敏に、変化する市場動向に迅速に対応し、競争力を高めることができます。 (2)デメリット ローコードアプリケーション開発プラットフォームは、通常、ウォーターフォール型の開発モデルを採用しています。特定のニーズを満たすアプリケーションが作成され、配信されると、それ以上の開発や拡張の計画はありません。カスタマイズ機能、柔軟性、統合オプションは限られており、セキュリティ上の問題が発生する可能性もあります。 一般的に、複雑なアプリケーションやセキュリティ上の懸念が高いアプリケーションは適切な選択肢ではありません。また、アプリケーションを企業レベルで管理していない場合、長期間の所有は問題となり、「アプリケーションの無秩序な拡散」につながる可能性があります。 2. ロボティックプロセスオートメーション(RPA)プラットフォームロボティック・プロセス・オートメーション(RPA)プログラムは、ロガーを使用してソフトウェアスクリプトを作成することで、反復的なタスクを自動化することを可能にします。これは、Microsoft Excelでマクロロガーを使用するのと似た概念です。 スクリプトを作成した後、ユーザーはビジュアルエディタを使用してスクリプトのステップを変更、並べ替え、編集できます。2021年4月21日のUiPathの新規株式公開(IPO)は、これらのソリューションの人気の高まりを示し、最終的には史上最大規模のソフトウェアIOPイベントの一つとなりました。 RPAプログラムのユースケースは無限にあり、ユーザーインターフェース(UI)を介して実行されるあらゆる反復タスクが候補となります。RPA分野では、ビジネスユーザーが設計したアプリケーション(UiPathやBlue Prismなど)と、より従来型のDevOpsツール(特にTricentis、Worksoft、Egglplantなどのテスト自動化ツール)、そして新しい対話型ソリューション(Kristaなど)との融合が見られます。 テストの自動化により、ユーザーにはビジネスプロセスを記録するための軽量ロガーが提供されます。これらのログは自動化チームにフィードバックされ、自動化チームは強化されたテストケースを作成し、継続的インテグレーション(CI)/継続的デリバリー(CD)システムにフィードします。これにより、テストケース構築に必要な正確なドキュメントの入手という課題が解消され、LOB部門は変更の際に最も重要なビジネスプロセスを確実にテストできるようになります。 Kristaのようなソリューションは、DevOpsツールチェーンで活用されます。「どこに公開するのか?」という、誰もが抱える非常によくある疑問について考える必要があります。Kristaを使えば、システムに質問を送信すると、Kristaが構造化された対話を通じて情報を取得し、公開場所と回答先を決定します。 (1)メリット ユーザーは日々の業務を記録するだけで、迅速かつ簡単に自動化を構築できます。反復的なタスクも簡単に自動化できるため、関連するユーザーエラーを排除できます。RPAは、開発者やリソースへの投資が割に合わない「単発」プロジェクトにも適しています。 (2)デメリット RPAを使用して構築されたワークフローは、拡張性に欠ける可能性のある長期的なシステム変更やアップデートを補完できます。さらに、セキュリティやコンプライアンスの要件により、自動化された長期メンテナンスの所有権が曖昧になる場合があります。 3. ローコード開発言語:コーディングコマンドローコード開発言語をベースにしたツールには、Ansible、Chef、Hashi、Puppet、Jenkinsといった著名なDevOpsツールが数多く存在します。ローコード開発言語は、「コーディング手法」は必ずしも誰もがコーディングできることを意味するものではないという根本的な考え方に基づいています。 GUI ベースのソリューションにはさまざまなコマンドを実行するための「ユーザーフレンドリーな」ボタンが付属しているのと同様に、このカテゴリのコードベースのソリューションには、事前に構築されたコマンド、ヘルパー、およびリソースが付属しています。 例えば、Chef言語には、システムの設定、テスト、検証のための堅牢な自動化機能を提供する、テクノロジーに依存しない強力なコマンドセットが含まれています。これらのコマンドは、使用されるテクノロジーに関係なく変更されません。これらのコマンドを使用することで、ユーザーは最小限のコーディング知識で、多数のデバイスに対して複雑な機能を実行できます。 この分野のプロバイダーは、人間が読める言語、簡単に編集できる事前設定された自動化テンプレート、他のDevOpsツールとの堅牢な統合に加え、より視覚的なダッシュボードとユーザーインターフェース(UI)主導の機能を提供し始めています。これにより、監視された機能のデプロイメントとシステムセキュリティの確保が可能になります。Chef Infra Client 17はその好例であり、Chef Automateに新しいインフラストラクチャ管理ダッシュボードとUI主導の機能を追加しています。 このハイブリッド アプローチは、継続的インテグレーション (CI)/継続的デリバリー (CD) システムと簡単に統合できる、習得しやすいコードベースのプラットフォームをユーザーに提供し、技術者以外のユーザーとマネージャーに組織全体の可視性と分析を提供することで、両方の長所を実現します。 (1)メリット ローコード開発言語は、優れた柔軟性と拡張性を備えています。Ruby、Python、Yamlなどの低水準言語をベースとしているため、拡張やカスタマイズが容易で、複雑な自動化シナリオにも対応できます。これらのツールは、大規模で成熟したエコシステムの一部であり、多くの場合コミュニティ主導で構築されており、1,000を超える構築済みのコンテンツテンプレートと統合プラグインが用意されているため、自動化を容易に構築し、継続的インテグレーション(CI)/継続的デリバリー(CD)パイプラインに統合できます。 (2)デメリット ローコード開発言語は依然としてスクリプトベースであり、ユーザーは開発手法に関する基本的な知識を必要とします。また、ツールはアップグレードとメンテナンスが必要であり、自動化されたものであっても必要です。特定のIT管理課題に対処するために構築されているため、ITに詳しくないユーザーにはあまり適していません。 ハイパーオートメーションは、ローコード DevOps プラットフォームの次の主要な推進力となるでしょう。COVID-19パンデミックの影響により、企業は世界中の顧客や従業員にサポートとサービスを提供する必要があり、デジタル業務の効率化の必要性がますます高まっています。 デジタルファーストの世界で高まる需要に応える唯一の方法は、構築が容易なだけでなく、保守と拡張も容易な自動化です。DevOps分野の自動化プロバイダーは、ローコードソリューションへの移行を継続し、企業がハイパーオートメーション、つまりあらゆるものを可能な限り自動化することを可能にします。 原題: DevOps、ローコード、RPA: 長所と短所、著者: Heather Peyton [この記事は51CTOによって翻訳されました。提携サイトへの転載の際は、元の翻訳者と出典を51CTO.comとして明記してください。] |