Presented by: Tomoki Nishinaka, Yu Zhouxun PayPayの機能の一つとして2020年4月に新たにリリースされた通知サービスでは、スケーラビリティとパフォーマンスを重視し、数々のデータストアソリューションの中からDynamoDBを採用しました。通知センターの設計からリリースまでにおける検討プロセスや、DynamoDBを使った開発/運用手法、及びテーブル設計のtipsについてご紹介します。
3年ぐらい同じ事を言い続けてるんだけど、そもそもサーバーレスという言葉の由来はソフトウェアアーキテクチャの話*1。 一つのタスクの実行期間を超えて、ファイルシステムやメモリ上の変数などサーバ固有のリソースに依存しないという、12 Factor Appから死ぬほど言われ続けている制約を満たすプログラミングモデルがサーバーレスの本質です。この制約に視点を置くとサーバーレスとしか言いようがない。 これを真面目にやろうとすると、キューやPub/Subによる非同期タスク(イベント駆動)が必要になってきます。これを整理したのがリアクティブシステム、わかりやすく関数という枠にはめたのがAWS LambdaをはじめとするFaaSです。 その一方で、これを満たしたソフトウェアは、AWSなりAzureなりGCPなりクラウド基盤側が勝手にサーバを増やしたり減らしたりできて、完全従量制にできたりメリットがたくさん
私個人の話なのですが. 最近は仕事でAWSやGCPのサーバレスアーキテクチャにふれる機会が増えた*1と同時に, 自分が気になる世の中のニュース(グルメとかいろいろ)だけをいい感じに集めてまとめて読みたい その中でも特に⚾, 速報とかいい感じに通知させたい という怠け者欲ライフハック欲が高まってきたので, GCP(とちょっとしたPythonスクリプト)でSlack Botを作りました. 趣味開発で雑にはじめた結果, 三日程度でできちゃった*2のでその知見をメモ代わりに残します. おしながき おしながき TL;DR 対象読者 作ったもの GCPをフル活用して実質三日でBotをローンチした Bot本体の開発 GCPの何を使うかで試行錯誤 プランA「GCEを使う」 プランB「Cloud Run + Cloud Scheduler」 採用した構成「Cloud Functions + Cloud Sc
先日Herokuの完全有償化が発表されて以降、蜘蛛の子を散らすようにHerokuからの脱出が図られています。 そんなわけで概ねHerokuの代替となりそうな無料サービスを紹介していきます。 ほとんどの代替サービスは完全無料というわけではなく、機能の少ない無料プランと高機能の有料プランが存在します。 有料化前のHerokuと同じということですね。 各サービスについて、実際に使ってみたという参考記事を貼っておくので、実際の使い勝手等はそちらを参照してください(他力本願) Qiita内に使ってみた記事が見つからなかったサービスは、日本では人気がないのだろうということで選外にしました。 また概要は、各サービスの説明やドキュメントに記載されているものです。 代替サービス一覧 FLy Flyはグローバルなアプリケーション配布プラットフォームです。 Turbokuを使えばHerokuアプリをFly.io
概要 AI革命のインフラを目指すSaaS系スタートアップのFastLabel(最近資金調達しました!記事はこちら)で働いているが、今までGCPで動かしていたインフラを訳あってAWSに基盤を載せ替えることになった。 スタートアップは何よりスピードが求められるが、だからといってセキュリティやモニタリング、可用性を疎かにはできないし、大きなインフラコストに耐えられるほど体力もない。 アプリケーション要件を満たしつつ、以下を実現するアーキテクチャを設計する。 シンプルな構成・構築の容易さ スピーディな開発・適用 可用性の担保 セキュリティの担保 最低限のモニタリング 低コスト(リソース・運用) ここで紹介するアーキテクチャは実際に運用まで行っており、問題なく稼働しているし、先日AWSの方にレビューしてもらったが、「なかなかイケてる」というお言葉をもらい、特に改善点も指摘されなかった。 結論(アーキ
最近、分散データベースとかNewSQLとかサーバレスなデータベースとか色々聞きますよね。 でも、専門ではない人たちにとって、「何が違うの?」「自分たちに必要なDBはどれなの?」という点が分かりづらいと思います。 私も良く聞かれます。 AuroraはNewSQLですか? NewSQLってサーバレスなんですか? スケールできないDBとか聞きますけど、リードレプリカ増やせますよね? などなど。この辺に基本的なところから答えられるように、順を追って解説していきましょう。 「コンピュートとストレージは別であれ」 と神が言うと、コンピュートとストレージは分離された。 と言うのは冗談ですが、まずはここからスタートしましょう。 クラウド以前のデータベースを使っていた人にはお馴染みのように、それまでデータベースは大きな1つの箱でした。 過去に私は下図でデータベース(厳密にはRDBMS)のコンポーネントを解説
6月末に O'Reilly から出版された「サーバーレスシングルページアプリケーション」を読んだ.ただ読むだけじゃ理解度が浅くなってしまうかもしれないなと感じて,今回は全ての実装を写経してみた.そのため少し時間はかかってしまったけど,フロントエンドには苦手意識があったし,今まで SPA の実装もしたことがなかったので,前半部分は特にワクワクしながら楽しめた.今回,監訳者の id:yoshidashingo にご献本を頂き,本当に感謝しかありません.ありがとうございます!と同時に,ガッツリ読もうと意気込んだタイミングで仕事に忙殺されてしまったりして,書評のタイミングが遅れてしまったのはすみません! サーバーレスシングルページアプリケーション ―S3、AWS Lambda、API Gateway、DynamoDB、Cognitoで構築するスケーラブルなWebサービス 作者:Ben Rady発売
昨今、アプリケーションをつくるのに、様々な手段があります。「フルサーバーレス」はその一つで、マネージドサービスを駆使し効率的にアプリケーション開発を行うことができます。とはいえ、「アプリ開発」とひとことでいっても、必要な作業は多岐に渡ります。本セッションでは、Amazon EC2 に Play Framework + Scala で Webアプリ を構築する流れを比較対象の例にとり、サーバーレスで開発する場合の「考え方」を話します。言語や実装パターンの話よりも、典型的なWebアプリの開発手法がサーバーレスにおいても適用できるのか、またはまったく考え方を変えなければいけないのか、という議論が焦点です。
はじめに このツイートに結構反響があったので、雑になるがとにかく自分の考えをダンプする。もともと書いていた記事はうっかりやらかしてデータロストした、泣きたい。 話をわかりやすくするために、ALB+ECS(Fargate)を使ってWebAPIと対比して説明しているが現実はもっと複雑である。 引用リツイートをもらえた部分などについてもアンサーっぽいことも書いていく。 AWS利用費と人件費の話 AWS上にWebAPIを構築する際に、AWS利用費の削減をモチベーションとしてApiGW+Lambda構成が、採用されることがある。確かにAWS利用費は下がるがApiGW+Lambda構成を設計〜運用するためにはAWSに関する知識の中でもとくに専門的な知識が必要になる。こういった人材を雇用または外部へ発注し続けることは人件費に跳ね返ってくる。 ApiGW+LambdaがWebAPIのための構成として唯一無
サーバレスコンピューティングは新しいシステム開発手法である。Serverlessconf Tokyo 2017で紹介された、スケーラブルで堅牢かつ高性能なアプリケーションの構築に役立つ6種類のデザインパターンを紹介する。 2017年11月2日、3日の2日間、東京都内でサーバレスコンピューティングのイベント「Serverlessconf Tokyo 2017」が開催されました。 サーバレスコンピューティングもしくはサーバレスアーキテクチャと呼ばれるアプリケーション実行環境は、一般にサーバのことを意識せずにアプリケーションを実行できる環境のことを指します。 そのサーバレスコンピューティング環境の実装として一般的なのが、あらかじめアプリケーションとして実行したいコードを関数として登録しておくと、指定されたイベントによって自動的に関数が呼び出されて実行されるという、いわゆるFunction-as-
こちらの記事は6 things I’ve learned in my first 6 months using serverlessの和訳になります。 サーバーレスの世界は適切なツールさえ見つければミドルレイヤーを省けるのでとても良いものです。 10月に行われたServerlessconfの後、自分の会社を全てサーバーレスにすることに決めました。最初の2ヶ月は Python Flask appにLambdaを導入するのに必死でしたが、そのおかげでより良い方法を思いつきました。 そして6ヶ月後、私たちにとって4番目に大きいプロジェクトをサーバーレスでデプロイすることになったのです。以下の内容がデプロイするまでに私たちが学んだ教訓、意見です。 レッスン1 Pythonの使用は避けましょう Flaskは昔ながらのリクエスト、レスポンスのスタイルで、サーバーによって管理されるセッションがあるWeb
はじめに この記事は、同人誌サークル「めもおきば」から不定期刊行している技術解説本「めもおきばTecReport」に書いたものを公開用に再編集したものです。 ⇒ めもおきばTecReport 2023.12 この記事のほかにも「私もSecHack365に参加したい!」や、「2023年振り返りと2024年技術予想」としてこんなキーワードを取り上げているので、気になったらぽちっとしてください! メガクラウドと特化型クラウド/ハイパーバイザーのSoC化/ライセンスとクラウドベンダー/イベント駆動型API/LLM時代のAIペアプロ力/生活必需品としてのGPU・NPU/Passkey/ウェブアクセシビリティ/リアルイベントの再開 サーバーレスの次はなんなんだ サーバーレスと呼ばれる技術ムーブメントが盛り上がり始めて8年近くが経ちました。各クラウドベンダーのFaaS(Function-as-a-Ser
ヘッドレスChromeの自動化ツール「Chromeless」を使って自動テストを実施する #serverless #adventcalendar ヘッドレスChromeでシンプルに自動テストを行う Google Chromeのバージョン59から標準搭載された、ヘッドレスモード(GUIがないモード)。コマンドラインからヘッドレスブラウザを立ち上げることができ、スクリーンショットの撮影を行ったりDOMを出力したりすることができます。自動化の可能性に満ち溢れた機能です。 ヘッドレスChromeの導入については、次の公式ドキュメントが詳しいです。 ヘッドレス Chrome ことはじめ | Web | Google Developers ドキュメントを読んでいただくと分かると思いますが、様々なことが可能なため指示の記述が少し冗長な面があります。 そこでヘッドレスChromeを用いた自動化処理
【2019/09/12 追記】 この資料は旧版であり、最新版が存在します。 2019/09/12 にアップロードしたものをご参照ください 最新版 → https://www.slideshare.net/AmazonWebServicesJapan/db-20190905 --------(元の文)------------------- 2019/05/09 に #AWSLoft Tokyo で開催されたイベント、「イチから理解するサーバーレスアプリ開発」における講演資料の一つです。 ・サーバーレスアプリケーションにおいて Amazon DynamoDB が利用しやすい理由 ・RDB と DynamoDB の設計プロセス・考え方の対比・明文化 ・実例に沿った DynamoDB の設計プロセス解説とサンプル例題 などを含みます。 イベント: https://understandingbasi
サーバーレスがアプリケーションにもたらす本当のメリットとは?「サーバーレスのポテンシャルとシステム表現」 #devsumi 「そのサーバーレス、本当に意味あるの?」 AWS re:Invent 2014で、AWS Lambdaが発表されてから丸3年が経過。サーバーレスという単語もすっかりこの界隈では定着した感はあります。 ですが、実際の開発・運用ノウハウについては、まだまだ試行錯誤が続いているのが現状じゃないでしょうか。ぶっちゃけ、既存アプリケーションのEC2をLambdaに置き換えるだけではほとんどメリット無いでしょ、という感触は、ある程度サーバーレスアプリケーションをゴリゴリ作っている人であれば、よく感じていることだと思います。 そんななか今回受講したこのデブサミのセッションでは、新しい観点でサーバーレスがもたらす恩恵やメリットを捉えることができてごっつ新鮮だったので、その模様をお届け
★★再追記 レンタルサーバは、自由度が低くてストレスになるからやらない。SQLでwith使いたいからMySQL8をって言ってもさくらレンタルサーバじゃ無理なんでしょ? あと同居利用者のせいで高負荷ってのも避けたい。そこを気にしない人はレンタルサーバでいいと思うよ。 あと LB $0.025/h だった。月2000円くらいか。 ★追記 LBは独自ドメイン+自動更新無料SSL証明書のためね。Cloud Storageの無味乾燥なドメインでいいなら、SSL自動かつ無料でほんとに月数円。 ------- もうねめんどくさいんだわ。もちろん以前はそうやってたよ。 PHPだのApacheだのMySQLだのインストールしたり設定ファイル置いたり、 脆弱性対応したり、SSL証明書更新したり、一応落ちてないか無料監視サービス使ったり。 でも仕事ならともかく、趣味だからこそこんなことやりたくないじゃん。 なの
はじめに サーバーレス開発部の藤井元貴です。 サーバーレスな設計や開発は意外と難しいものです。特に「やりたいこと」が「サーバーレス」で実現できるのか? を常に意識し続け、トライ・アンド・エラーを繰り返すことが重要です。 そこで、先日みつけた形で始めるサーバーレス設計をご紹介します。簡単ですが、ひとことコメントもあります。 上記の内容を知らなくとも、結果的に「あ、同じ構成(考え方)だ!」となる場合が多いです。 そのため、事前に知っておくことで手札を増やすことができ、より効率よくサーバーレスな設計を実現できると思います。 おすすめの方 サーバーレスに興味がある サーバーレスな設計を知りたい 形で始めるサーバーレス設計 下記となります! 形で始めるサーバーレス設計 動的 Web / モバイルバックエンド API Gatewayを用いる王道パターンです。業務でもプライベートでも、よく使う構成ではな
概要 AWS で人気のサービス DynamoDB についての論文が公表され巷で噂になっていたと思う。 今回は、その論文を読み込んでいき、ざっくりまとめていくという記事になります。 完全趣味な記事なので、興味ある人がいれば幸いです笑 Abstract まず論文のタイトルですが、「Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service」と題したものとなっています。 Amazon DynamoDB は、NoSQL とよばれる部類のデータベースサービスです。 一貫した耐久性、可用性、パフォーマンスを提供してくれるマネージドなサービスなのが特徴ですね。 冒頭、2021年に66時間にわたる「Amazon Prime Day」中にピーク時8920万リクエスト/秒をさばいてい
初めてAWSのサーバレスサービスを学習するときに利用できる「基本的なェブアプリケーションを構築する」の内容を2024年現在でも実行できる手順にしてみました こんにちは、臼田です。 みなさん、AWSのチュートリアル活用してますか?(挨拶 今回はAWSの初心者向けハンズオンコンテンツである基本的なウェブアプリケーションを構築するを2024年の現在版の手順としてまとめてみました。 このコンテンツはAWSのサーバレスなサービスを利用して、簡単にウェブアプリケーションを作成する体験ができるチュートリアルとなっており、登場するAWSの各サービスを理解するのにちょうどよい内容でした。しかし、リリースされてしばらく経っているのもあり、特に今回のAmplify Gen2リリースもあってだいぶ画面や操作方法などが変わってしまいました。 実現できる事自体は変わらないので、現時点でこのチュートリアルを初心者でも完
渡辺です。 米中で無人コンビニ沸騰 機動力の良さ日本でも - 日経電子版で弊社の取り組みが紹介されました。 筆者が参加した小売り関係者の勉強会では、米中の視察の報告会に加え、アマゾン・ゴーを実際に再現したシステムの体験会があった。 企画した会社は、クラスメソッド(東京・千代田)。アマゾン・ウェブ・サービス(AWS)で国内有数の実績をもつシステム会社で、なんと3週間で疑似的な体験システムを完成させた。 本日は、こちらの記事で紹介されたAmazon Goの再現システム(以下、Yokota de Go)について、技術的な部分を紹介します。 なお、このエントリーは、上記2018年7月のデモ時点の実装に基づきます。 また、3週間程度で、試行錯誤しながら、実験をしている段階であることをご理解ください。 Amazon Goに関しては、Amazon Go体験ツアーを参照ください。 発端 ある日、ボスが「A
先日の Next.js Conf で Vercel は Next.js の新しいバージョン「12」をリリースした。 興味深いのは、Vercel は同時にEdge Functionsというサービスを開始したことだ。 Edge Functions – Vercel 謳い文句のひとつに Push your functions to the edge とあるように、「エッジ」で実行される「関数」を提供するプラットフォームである。 ここで言うエッジとはなにかというと、Vercel は明言していないが CDN のエッジのことだ。 Vercel の例のように「CDN のエッジで実行する系」が増えている。例えば以下の 7 つだ。 Cloudflare Workers Fastly Compute@Edge AWS CloudFront Functions AWS Lambda@Edge Deno Depl
背景 AWS LambdaでAPI開発をする AWS LambdaとAPI Gatewayを組み合わせることでサーバレスのAPIを開発することが可能です。サーバレスで構築することで手間をかけずにスケーラビリティやコストの最適化を手に入れることができ、さらに死活監視等が不要のため運用のコストを大幅に下げることができます。 開発パターンがまとまっていない サーバレスによるAPI開発は非常にメリットが多いのですが、開発パターンが様々あり一貫した方法があるわけではありません。例えば、Lambdaのデプロイは手動でzipをアップロードする方法や、SAM/ServerlesssFrameworkなどのデプロイ支援ツールを利用する方法、さらにオンラインエディタのCloud9を利用することもあります。関数ごとにディレクトリを分離する場合もあるし、ソースコードを共有してエントリーポイントだけ切り替える場合も
【新機能】Python Serverless Microframework for AWS(プレビュー版)が登場! こんにちは、せーのです。今日は昨今でのクラウド構築での主流となりつつある「サーバレスアーキテクチャ」を更に効率的に構築できる便利ツールをご紹介します。ちょっとワクワクしますよ。 できるだけ速く、できるだけ直感的に AWSにてサーバレスアーキテクチャを実現するのに一番シンプルな方法は「Lambda + API Gateway」です。要件をREST APIの形に落とし込み、API Gatewayにデプロイ、URLを叩かれたらLambdaが連動して処理を開始する、というものです。Lambdaが自動的にスケールしてくれるので沢山のアクセスがきた時もうまいこと捌いてくれ、EC2無しでシステムの構築が可能となる、というものです。 しかし実際に組んだことがある方はわかるかと思いますが簡単な
「みんなのPython勉強会」は、Pythonを中心として、プログラミングを仕事、研究、趣味など、さまざまなシーンで生かす方法を一緒に学ぶ勉強会です。56回の今回は、サーバーサイドエンジニアをテーマに学びます。 AWSソリューションアーキテクトの西谷圭介氏が、前半ではサーバーレスについて説明しましたが、後半はいよいよその実行環境であるAWS Lambdaの基本について解説します。関連資料はこちら。 イベントドリブン 西谷圭介氏:Lambdaには、イベントドリブンという言葉があります。イベントドリブンをちょっと簡単に説明したいと思うんですが、Lambdaとかサーバーレスアプリケーションにおける非常に重要なキーワードなんですね。先ほどのサーバーレスのスタックに置き換えたときにLambdaというものがようやく出てきたんですが、このイベントドリブンをキーワードにしたサービスと言えます。 イベントド
こんにちは、id:hogelog(会員事業部 小室)です。 現在自分が開発しているAndroidアプリのプッシュ通知の実装に Amazon Cognito, Amazon SNS, Amazon DynamoDB を使ったらアプリコード(と、AWSの設定)だけで機能が実現できてしまい、予定していたサーバサイド実装がまったく不要となったのでその知見を共有します。 アプリプッシュ通知の要件 今回実装したプッシュ通知の要件は以下です。 プッシュ通知を許可したユーザ全員に共通した内容を一斉通知 通知はバッチプログラムから週に数回程度 年内には一万ユーザぐらいに利用されること目標 GCMトークンはデータストアに記録しておく 将来的にはA/Bテストなどをおこなうことも可能なように 当初はこれらの機能を実現するため、適当なRailsアプリでGCMトークンを受け取ってうまいことあれこれするAPIを実装しよ
ありがたいことに、3年前に#ssmjp 2017/06で話したスライド AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp をTwitterで紹介して頂いた*1 ようで、当時から大幅に改善しているところを振り返りたいと思います。あと、ついでに最近やっているAzureに関しても少し触れていきます。 サーバーレスアーキテクチャ #とは 当時はこう説明したのですが、今でもそんなに悪くない表現かなと思います。 書籍は現在「Serverlessを支える技術 第3版」まで出ていますので、BOOTHからどうぞ(隙あらばダイマしていく方針)。 サーバーレス三種の神器 今このスライドを作るなら、認証認可の話を入れるかなと思います。システム内のAWS IAMとクライアント側のCognitoどちらも重要です。 ちなみにAzureを含めておさらいすると、こんな感じの対応になります。 勝
2019年のAmazon Prime Day。AWS上の42万6000台相当のサーバや1900個のデータベースインスタンスなどで乗り切る Amazonは毎年、プライム会員向けのセールである「Amazon Prime Day」を開催しています。2019年のPrime Dayも、7月15日と16日の2日間行われました。 Amazon Prime Dayは世界各国で同じ日に行われているため、国ごとの時差はあるものの開催期間中はものすごい勢いでプライム会員がAmazonのECサイトにアクセスを繰り返します。Amazon Prime Dayが世界最大級のオンライントランザクションが発生するイベントであることに異論を唱える人はいないでしょう。 そのECサイトの基盤を支えているのがAmazon Web Services(AWS)です。 AWSのチーフエバンジェリストJeff Bar氏は、ブログ「Amaz
本日開催されている Google Cloud Next ’18 ですが、非常に面白いプロダクトが発表されました。 その名も Knative (kay-nay-tiv ケイネイティブと発音) Kubernetes上でServerlessを実現するプロダクトです。 https://github.com/knative/docs より引用 KubernetesでServerlessって何が新しいの? この界隈追っている方はご存じかもしれませんが、KubernetesでServerless Platformを実現するという考え方自体は新しいものではありません。 CNCF Serverless Landscape を見てみると分かりますが Fission Kubeless OpenFaaS などなど既に多くのOSSが存在しています。これら先行のServerlessプロダクトとKnativeは何が異な
qiita夏祭りに乗り遅れてしまったので一人後夜祭 ~2019年某日~ パイセン「それじゃあ、ワイ君は明日からフロントのログデータを飛ばすのにAPI gatewayとlambdaでS3に保存するようにしてな。木曜までな。その間に自分はサービンのドメイン取ったりRoute53周りの構築するから」 ワイ「これもcloud formationに書くんです?」 パイセン「serverless frameworkっていう基本的な設定はデフォルトで構築してくれる便利なものがあるんやで。これ使い」 ワイ「めっちゃ素敵やん。わかったやで」 パイセン「週初めのMTGは終わりや飯食いに行こう。上野に新しい醤油ラーメン屋ができたんや」 ワイ「いいですね〜」 パイセン「それじゃ自分は新しいロードバイク持ってきたからワイ君も付いてきてな!」 ワイ「ワイ無手なんやが?え、本気で漕初めやがった!こなくそおおおぉぉぉ!」
追記 Cloudflare Workers向けのWebフレームワークを作っているので、そちらを是非チェックしてみてください! honojs/hono: Ultrafast web framework for Cloudflare Workers. Fast, but not only fast. Cloudflare Workers が面白い。面白いので、いくつか簡単なアプリを作ってみた。例えば、そのひとつが Slack Bot で「yusukebe++」とかやるとインクリメントされるやつ。 今回は Cloudflare Workers の面白さについて解説する。より興味のある方がいれば、上記のコードを参考にしてもらうといいだろう。 Cloudflare Workers とは? Cloudflare の CDN エッジでスクリプトが動くのが Cloudflare Workers。いわゆる
今の会社(BeeX Inc.)に来て、半年くらいサーバーレス開発をやってきました。 やっと人並みに(?)サーバーレス開発進められるようになったのと、開発が一息ついたので振り返りをしてみようと思います。 はじめに サーバーサイドについて 使用サービス LambdaはGolangで書きました Golangで辛かったこと Golangで良かったこと クライアントサイド サーバーレス開発が大変だったこと 関連コンポーネントが多い 障害の原因特定が難しい ネットワーク絡むとハマりやすい 統合テストが大変 裏の動きが見えない 情報収集の難易度が高い サーバーレス開発で良いと思ったこと サービスの環境全部をコードで表現できる 処理の特性によっては圧倒的に安い OSに入らない、入れない 運用が楽になる(はず) まとめ はじめに 初めてのサーバーレス開発を手がけたこの数カ月を振り返ってみると、エンジニアとし
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く