[51CTO.com クイック翻訳]クラウドコンピューティングアプリケーションの開発は、企業がビジネスを展開するために必要な手段となっています。今日、ほぼすべての企業がクラウドベースのアプリケーションまたは SaaS 製品を使用しています。クラウド コンピューティング アプリケーションは、さまざまな理由からデスクトップ ソフトウェア市場を支配していますが、主な利点は、Web ブラウザーを備えたあらゆるデバイスを使用して、いつでもどこからでもアクセスできることです。さらに、企業がクラウド コンピューティング アプリケーションを開発すると、すべてのユーザーが同じバージョンのアプリケーションを使用できるようになります。これにより、新機能、セキュリティ更新、同期の導入に必要な時間とリソースが大幅に削減されます。 この記事では、クラウド コンピューティング アプリケーション開発の利点について説明します。 クラウドコンピューティングアプリケーションの概念を理解するクラウド コンピューティング アプリケーションは、リモート サーバー上で実行され、ユーザーが Web ブラウザーまたはローカル クライアントを通じてアクセスするソフトウェアであり、クラウドで処理されるコンテンツのユーザー インターフェイスとして機能します。したがって、ユーザーのデバイスはデータの入力にのみ使用され、そのデータは処理のためにサーバーに送信され、ユーザーに送信されます。もちろん、すべてのデータは同じクラウド プラットフォーム環境に保存され、許可されたすべてのユーザーがアクセスできます。
クラウドコンピューティングアプリケーション開発の現状今日の IT 市場は絶えず変化しているため、最も人気のあるテクノロジーを常に追跡することが重要です。 StackOverflow 調査では、最も一般的に使用されているスクリプト言語とマークアップ言語に関する詳細な情報が提供されており、その中でも Java、Node.js、ASP.NET などの言語はバックエンド開発に使用できます。この調査では、フロントエンド開発に使用される最も人気のある JavaScript フレームワークに関する統計も提供されました。 前述のように、企業はコストを削減し、時間を節約し、高い効率を達成し、パフォーマンスを向上させるためにクラウド コンピューティング アプリケーションの開発を選択します。多くの IT 業界の大手企業は、独立系ソフトウェア開発者 (ISV) や企業に信頼性が高く安全なクラウド ホスティング サービスを提供するために、独自の Platform as a Service (PaaS) 製品を立ち上げています。あらゆる規模のクラウド コンピューティング アプリケーションの開発ニーズを満たすために選択できるオプションは幅広く、それぞれに独自の利点と機能があります。したがって、クラウド コンピューティング サービス プロバイダーを選択することは、バックエンドまたはフロントエンドのテクノロジを選択することと同じくらい重要です。コスト削減などの明らかなメリットに加えて、DevOps の使いやすさ、アプリケーションのスケーラビリティなどにも影響します。 たとえば、Azure は歴史的に ASP.NET バックエンドでより適切に動作しますが、AWS は JavaEE でより適切に動作し、高負荷の Java Web アプリケーションにとって重要なマイクロサービス サポート (Docker など) がより優れています。 人気のある PaaS プロバイダーをいくつか紹介します。
これらは、世界をリードするクラウド コンピューティングの大手企業のほんの一部であり、もちろん、他にも多数存在します。今日では、ほぼすべての企業がクラウド コンピューティング サービスを利用しています。 テクノロジースタックには年々大きな変化はありません。 JavaScript は Web テクノロジーをリードしており、一方、Python、Java、PHP はバックエンド プログラミング言語のリーダーです。 Dart などの革新的な言語がますます人気を集めています。最も使用されている言語のリストに載りましたが、2019 年に使用したプログラマーはわずか 1% でした。また、2018 年には、StackOverflow の統計にはまったく記載されていませんでした。一方で、ネイティブ開発で以前使われていたSwift、Kotlin、Objective-Cも当時は知られていませんでした。 クラウド アプリケーションの開発に関しては、知っておく必要がある主なソフトウェア配信モデルが 3 つあります。
SaaS アプリケーションはエンドユーザーを対象としています。つまり、SaaS 製品が構築され、セットアップされると、顧客はそれを完全に利用できるようになります。インターネット接続が安定している限り、顧客はどのデバイスからでも既製の製品を入手でき、Google ドキュメントや Google ドライブなどの共同作業に最適です。 PaaS アプリケーションは、主にさまざまな実行環境、オペレーティング システム、データベースに基づいて開発されます。開発者はアプリケーション コードを展開する必要があり、その他のすべてのプロセスはベンダーが実行します。 PaaS を使用すると、プライベートまたはパブリックの展開が容易になり、スケーラブルなアプリケーションを迅速に開発できます。 PaaS 製品には、Heroku、Force.com、MSAzure、AWS などがあります。 IaaS アプリケーションの場合、顧客はミドルウェアとサポートを必要とし、ベンダーはデータ ストレージ、仮想化、ネットワーク、およびサーバーについて責任を負います。このオプションの大きな弱点は、顧客がクラウド コンピューティング サービス プロバイダーが提供するクラウド アプリケーション開発ツールに制限されることです。 IaaS は、Google Compute Engine、Amazon EC2 などでよく使用されます。 要約すると、SaaS は主にエンドユーザー向け、PaaS は主に開発者向け、IaaS は通常システム管理者向けです。 クラウドコンピューティングアプリケーション開発プロセス作成するソフトウェアの種類や開発対象のプラットフォームに関係なく、ソフトウェア開発ライフサイクル (SDLC) は開発プロセスの不可欠な部分です。専任の開発チームが作業を開始すると、SDLC プロセスが始まります。一連の段階を意味します。ウォーターフォール、イテレーション、アジャイルは SDLC 方法論です。これらの各フェーズは操作の実行方法に影響しますが、フェーズの順序はモデルに関係なくほとんど同じです。 クラウド コンピューティング アプリケーション開発ライフサイクルには以下が含まれます。
クラウドコンピューティング開発技術(1)バックエンド技術 バックエンド開発のテクノロジースタックは長年にわたってほとんど変わっていません。ここでは主な開発言語とツールを紹介します。
.NET は、Microsoft によって開発されたハイブリッド フレームワークです。これにより、プログラマーはさまざまな言語、ライブラリ、ツールを使用して、スケーラブルな Web、モバイル、デスクトップ アプリケーションを構築できるようになります。 .NET でサポートされている言語には、C#、Visual Basic、F# などがあります。また、独自のパッケージ マネージャーである NuGet もあり、これには 90,000 を超えるパッケージが含まれています。 .NET を使用すると、既存のクラウド コンピューティング サーバーの使用だけでなく、独自のクラウド コンピューティング サーバーの作成と展開も可能になります。したがって、これはクラウド アプリケーション開発のための強力なツールです。
Java は、1995 年に作成された、成熟した多目的プログラミング言語です。長年にわたり、Java は世界中の IT プロフェッショナルの間で支持されてきました。オブジェクト指向のクラスベースの言語は、クラウド コンピューティング、モバイル、デスクトップ、Web アプリケーションの開発に実装できます。明確に定義された仕様、期待される動作、それによる開発時間の短縮、多数のツールとライブラリ、基盤となるアーキテクチャに関係なくあらゆるデバイスで Java アプリケーションを実行できるなど、多くの利点があります。 Java は、難易度の高い計算やデータ処理を必要とするエンタープライズ レベルのプロジェクトに適しています。しかし、Java には多くの利点があるにもかかわらず、Java 開発者は使用コストが高いと考えており、起動時にこの言語を使用することは好ましくないと考えています。
PHP はさまざまな分野のソフトウェアを作成するために設計されています。 PHP のコードは特定のインタープリターを使用して Web サーバー上で処理されるため、カスタム クラウド コンピューティング アプリケーションの開発には PHP が最適です。中規模プロジェクトやスタートアップでよく使用されます。 PHP には、学習段階やその後の段階で発生する問題をユーザーが解決できるよう支援する、最大 500 万人の専門家からなる開発者コミュニティがあります。非常に明確なドキュメントにより、学習プロセスが簡素化されます。 データベース統合はバックエンド開発の重要な側面の 1 つであるため、MySQL、PostgreSQL、Redis、MongoDB などのさまざまなデータベースに接続できる PHP は最適な選択肢の 1 つです。さらに、PHP アプリケーションで使用されるコンポーネント (MySQL データベース、HTTP サーバーなど) は無料であるため、PHP ホスティング サービスは安価です。
Node.js は、JavaScript コードを実行するためのオープン ソースのランタイム環境です。その特徴は、バックエンドとフロントエンドで複数のテクノロジーを使用するのではなく、ソフトウェア開発プロセス全体を 1 つの言語 (JavaScript) に統合することです。サーバー側とクライアント側の間のギャップを埋めることで、時間やお金などの重要なリソースを節約できます。 Node.js を使用すると、優れたパフォーマンスを備えた高度にスケーラブルなアプリケーションを構築できます。これは、要求の厳しいオンライン ゲームやオンライン チャットなど、トラフィック量の多いエンタープライズ アプリケーションの作成に特に適しています。作業を容易にする広範なフレームワークを備えています。 Node.js が開発者の間で非常に人気があるもう 1 つの理由は、特に大規模なサポート コミュニティがあることを考えると、学習が容易なことです。
Ruby on Rails は、バックエンド開発に使用されるアプリケーション フレームワークです。シンプルな開発を目指します。英語のような構文とわかりやすいドキュメントにより、習得するのは比較的簡単です。このシンプルさにより開発時間が最小限に抑えられます。読みやすさが高いため、更新とメンテナンスが容易になり、RoR 開発のコスト効率が非常に高くなります。さらに、Ruby on Rails には、Ruby on Rails 専用に設計されたテスト フレームワークが多数用意されており、テストがより迅速かつ容易になります。
(2)フロントエンド技術
最も人気のある JavaScript フレームワークの 1 つは Angular です。 2016年にリリースされましたが、その品質はすでにITコミュニティで広く認められています。これは、2010 年に AngularJS を作成した同じチームによって TypeScript 上に構築されました。前身と比較して、Angular はよりシンプルなコンポーネントベースのアーキテクチャと JavaScript を備え、システムはよりモジュール化されており、非同期コンパイルをサポートしています。 ただし、優れたドキュメントと協力的なコミュニティがあるにもかかわらず、学習曲線が少し複雑になる可能性があるため、IT 専門家は通常、このテクノロジーを選択しません。 Google が Google Cloud Platform や Ad Words などのソリューションで Angular を使用しているという事実は、その品質の証です。
React.js (略して React) は、クラウド コンピューティング アプリケーションの開発に特に適したオープン ソース フレームワークです。これは、もともと単一の Web ページ ソリューションを構築するために設計された JavaScript ライブラリです。これは2013年にFacebookによって作成され、すぐにFacebookのニュースフィードとInstagramで使用されました。 React は、シンプル、高速、そして高度にスケーラブルであることを目指しています。その特徴は、再利用可能なユーザー インターフェイス (UI) コンポーネントであり、これにより、何か問題が発生した場合にアプリケーション全体を再構築するための時間と労力を大幅に節約できます。 React は、ページを更新せずにサーバー側でレンダリングを行うこともできます。さらに、他の JS フレームワークとは異なり、React は学習曲線がスムーズなので、以前に JavaScript を使用したことがある人にとっては簡単に学習できます。
Vue.js は、2014 年に Evan You によって作成されたもう 1 つのオープンソース JavaScript フレームワークです。クラウド アプリケーション開発、シングル ページ ソリューション、または Web サイト構築に最適です。 Vue.js のコンポーネント ライブラリは HTML/CSS/JS に基づいているため、すべての Web 開発者やクラウド開発者がこれら 3 つのコア テクノロジーを使用しているため、Vue.js を習得するのは非常に簡単です。高品質のドキュメントにより、学習プロセスも簡素化されます。柔軟性も非常に優れています。これにより、SPA (シングル ページ アプリケーション) を構築できるだけでなく、他のテクノロジの助けを借りて簡単に統合できる個別のインタラクティブ コンポーネントも構築できるようになります。 結論は多くの企業は、高速でスケーラブル、安全で高性能なアプリケーションを開発できるため、クラウド コンピューティング開発テクノロジを使用してアプリケーションを開発しています。これは時間とコストの節約にも役立ちます。これは、開発するアプリケーションの種類を決定する際の重要な要素でもあります。革新的なツール、テクノロジー、共通の SDLC 方法論により、開発方法はより向上し、より簡単になりました。 テクノロジー スタック、製品の機能、チーム構成、SDLC モデルを決定した後、開発チームはクラウド コンピューティング アプリケーションの開発を開始できます。 原題: クラウド アプリケーション開発の開始方法、著者: Victor Osetskyi [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。 |
<<: ウェルズ・ファーゴがパブリッククラウド変革にどう備えたか
>>: 両部門はアリババクラウドと百度クラウドと協議し、通信とインターネット詐欺の防止と管理の要件を実施するよう求めた。
すべてのウェブマスターは、光明を得て明るい未来を築く前に、長いプロモーションの道を歩まなければなりま...
何度も学習した後、まだよく理解できていないにもかかわらず、外部リンク配布に使用していた会社のドメイン...
Dreamhost のイベントはしばらく前に発表されていましたが、私は今になって知りました。残念です...
[[407477]] 1. 複数のクラスターでTektonを構築する利点Kubernetes の助け...
profitserver は現在、世界中の 15 のデータセンターで VPS および専用サーバー サ...
最近、多くの友人から、私は分かち合う精神がなく、自分のことは自分で抱え込んでいると叱られるようになり...
こんにちは、私は数日間は何もありません専門的な知識は、長い尾のキーワードが上がると、非常に単純なもの...
2 人の業界専門家が、スターバックスのモバイル アプリをサポートするために必要なチームとプロセスを構...
みなさんこんにちは。Smelling the Roseです。最近、SEOを勉強しています。どこで学ぶ...
今日のニュースは、主にウェブマスターがダウンロードして新しいバージョンの機能を体験できるように、Di...
昨日の早朝、Dianping.comの多くのユーザーが、ウェブサイトにログインしてもウェブページを開...
Budgetvmのカスタマーサービスから、中国の顧客向けに特別なウェブサイトを開発し、2つの特別割引...
本日、Amazon Web Services (AWS) re:Invent 2022 において、B...
クラウド コンピューティングは、インターネット経由でホストされるサービスを提供することを意味する一般...
ウェブマスターごとに、関連性、PR や重み、トラフィック量など、友好的なリンクを交換するための独自の...