完全未経験者がPythonでWEBアプリ開発してみる # 02~Python3で開発するための準備. 関数の作成をクリック。 1. ニュース. 前回はpersonを管理するためにDynamoDBでテーブルを作成しました。今回は第2回ということでDynamoDBから項目を取得するLambdaを作成していきます。 初めてのサーバーレスアプリケーション開発 … よろしくおねがいします! (このシリーズはアニメ風予告でいくかな。 「みんなのPython勉強会」は、Pythonを中心として、プログラミングを仕事、研究、趣味など、さまざまなシーンで生かす方法を一緒に学ぶ勉強会です。56回の今回は、サーバーサイドエンジニアをテーマに学びます。, AWSソリューションアーキテクトの西谷圭介氏が、前半ではサーバーレスについて説明しましたが、後半はいよいよその実行環境であるAWS Lambdaの基本について解説します。関連資料はこちら。, 西谷圭介氏:Lambdaには、イベントドリブンという言葉があります。イベントドリブンをちょっと簡単に説明したいと思うんですが、Lambdaとかサーバーレスアプリケーションにおける非常に重要なキーワードなんですね。先ほどのサーバーレスのスタックに置き換えたときにLambdaというものがようやく出てきたんですが、このイベントドリブンをキーワードにしたサービスと言えます。, イベントドリブンとはどういったものかをすごく簡単に言うと、状態の変化というイベントをきっかけに処理実行を行うようなアーキテクチャです。, 例として、動画サービスを挙げてどんなものかを説明したいんですが、これはイベントドリブンじゃないパターンですね。これはイメージなので細かいところは気にしないでもらいたいんですが、動画をアップロードするとリクエスト受付管理をして、個別のいろんなサービスと連携して処理を行うものです。, エンコードする処理だったりサムネイルを生成して保存するみたいな、いろんなAPIと連携して動画のアップロードという処理がされます。これはイベントドリブンじゃないケースなんですが、これに例えばカタログへの追加処理みたいなものを追加しないといけない。アプリケーション的にそういった機能を追加しないといけないとしましょう。, 要はインデックスのようなものを作る処理ですね。そういったことをやりたいとなった場合、そもそも新しいAPIとしてインデクシングの処理を作るというのはありますし、さらにその手前のリクエストの受付管理をするアプリケーションの部分に、そもそもの処理、インデクシングのAPIコールをするみたいな処理を追加しなければなりません。, これがイベントドリブンだとどうなるかと言うと、この真ん中の部分が変わってるのがわかるかと思います。ここの部分はいろんなやり方があるかと思います。キューだったりいろんなものがあるんですが、そういったものにリクエストの受付管理サービスはイベント発行するだけなんですね。, 先ほどAPI経由で呼び出されていた各サービスは、そのキューみたいなものであったり、そういったものをサブスクライブしているだけなので、変更するときにどうなるかというと、新しいサービスを追加してそれが新たにサブスクライブするだけでよくて、リクエストの受付管理に処理の追加とか変更みたいなことをしなくて済む。というのが、すごく簡単な説明になるんですが、イベントドリブンのメリットだったりします。, 要は疎結合になると思ってもらうといいかなと思います。イベントを送る側と受ける側を独立して実装できるようになるのがイベントドリブンだと思ってもらえればと思います。, この2つを踏まえてサーバーレスなアプリケーションモデルがどういったものかというのが、ここの図です。先ほどイベントドリブンが状態変化というイベントをトリガーに処理を実行すると話しましたが、その状態変化を起こすイベントの発生元をイベントソースと呼んでいます。, そこにはいろんなAWSのサービスがあります。API GatewayだったりオブジェクトストレージのS3と呼ばれるものだったりいろいろあるんですけど、そういったイベントソースというイベントの発生元のイベントによって、Lambdaの関数、Lambdaの処理が実行されます。あと、これからちょっと説明するんですが、Lambdaの関数自体はここに書かれているような言語で、普通のコードを書くだけでよかったりします。, 呼び出された関数の中からAWSのその他のサービスや外部のAPIなどを呼び出して処理できるようになっています。この呼び出す先のサービスとかは、AWSのサービスはもちろんですが、外部のサービスも使えますし、オンプレのサービスとかそういったものに関してもネットワーク的な経路があれば、接続できるようになっています。, つまりサーバーレスなアプリケーションにおいては、Lambdaが中心になってくるというのが、この図からもわかるかと思います。当たり前ですね。Lambdaが処理を実行するビジネスロジック部分を担当するので、サーバーレスアプリケーションを作っていこうと思うと、イコールでAWS Lambdaの実装をしていくと思ってもらえるといいかなと思います。, そのLambdaなんですけど、実際のところ何ができるの? とか、どのぐらいのことができるの? みたいな話があって、細かく答えることも可能なんですが、基本的になんでもできると思ってもらってかまいません。もちろん「GPUを使いたい」とか、そういうプラットフォーム的な制限とかはあれですが、大方のことはできるかなと思います。, 加えて、やらなければいけないことが減ります。サーバーレスは管理しなければいけないサーバーの数が減らすみたいな話をしましたが、Lambdaを使うことでそういったものがドンドン減っていきますし、逆に言うとやらなくてもいいことが増えると思ってもらっていいかなと思います。, これはインフラとかも含めたEC2とかオペレーションの責任範囲の話なんですが、上に行けば行くほどユーザーがやらなければいけないものが増えていって、下に行けば行くほどユーザーが自分たちでコントロールできる部分が増えると。逆に言うと、コントロールしなければいけない部分が増えると思ってもらえればいいかなと思います。, ポイントは今日の話のテーマでもある一番上のLambdaですね。ユーザー・お客様の管理範囲としている部分が、とても少ないのがわかるかと思います。, というわけで、ようやく前段階が終わって、ここからLambdaの基本の話に入っていきます。Lambdaを使うにあたって知っておくべき基本について説明すると言いつつ、残り10分で残りの45ページを説明するのは到底不可能なので、後ほど資料を公開するので、そちらを見るか、見た上でわからない部分とかあればぜひTwitterなどで質問をもらえればと思います。, まずLambdaで動かすアプリケーションはどういったかたちで実装していくかというと、Lambda関数が基本になってきます。ひとまず動かすのに必要な設定がここに書かれています。設定としては、メモリのサイズとタイムアウト、それから権限ものでどういう権限を与えるかみたいな設定だけが必要になります。, Lambdaの特徴として、そのアプリケーションの実行にあたってメモリサイズを指定します。(資料の)メモリの設定には、メモリを倍にするとCPUの能力も倍になるみたいに書いていますけど、どちらかと言うとコンピューティング処理能力全体の設定パラメータだと思ってもらったほうがいいかなと思います。, いくつか制限があるとお話ししました。例えばインバウンドネットワーク接続はブロックされます。アウトバウンドはTCP/IPとUDP/IPだけとか、いくつかの制限がありますね。普通のコードが書けると話しましたが、プラットフォーム的な制限はいくつかあります。, そのLambdaファンクションについて話をしていきたいんですが、AWS Lambdaで実行するアプリケーションのことだと思ってもらうといいかなと思います。サポートされている言語、もしくはカスタムランタイムで用意した言語で記述をします。ここでサポートされている言語としてPythonがあって、多くのユーザーはPythonでLambdaファンクションを書いていると思ってもらうといいかと。コンテナ内で実行されている細かい話とかは、いったん割愛したいと思います。, サポートされている言語なんですが、今日はPythonの話だけすると、2.7、3.6、3.7、3.8というバージョンがサポートされています。それ以外にもいろんな言語のサポート、メジャーなところの言語はサポートされていますし、サポートされていない言語に関してもカスタムランタイムという機能を利用することで、どんな言語でも利用できるようになっています。, それからイベントソースですね。イベントソースもいろいろありますが、これも数が多いのでまたあとで資料を見てもらえればと思います。AWSはいろんなサービスと連携できるようになっています。, Lambdaには制限事項がいくつか設定されてます。どちらかと言うとこれはセーフティガードとしてです。要は何かアプリケーションの不具合で無限ループしてしまって課金がいっぱい発生してしまったりとかみたいなことがないように制限が掛かっていると思ってください。この辺りは制限緩和が可能な制限です。, これ以外に、プラットフォーム特性として、制限緩和が不可な仕様みたいに思ってもらうといいかなと。そういった制限事項も諸々あります。, 料金です。料金に関しては、リクエスト単位で課金されます。リクエストと実行時間で課金がされます。リクエストは月間100万リクエストまでは無料となっています。それを超えると100万リクエストあたり0.2ドルみたいに掛かってきます。, 実行時間に関しては100ミリ秒単位の課金となっていて、100ミリ秒以下は繰り上げて計算します。要はLambdaが呼び出されてアプリケーションの処理も実行するんですが、それは実際に実行された時間を100ミリ秒単位で課金されると思ってください。, これがメモリ容量によって単価とか無料時間が異なってきまして、かなり複雑なので、これは私がQiitaに書いた記事がありますので、ぜひその辺りを参考にしてください。, ようやくプログラミングモデルの話に入っていきたいと思います。Lambdaでプログラミングする場合の基本です。これはPythonに限らない基本ですね。いろんな概念を覚えておく必要があります。いずれの言語でも、Lambdaファンクションのコードを記述するには、いくつかここに書かれている主要概念が含まれるLambda関数のコードを記述する必要があります。, 必ず用意しなければいけないものは、ハンドラと呼ばれているもので、要はLambdaがリクエストを実行したときに、呼び出されるエントリポイントになっていくようなメソッドを用意する必要があります。これを呼び出すことでLambdaファンクションのコードが実行開始されます。その実行環境の内容のランタイムに関する情報などが含まれるコンテキストみたいなものもあります。, それからロギング。CloudWatch Logsというサービスがありまして、Lambda関数の中にログ出力のステートメントを含めることで、それがそこに集約されて保管され、表示、出力、参照できるようになっています。この辺りは、あとでもう少し詳しくお見せしたいと思います。, あと例外に関してです。Lambdaファンクションとして使用する言語によって正常終了方法が変わってくるんですが、その例外通知の方法も変わってきます。ここもサンプルをあとでお見せしたいと思います。, プログラミングモデルの基本なんですが、Lambdaファンクションは、ステートレスに実装していく必要があります。, (資料の)「コンピューティングインフラストラクチャとの直接的な関連性はない」って、これは何を言っているかというと、Lambdaファンクションはリクエストの度に必ずしも同じコンピューティングインスタンスで実行されるとは限らないので、後続のリクエストが同じアプリケーション、同じインスタンスで実行され続けるみたいなものを前提とした実装をしてはいけないということですね。, それからローカルファイルシステムへのアクセス、子プロセス、その他類似の生成物みたいなものも、リクエストの有効の期限、実行されている間のときだけに限定されて、リクエストがいったんその1つのリクエストが終了したら使えなくなると思ってください。, なので永続化するためには、S3というオブジェクトストレージのサービスであったり、NoSQLのDynamoDBというサービスであったり、その他のいろんなクラウドストレージだったりデータストアだったりみたいなものに保存をしておく必要があります。, Lambda関数の実装です。先ほどお話したように、利用可能な言語で普通に実装するだけです。言語ごとの方言はあるものの大きな違いはありません。基本概念を各言語のやり方で実装していくんですが、つまりみなさんがふだん使っているのと同じようにPythonで書くことができると思ってもらえればいいと思います。, もちろん、AWSの各サービスと連携させたい場合などは、その使い方とかSDKなどそういったものの使い方を知る必要はあるんですけど、これに関してはLambdaに限らずAWSの上で動くアプリケーションを書く場合に必要になってくると思っていただくといいかなと思います。, Lambdaファンクションはどこで書いても大丈夫なんですが、ローカルのエディタで書いたりIDEとかを使ったりすることも可能なんですが、さらっと試したい場合は、AWSのマネジメントコンソール上にコンソールエディタというものが用意されていますので、そのブラウザ上で書いてそのまま実行するみたいなこともできるので、こちらも試してもらえればいいかなと思います。, そしてデプロイです。Lambdaのファンクションとして作ったアプリケーションをどうデプロイするかと言うと、依存関係のパッケージ、外部ライブラリなどを含むzipファイルにしてアップロードします。これも詳細は割愛したいと思います。Lambda Layerも割愛したいと思います。, 最後に実際のコードを見ていきたいと思います。まずLambdaファンクションの基本形は、先ほどお話したようなハンドラです。ハンドラネームは何でもいいんですけど、そのエントリポイントとなるハンドラのメソッドを作って、それをLambdaファンクションとして指定します。, 実際に動くコードが、(資料の)その下が例です。my_handlerという関数をエントリポイントとして、この関数は受け取ったイベントとコンテキストを入力値として引数に取っています。, その(引数の)中にイベントが入っているんですが、そこからデータを含めメッセージを単純に返しているのがLambdaファンクションです。これを見ておわかりのように、いわゆるLambdaファンクションと言っても普通のPythonのコードだというのがわかるかと思います。, ロギングに関しては先ほどいろいろお話しましたが、普通にファンクション内に標準出力で出したりprint文で出力したりするだけで、CloudWatch Logsに集まってきます。実際にCloudWatch Logsで記録されるのは、このようなイメージのものです。Lambda固有の出力とファンクションの中での出力が集まってくると思ってもらうといいかなと思います。, それからロガーです。ロギングライブラリみたいなものを使うことももちろんできるようになっていまして、そういったものを使った場合は、ログレベルだったりタイムスタンプ、それからリクエストIDみたいなものが埋められて出力される。これもCloudWatch Logsに集まってきます。, エラーハンドリングです。(資料の)上はエラーが発生するコードです。コードが原因でエラーが発生すると、LambdaによってエラーのJSONが生成されて返ってきます。この出力されたJSON自体はログにも残ります。下に示したのが実際に返ってくるエラーの出力です。エラーを検出したら、このようにerrorMessage、stackTraceみたいなフィールドを含んだJSONドキュメントが生成されてログ出力される。もしくは呼び出し元に返ってきます。, ここからは実際に実装していく上でのTipsになります。これはPythonに限らない話です。もう既にオーバーしているので、5分だけオーバーさせてもらって紹介したいと思います。, まずは効率的なファンクションのコードです。基本的に各言語のベストプラクティスとか最適化手法に則るかたちになります。, それ以外の項目として、コアロジックの分離があります。ハンドラというものを用意するという話をしたと思うんですが、その中で実際のビジネスロジックを書いていくことになるんですけど、そのロジックはハンドラの中にべた書きするのではなく、ぜひロジックとしてコアロジックは分離させることが望ましいとしています。そうすることでビジネスロジックの単体テストがしやすくなるというメリットがあります。, これは実際にどう分離するかの一例です。この場合は、Todo()というものを作ってそこに処理の実体を用意して、イベントの中身によってディスパッチして、そのTodo()を呼び出すみたいなかたちで、処理の実体を全部外に出してしまうみたいな実装をするのが望ましいとされています。, なるべく呼び出すときのイベントの中に必要なもののみ読み込むようにするですが、Lambdaというのはリソースとして利用可能なリソーススタイルが限られているところがあるので、無駄に不要なデータを読み込むと、そこを圧迫してしまうとか、処理時間、実行時間自体が長くなってしまう。つまり課金に反映されてしまうので、そもそも不要なデータをなるべく読み込まないという実装をするのがいいかと思います。, あとはオーケストレーション。要は連鎖的にLambdaファンクションを呼び出して条件分岐をしたりとかそういうことを実装する方がたまにいますが、そういったステート管理とかエラーハンドリングが複雑になるオーケストレーションコードみたいなものはLambdaの中では実装しないほうがいいとしています。, こういったことをやりたい場合、Lambdaを使ったより複雑なワークロードを実現したい場合は、Step Functionsというサービスがあるので、ぜひこちらを利用してもらうといいと思います。, そしてエラーハンドリングしましょうという話とか、Lambdaでリトライするにあたっていくつか仕様がありますので、そういったリトライポリシー必ずは意識して実装する必要があります。ここもちょっと割愛しますね。こちら(依存関係と組み込まれたSDKの話)も割愛します。, 実はLambdaは、同期実行、要はリクエストしてそれに対してレスポンスを待つみたいな同期実行だけではなくて、非同期実行も可能になっています。その非同期実行を活用することでよりスケーラビリティというものが発揮できますので、非同期実行を活用するのがいいかと思います。, ほとんどのAWSの各サービスがイベントソースから非同期でトリガーされているというところからもわかるかと思います。非同期でトリガーされているんですが、それをオーバーしたものに関してはスロットルされるのでお気をつください。, ちゃんと冪等性を確保しましょうねというのは、この辺りの分散処理とかそういったステートレスな処理だったりとか、そういったところではよくある話ですが、冪等性はお客様のコードで確保する必要がありますので、こちらは必ず意識をしていただくといいかなと思います。, あとはわりと基本的なことも書かれていますが、すごく大事なこととして、Lambdaおよびサーバーレスですべてやろうとしないことというのがあります。もちろんLambdaの実行モデルは基本的に何でもできるという話をしましたが、向いてないケースというのも多々あります。なのでそういったときにはLambdaで無理矢理やるよりも向いているものを使うほうがいいので、そちらをぜひ検討してもらえるといいかなと思います。, 例えばそもそもステートフルなアプリケーションをもってきたい場合とかです。Lambdaだとなかなか難しかったりするので、EC2やコンテナみたいなものを使っていただいたほうがいいと思います。, それから例えばロングバッチです。Lambdaには15分というのがタイムアウトの時間があり、最長で15分です。シングルトランザクションみたいなロングバッチに関しても、1時間のロングバッチみたいなものは当然実装できなかったりするので、そういったものに関してはLambdaではなくEC2であったりコンテナあたりを使ったほうがいいと思います。, サーバーレスで目指すべきことは何かというと、基本的にはいかに速く、価値のある、システムを作るというところだと思っています。つまりやらなくていいことを増やして、要はやらなきゃいけないことを減らすと、そういった意味では差別化につながらない重労働。, 例えばOSのセットアップであったりセキュリティバッチの適用、そういったなかなか大変だけれども差別化そのものにはつながらないものを自分でやらないというのが大事かなと思います。お金で時間を買うみたいな感じですね。逆に言うと差別化につながることであれば積極的にやればいいと思います。, というわけで8分ほど押してしまい、かつかなり駆け足で恐縮なんですが、私からは以上となります。繰り返しになりますが、ぜひTwitterでフォローしてくれればいろいろご質問など受けられると思いますので、ぜひこちらもよろしくお願いいたします。, Pythonでスタートする人たちの集い。 pip を使って AWS SDK for Python をインストールする。 ~/.aws/credentials からアクセスキーを読み込む。 Amazon Simple Storage Service (Amazon S3) クライアントをインスタンス化する。 さまざまな方法で Amazon S3 とやり取りする(バケットの作成やファイルのアップロードなど iPhoneユーザーはどの「iPhone 12」に買い替えるべき? 徹底検証してみた!, 日頃使っているスマホアプリは、ユーザーに見えないところでさまざまな機能を持ち、成り立っている。それらの開発には多くの時間がかかり、特にスタートアップ企業などのエンジニアの負担となっている。そうしたなか、アマゾンが提供する「Amazon Web Service」が問題を解決する手段として注目を集めていることを知る人は多いだろう。, Amazon Web Service(以下、AWS)は、アマゾンが提供するクラウドコンピューティングサービス。アプリ開発、ウェブサービス開発の分野で広く普及しており、従来ではサービスの仕様変更などには多くの時間と労力が必要だったことに対して、AWSでは、設定変更のみで対応できるという大きな利点がある。, アマゾン ウェブ サービス ジャパン スタートアップソリューションアーキテクトの塚田朗弘氏は「アプリケーションエンジニアにとって、サーバーの構築や監視など低レイヤーの部分は本当にやりたいことなのか、実際にはフロントエンドのアプリを開発など、つまりは、ユーザーに価値を届けるのが実際にエンジニアがやりたいことではないか」と語る。, 塚田氏はそうしたエンジニアを手助けできるのが、「AWS Amplify」だと語る。「AWS Amplify」はAmplify CLI、 Amplify Framework、Amplify Consoleという3つの要素からなるサービスだ。, Amplify CLIは、AWSで提供されるコマンドライン。AWSの機能を詳細に理解していなくても、「エンジニアがやりたいこと」を直感的に実現できるとしている。, たとえば、〇〇の機能を実現するためにAWS Appsyncからこの機能を使って実現するというような考え方ではなく、やりたいことから機能を作ってくれるインターフェイス。上の写真のように、コマンド「$ amplify add api」と入力すると、GraphQLにするかRESTにするかCLIと対話するような感覚で機能をつくることができる。, どちらにするかを選び、最後に「$ amplify push」を実行すると、AWS Cloud上にApp Syncがプロビジョンされる。もちろん、この機能はAppSyncだけではなく、多くのバックエンドの構築が可能。, 塚田氏によると「ひとことで言うなら、AppSyncはマネージドなGraphQLのゲートウェイ」。APIの提供方法のひとつであり、自分でホストすることも可能だが、それをマネージドサービスとして、提供するのがAppSync。ユーザーが使うアプリはGraphQLというインターフェイスでAppSyncとやりとりしており、これによってアプリは自由にデータを取得したり、アップロードしたりできるという。, また、チャットなどのリアルタイムな通信についても最適だと塚田氏。リアルタイムの通信は、自前でサーバーを立てて、拡張性を確保しなければならず環境構築がとても大変だった。しかし、AppySyncを使うことで、数百万の接続のサービスもホストすることが可能と塚田氏は語る。, また、データソース(写真右側)の柔軟さもAppSyncのひとつの特徴だという。たとえば、ユーザーデータを取得するように、フロントエンドのアプリから指示されたとき、AppSyncはAmazonDynamoDBや、Amazon Elastichsearch Serviceなど複数のデータソースを扱うことができるため、さまざまな状況で柔軟な対応ができる。, CookpadTVからは、CTO 渡辺慎也氏が登壇した。CookpadTVは、Cookpadから料理動画事業を分社化した会社。, 同社が提供するCookpadLiveは「一緒につくれるクックパッド」をコンセプトに、アイドルやお笑い芸人が、料理をしている様子をライブ配信するサービス。外食が増える時代で、有名人を目当てに見に来た人にも料理に興味を向かせることに成功したと渡辺氏。, CookpadLiveでは、スタンプやコメント、CookpadLiveの機能「ハート」などユーザーが投稿するメッセージの部分でAWSを使用しているという。当初はAWSが日本で展開していなかったこともあり、「Firebase」という別のサービスを使用していたが、FireBaseで起きる障害や、AWSでデータを一元管理したかったことなど、ほかにもいくつかの理由でAWSに移行したという。, Firebaseの場合、高機能ではあるものの障害が多かった。コメントが機能しなくなると、出演者と視聴者のコミュニケーションがとれず、結果として番組が盛り上がらなくなってしまう。, 移行時には、AndroidやiOSのサポート状況が未整備だったこともあったが、AWSと連携を取りつつ解決、加えて、移行を検討した際の課題はすべて解消されたという。, CookpadLiveでは、自由にコメントを投稿できるというサービスの性質上、誹謗中傷などふさわしくないコメントを弾くために、ユーザーのコメントは直接AppSyncには到達せずに、CookpadLiveアプリを通してAppSyncへ到達するようになっている。, また、サービスの人気が出るに連れて、投稿されるコメントも膨大な数になってきた。AppySyncも大きな拡張性を備えてはいるが、無限にどこまでも許容できるわけではないため、複数のメッセージをまとめて送ることで、コスト削減とアプリにかかる負荷を軽減できたという。, 渡辺氏は「AWSで想定していたメリットはすべて享受できている。バッファリングも活用することで成長するサービスにも耐えられている」とAWSについて語った。, tyottoからは、CTO 伊藤哲志氏が登壇した。同社は、学習塾の運営などを行う会社。2016年から神奈川県で高校生向けの個別指導向けの学習塾を運営すると共に、キャリア教育コンテンツの開発、学習支援アプリの開発を行っている。, 同社が開発中のアプリは「生徒の学びを引き出すコーチングアプリ」。学習計画を登録、学習時間の計測や学習の振り返りなどの機能があり、学習計画を管理するためのアプリだが、生徒がより主体的に行うためにチャットボットがコーチングしてくれるという特徴を持つ。, 従来使用していたアプリケーションでも、AWSのサービスを利用していたが、保守、モニタリングが必要であり、開発用のテスト環境のコストや利用者が増加した際の対応が難しいという問題があった。, この部分はエンジニアとしては、やりがいのある部分ではあるが、スタートアップ企業にとっては、ここはフォーカスするべき点ではないと考えていたと伊藤氏は語る。, そのときに出会ったのがAWS Amplifyだった。拡張性の高いGraphQLサーバーを構築可能で、バックエンド環境もすぐに構築できることを魅力的に感じたと伊藤氏。, tyottoで使用しているのは、AWS FlameworkとAWS Consoleのふたつ。モバイルアプリの中にフレームワークを組み込むことで、AppSyncなどAWSのサービスを簡単に呼び出せるという。ユーザー認証の一般的な機能であるサインイン、サインアップなどはすべてAWSで一式が提供されており、認証情報の提供も行うため高速かつ安全に開発できると伊藤氏は語る。, Amplify Consoleを使うことで、わずか数クリックでWEBアプリケーションの配信基盤を構築でき、開発中のアクセス制限や本番用、開発用環境の同時配信が可能になり、従来よりもコストを下げられた。, 従来の環境から、現在の環境に移行するまでにかかった時間は半年程度という。伊藤氏は「AWSはITのツールボックスと言われるが、もはやチームの一部といってもいい。本来のやるべきことに集中できる環境」とAWSについて語った。, KDDIとAWS、5Gネットワーク内にエッジコンピューティングを構築し低遅延なサービスを実現へ.

.

臥 牙 丸 食事 14, 東芝 リストラ 2020 17, Apple Music アートワーク 4, 徹 甲 榴弾 挑戦者 5, 鉛筆 持ち方矯正 教室 11, 我慢 英語 Stand 12, 竹原 憧憬の道 2020 11, Bmw デイライト 消し方 33, Bts ショップ 大阪 6, 黒い砂漠 肉 採集 14, 米津 玄師 Album Download 20, Soundpeats Truemini 説明書 47, Esxi バックアップ Vcenter 10, ヴィランズツム 10 回フィーバー 27, At限定 男 割合 6, エイリアンズ 秦 基博 コード 6, Fh 9400dvs Usb 動画再生 6, Zoom エラーコード 100000502 14, 5ch 実況 テレ朝 4, 弁護士 ドットコム Wiki 6, Dell Support Assist Os Recovery 起動しない 18, ニコン Fm10 生産終了 8, I Love You アメリカ人 4, チョコレートドーナツ セリフ 英語 6, バイオ レオン なんj 4, 常盤矯正歯科 2 ちゃん 4, 志麻さん 鶏 ひき肉 4, ダイノック シート 不燃 39, 丸ノコ 卓上 自作 4, イルメグ で暮らす 約束事 17, シリコンゴム 紐 ホームセンター 6, 片麻痺 セルフケア不足 看護目標 4, 請求書 確認 メール 返信 4, モバイルsuica 機種変更 できない アンドロイド 4, 3ldk 家具配置 シュミレーション 18, 3dプリンター データ ガンダム 29, 大葉 100g 何枚 5, Rdr2 伝説の動物 死骸 7, 守護神 セーブ 投手 違い 4, Oracle Winx64_12102_client Zip 12,