目次:
ビデオ: コンテナ化されたアプリケーションのAWSでの構築・運用指針 | AWS Summit Tokyo 2019 2024
AWS開発に使用するプラットフォームが「正しく」ないか「間違っている」ことはありません。特定のプログラミングスキルのセットとアプリケーションの要件を考慮して、目的に合ったものを使用してください。以下の情報は、開発環境を作成する際の多くのオプションについて説明しています。
AWSでサポートされるオプションの検討
プラットフォームを定義するには、いくつかの問題を考慮する必要があります。最初の考慮事項はオペレーティングシステムです。デスクトップ環境で作業する場合、ほとんどの開発者が引き続き行うように、次の3つの基本的なオプションがあります。
- Linux
- Mac OS / X
- Windows
AWSはツールとSDKの両方の形式でこれら3つのオペレーティングシステムをすべてサポートしています。使用しているLinuxのバージョンによっては、独自のツールをコンパイルする必要があるかもしれませんが、サポートは引き続き利用できます。 WindowsとMacのユーザーは、AWSがインストールして使用するのが簡単なバイナリを提供していることを知っているという安心感があります。
ユーザーと開発者の両方がモバイルになっており、あらゆるデバイスを使用してどこでも仕事を実行することが求められているため、AWSはモバイルデバイスのレベルもサポートしています。これらのオプションは現在、モバイルデバイスを使用してオフィス外で作業する開発者を支援します。ただし、これらの環境で得られるサポートは、デスクトップ環境に比べて制限されているように見えます。たとえば、デバイス環境の制限やセキュリティの問題のために、一部のタスクを実行できない場合があります。それでも、AWSは次の3つの主要なモバイルオペレーティングシステム環境にアクセスします。
- Android用AWS Mobile SDK
- iOS用AWS Mobile SDK
- Unity用AWS SDK
オペレーティングシステムの決定は、最初のステップに過ぎません。 2番目のステップは、プログラミング言語を選択することです。サポートされる言語は、使用するサービスによって異なることがよくあります。 S3のような一部のサービスは、より広範な言語をサポートしています。なぜなら、Amazonは開発者がより広い範囲の環境でそれらを使用することを期待しているからです。ただし、次のリストは、AWSがほとんどのサービスでサポートされていることを文書化している言語を示しています。
- 移動
- Java
- JavaScriptおよびノード。 js
- PHP
- Python
- Ruby
- Windowsおよび。 NET
- C ++
選択したプログラミング言語がこのリストに表示されないことがあります。幸いにも、サードパーティが必要とするサポートを提供する場合や、AWSのマニュアルが完全ではない場合があります。疑わしいときには、プログラミング言語サポートのための代替情報源を探してください。たとえば、Rがサポートされている言語の1つとしてリストされていない場合でも、AWSでRを使用する方法については、この記事で説明します。これはAmazonのブログであり、サードパーティーのブログではないことを考えると、AWSのドキュメントは古くなっており、Amazonは後にそれを変更すると考える必要があります。
開発プロジェクトに使用するオペレーティングシステム、言語、およびツールの質問には、あなただけが答えることができます。ただし、選択の際には、これらの問題を考慮する必要があります。
- 特性: AWSと連携するために使用するオペレーティングシステム、言語、およびツールの特性によって、ユーザーが参考になるアプリケーションを作成する難しさが決まります。たとえそうだとしても。 C#のようなNET言語は、学習曲線が急峻であり、大規模なエンタープライズプロジェクトを容易にするエンタープライズレベルの機能やツールも豊富に用意されています。しかし、Pythonではデータ分析がはるかに簡単で高速になることがあります。強力なマルチプラットフォームのサポートが必要な場合は、代わりにJavaを試してみてください。 Webアプリケーションを専門とする開発者は、NodeでJavaScriptを使用することができます。 js。一言で言えば、完璧なオペレーティングシステム、言語、またはツールセットはありません。あなたにとって最適な組み合わせです。
- コスト: プラットフォームの選択肢もコストに左右されます。今日のコンポーネントの速度が比較的速いため、スピードだけで特定の組み合わせに専念するために使用されていた多くの問題が解消されています。今日はほとんどまたはまったく費用がかからないオープンソース製品を使って、プラットフォームを作ることができます。
- ローカルエコシステム: 組織内の開発者が所有するスキルによって、作成するプラットフォームが部分的に決定されます。また、地域のリソースとニーズを考慮する必要があります。たとえば、AWSアプリケーションがOfficeアプリケーションと対話する必要がある場合は、を使用します。たとえ別の言語が少しでも手間をかけずに、より低コストで実際に仕事をすることができたとしても、Windows上のNET言語はあなたの唯一の選択肢かもしれません。地元の生態系を完全に変えるには、組織が所持していないかもしれない時間、労力、スキルが必要です。
- 問題ドメイン: すべてのアプリケーションの目標はデータを操作することです。すべての言語とツールは、あなたがそのタスクを達成するのを助けることができますが、いくつかは、仕事を終わらせる上で他よりもはるかに優れています。プラットフォーム特性を決定するプロセスの大部分は、どのように、いつ、どこで、そしてなぜデータを操作するかを決定することです。たとえば、RはC#よりもはるかに優れたデータ解析言語を作成しますが、C#はOfficeなどの他のアプリケーションとのやりとりに優れています。
ブラウザのサンプルにJavaScriptを使用する
JavaScriptを使用することで、WebベースのAWSアプリケーションを作成するときに、実行する必要がある操作と実行する必要がある操作を正確に見ることができます。さらに、JavaScriptは簡単に変更することができ、アプリケーションを再コンパイルすることの不便さなしに、すぐに再実行できます。スマートフォンでコードを実行しようとすると(扱いにくいものとして)選択したとしても、そこのほぼすべてのプラットフォームで動作します。
スマートフォンやタブレットは特に優れた開発環境ではないため、JavaScriptはWindows、Linux、Macシステムで使用されているブラウザで作業する場合に適しています。
いくつかの例ではNodeを使用する必要があります。 js。ノード。 jsライブラリは、JavaScriptアプリケーションのランタイム環境を提供する単なるツールセットです。
ローカルサンプルでのPythonの使用
Pythonは、実行するコーディングについてほぼ即時のフィードバックを得ることができ、言語には小さな学習曲線しか持たないため、AWSを試すのに適しています。さらに、JavaScriptと同様、Pythonは無料でオープンソースです。他の言語もこの目的のために働く。たとえば、Javaもすべてのプラットフォームで動作しますが、コンパイラを使用して作業する必要があります。また、Javaを使用する上でのセキュリティ上の懸念がある開発者もいます。
Continuum Analytics Anaconda Pythonセットアップを使用できます。これは、コードを実行するノートブック環境を提供します。ノートブックは実際にはブラウザで動作するため、非常に柔軟性があり、生産性を上げるための高度な統合開発環境(IDE)をインストールする必要はありません。 Jupyterノートブック環境は、グラフィックを表示する場所を提供し、簡単に印刷(レポート)形式で包括的なコメントを可能にします。ただし、純粋なPythonとそのツールを使用することもできます。これはあまり便利ではありませんが、純粋なPython環境で提供される究極の対話性を好む人もいます。