建築家:Webアプリケーション開発への異なるアプローチ


それは2021年であり、Serverlessは主流になり始めている、Kubernetesはトップエンタープライズネットワークソリューションと反応Webライブラリとして浮上している最も求められてフロントエンドのskillsetです.一方、フロントエンドの発展の世界は、フロントエンドのフレームワークを持つ技術的な債務対スケールの複雑さに苦しんでいる.バックエンド開発側では、効果的なアプリケーションを生成するために統合を必要とするサービスの量でスケールの複雑さがあります.確かに多くの話には、しかし、要点は、この時点では、完全なスタック開発者になることが最も複雑なそれまでされているです.
このポストでは、私はあなたがHMMに行くことができるいくつかの異なるアプローチを見てみたい.クラウドインフラストラクチャを管理する必要がありますか?カスタムCSSを作成する必要がありますか?私は、私のウェブサーバのために機能より必要ですか?交互のアプローチを見る価値がある.

建築家
アーキテクトは、いくつかの異なるサーバーのランタイムをサポートする、無制限のServerlessなフレームワークですが、このポストの目的のために、我々はNODEJSに集中しています.建築家は雲の形成、AWSのスキーマ言語の複雑さを取り、明確で簡潔な宣言仕様にそれを蒸留します.設定ファイルを見ると、何が起こっているかを正確に判断できます.
@app
myapp

@http
get /
post /assets
delete /assets/:id
ここでは、3つのエンドポイントをサポートするServerlessアプリケーションがあります.
  • ゲット
  • ポスト・アセット
  • 資産の削除
  • その単純な構成から、建築家は、Serverlessな関数ハンドラーArc initを生成することができます.アーク展開
    これは、一般的なタスクのすべてを処理し、開発者がアプリケーションに関係する特別なタスクにフォーカスするようにするServerlessへの宣言的なアプローチです.

    どうやって動くの?
    arc initを呼び出すと、以下のディレクトリが生成されます.
  • /src/http/get index
  • /SRC/HTTP/POSTアセット
  • /src/HTTP/delete - asset - 000 id
  • これらのディレクトリの各々はインデックスです.AWSラムダのハンドラ関数を含むJSファイル.
    exports.handler = async function http(req) {
    
      return {
        statusCode: 200,
        headers: ...,
        body: '<h1>Hello World</h1>'
      }
    }
    
    この関数は、リクエストされたHTTPリクエストを表すリクエストオブジェクトを提供し、応答オブジェクトを返すことを期待します.応答オブジェクトは、オプションのHTTPステータスコードとHTTPヘッダーを持つ本体を含む必要があります.
    これらのディレクトリのそれぞれは、異なるAWSラムダ関数として展開され、Intressサービス、ロードバランサ、IPポート、Webプロキシ、およびWebサーバについて考えることなく、信じられないほどのスケーラビリティを提供します.あなたの関数を作成し、それが呼び出され、応答を返します.

    共有ライブラリはどうですか?
    アーキテクトには、共有ライブラリのコードを配置できる場所がいくつかあります
  • src/sharedディレクトリ(内容は全てのラムダにコピーされる)
  • src/viewsディレクトリ(内容は@ http get lambdaにコピーされます).
  • ラムダ関数に含めることができます.
    const template = require('@architect/shared/template')
    
    exports.handler = async function http(req) {
      ...
    }
    
    これは、懸念のクリーンな分離の結果と、アプリケーションに一般的な再利用性を提供します.

    ローカル環境での実行
    Serverlessでの課題の一つは、ローカル開発環境で実行する能力です

    セットアップの取得
    アーキテクトとのセットアップをする仕事が少しあります.
    必要です.
  • AWS口座
  • NODEJS —  https://nodejs.org
  • All CLI —  https://aws.amazon.com/cli/

  • 概要
    宣言的な概念を活用して、建築家はWebサーバとして何かをやりがいを持っており、従来のアプローチを作成するためにAWSサービスを活用しました.より多くの建築家とチェックアウトするには、チェックアウトhttps://arc.codes 詳細は