Application)の開発を通じて、サーバレスアーキテクチャの考え方を知っていただき、Webアプリケーションとして作成していく際にどのような構成を取ればよいのか、開発環境やテストなどはどのように行えばよいか、実際のコードを交えながら解説していきます。今回からは、JavaScriptのブラウザ向けフレームワークにAngularを使い、AWSのサーバレスアーキテクチャ向けに用意された各種機能を使いながら、簡単な掲示板を作ることをゴールにします。53の設定Page9動作の確認まとめ本連載で作るSPAのゴール開発する掲示板は以下のようなイメージです。登録したユーザでサインインするための画面ですスレッド作成画面スレッドを作成するための画面ですサインインしなければアクセスすることができません第2回から第4回では、以下の内容を扱っていきます。第2回では、サーバレスSPAで最低限必要になる、以下2つの仕組みを整えていきます。GatewayでSSLを経由するS3+CloudFrontの組み合わせでは、簡単かつ安価に静的コンテンツからなるWebサイトを公開することができるため、既にこの組み合わせでWebサイトを公開した経験のある方も多いかと思います。今回作るアプリケーションでは、そこに留まることなく、サーバー側のAPIからデータを取得したり、データを登録することになります。そのため、第2回では、SSLを経由してAPIにアクセスできるところまでを目標にします。Lambda間で通信をする際に必要となる、認証周りの仕組みのうち、以下2つの仕組みを利用してログイン及びログアウトの機能を作成していきます。Lambdaを利用したCookieやCredentialを利用したAPI通信を実現している例は少なく、また、サーバレスアーキテクチャの性質上、別途認証サーバーを作成するのはナンセンスです。Cognitoを利用して認証の仕組みを構築していきます。セキュリティの観点から、CookieやCredentialの仕組みや設定についても考えていきます。第4回では、さらにもう一歩踏み込み、データの永続化機能を扱います。DynamoDBやElasticsearch、ORMなど、データの保持方法DataMapperの必要性と実装例ログインできるウェブアプリケーションを作っても、実際にデータを読み書きできないと、本来の力の半分も発揮できていないと言えるでしょう。第4回では、RDBMSではなく、サーバレスアーキテクチャ向けのKVMとされるDynamoDBや、大量のデータを検索/分析可能な分散型検索エンジンであるElasticsearchを用いたデータの永続化機能を実装していきます。第4回ではこれら複数のストレージを透過的に扱うため、DataMapperの実装例を紹介します。サービスのアーキテクチャ設計から継続的な開発の仕組み作りや実装まで行うプログラマ。エンジニアとして活動する他、HTML/CSS/JavaScriptエンジニア、Webアプリケーション開発のUI/UX担当なども手がけています。圧縮・解凍UNIX基本講座@CodeZine『CodeZine(コードジン)』の公式アカウントです。【NEW】デブスト2019デブサミ2019福岡・関西デブサミ2019夏デブスト関西デブサミ2019×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。