InfoQ Software Architects' Newsletter A monthly overview of things you need to know as an architect or aspiring architects. View an example
無計画なAdvent Calendar駆動開発は時間が足らなくてつらい。natsuumeです。 この記事はOpt Technologies AdventCalendarの12日目の記事です。 11日は@shoyaokayamaさんで「LINEThingsとM5CoreInkを使ってO2Oマーケティングを体験してみる」でした。 はじめに AWS Re:InventにてAWS Lambdaがコンテナイメージサポートという発表がありました。 しかも最大10GBまでのコンテナイメージが可能だそうです。 となればとりあえず利用方法として下記のような例が思いつきます。 AWS Lambda上で形態素解析器を動かす AWS Lambda上で深層学習の推論を動かす 今回は深層学習の推論エンドポイントとして使う方は時間の都合上試していませんが、こちらも後でやってみたいところです。 趣味で深層学習試しても推論
これは、豆蔵デベロッパーサイトアドベントカレンダー2022第11日目の記事です。 今年偶然[1]に見つけた middyjs が、「シンプルでパワフル・軽量で拡張性あり」というサイトの謳い文句どおり素晴らしかったのでご紹介します。 AWSの多くのサービスは、サービスの機能拡張やアプリケーション部分の実装としてLambda関数を指定できるように統合されています。例えばApiGatewayと連携しAPIサーバを構築する、S3と連携し多機能なオブジェクトストレージを実現する、SNSやSQSと連携しPub/Subシステムを構築するといった具合です。 Lambda関数には、様々なサービスからのイベントを処理する業務ロジックが実装されます。 // file: my-handler.ts import { APIGatewayProxyEvent, APIGatewayProxyResultV2 } fr
さくらインターネット、アプリケーション実行基盤「AppRun β版」にて製品版のトライアルを開始 〜期間中は無料で全機能が利用可能に〜 デジタルインフラサービスを提供するさくらインターネット株式会社(大阪市北区、代表取締役社長:田中 邦裕、以下「さくらインターネット」)は、「さくらのクラウド」においてアプリケーション実行基盤「AppRun β版」にて製品版のトライアルを2月4日(火)より開始します。 今回のトライアルでは、2025年中に実施予定の正式リリースを前に、全機能※1を無料で利用できます。トライアルを通してお客さまのご意見およびご要望を伺い、さらなる機能の改善と使いやすさの向上を目指します。 2025年中に正式リリース予定の「AppRun β版」は、コンテナイメージから簡単にアプリケーションをデプロイし自動的にスケーリングできるマネージドサービスです。サーバーの設定や環境構築等の複
G-gen の佐々木です。当記事では Cloud Run 利用時のよくあるトラブルとして、「認証が必要」の設定を行ったサービスにブラウザからアクセスできない事象とその原因、対処法について解説します。 事象 原因 解決策 Identity-Aware Proxy(IAP)を使用する Identity Platform を使用する Cloud Run プロキシを使用する 事象 Cloud Run にデプロイしたサービスの URL(*.a.run.app の URL)にブラウザからアクセスすると、ブラウザに以下のエラーメッセージが表示される。 Your client does not have permission to get URL / from this server. ブラウザに表示されるエラーメッセージ 原因 Cloud Run の設定画面では、すべてのユーザーがサービスにアクセスでき
The document discusses implementing an event-driven architecture using events instead of synchronous APIs. It explains that events decouple services by allowing them to communicate asynchronously through a centralized event routing system. This loose coupling makes services more independent and resilient, as failures in downstream services do not block upstream ones. It also improves scalability a
AWSコンソールから「Application Composer」の管理コンソールを開きます。Homeページにある「Create project」を開きます。新規のプロジェクトを作成しますので「New blank project」を選択、今回も接続モードを利用することにします。 空のプロジェクトを作成しましたのでローカルフォルダにあるのはtemplate.yamlのみでした。 $ tree application-composer-tutorial2/ application-composer-tutorial2/ └── template.yaml このステップでは、Amazon API Gatewayリソースと5つのLambda関数を含むアプリケーションアーキテクチャの設計を開始します。 左ペインのリソースパレットからAPI Gatewayを1つ、Lambda関数を5つ配置します。 次に
こんにちは、New Relicの田中です。 先日AWSから発表されたLambda Extensions (プレビュー版)、早速こちらの記事で解説されています。 【新機能】Lambda Extensions(プレビュー版)がリリースされました! New Relicのサーバーレスモニタリング for Lambdaも対応済みですので、早速試してみました。 なにがうれしいのか? ユーザー目線では、セットアップが楽になる点が挙げられます。内部の仕組みを考えると、いままでラムダ関数本体の中で設定していた可観測性のための仕組みを、AWSが提供するラムダ関数本体と切り離した枠組み(Runtime)の中で提供できることになります。 (図はNew Relicのドキュメントより引用) Runtimeをライフサイクルの視点でとらえると、関数本体が実行される前にRuntimeの初期化が完了しており、関数本体が終了し
バケット名:test-static-web-site 静的Webサイトホスティング インデックスドキュメント:index.html エラードキュメント:index.html (実際はエラー用のページを用意するといいと思います) ディストリビューション名:test-static-web-site-dst 基本的な構成でオリジンをS3バケットに向ける OriginAccessIdentity を使ってS3バケットへのアクセス権限をバケットポリシーに設定 今回SSLはCloudFrontデフォルトのもの。独自ドメインを持っている場合はACMの証明書もTerraformで作成することで acm_certificate_arn で指定でき、簡単です。 Terraformを書く 実際のtfファイルで下記を作成します。 # バケットの作成 resource "aws_s3_bucket" "test-s
はじめに この記事は、「Google Cloud Platform Advent Calendar 2020」の23日目の記事です。 Cloud Runのgcloud run deployコマンドについ先日--sourceオプションがベータ版に追加されたということでdocを読んでると、こいつがかなり強力そうだったので試し&中身を追ってみました。 release note : https://cloud.google.com/run/docs/release-notes#December_16_2020 docs : https://cloud.google.com/sdk/gcloud/reference/beta/run/deploy#--source TL;DR ローカルでgcloud run deploy --source一発で本当にリリースできた --sourceオプションでやって
はじめに BtoB開発部の木目沢です。Fulfillment by ZOZO(以下FBZ)で提供しているAPIの開発に携わっております。 FBZに関しては以前、物流支援サービスを支えるAWSサーバーレスアーキテクチャ戦略で、AWSサーバーレスアーキテクチャ関連のサービスをどのように活用しているかをご説明しました。 techblog.zozo.com 今回は、サーバーレスアーキテクチャの特徴、設計するうえで課題だった点、そしてそれら課題をどのように克服していったかご紹介します。 イベント駆動と分散処理 FBZではAWSサーバーレスアーキテクチャ関連のサービスを採用しています。その大きな特徴は「イベント駆動」であるという点です。 Lambdaはイベント駆動のサービス 例えば、API GatewayへのリクエストやDynamoDB、S3などへのデータのプッシュイベントをトリガーにLambdaを起
概要 AWS Amplify(アンプリファイ) フレームワークの入門ページ ([Getting Started] (https://aws-amplify.github.io/docs/js/start?platform=purejs)) を読みながら、基本的な利用方法を学んだときのメモです。 環境 Windows 10 Professional 1903 aws CLI 2.0.7 amplify CLI 4.18.0 Node.js 12.16.2 npm 6.14.4 参考 [AWS Amplify] (https://aws.amazon.com/jp/amplify/) [Amplify フレームワーク] (https://aws.amazon.com/jp/amplify/framework/) Amplify CLIのインストールと設定 Amplify CLIは、Amplif
2011年、国内の主要な建材・設備機器メーカー5社が統合して誕生しました。 以後、GROHE、American Standardといった世界的ブランドを傘下に収め、日本のものづくりの伝統を礎に、世界をリードする技術やイノベーションで、日々の暮らしの課題を解決する高品質な製品をグローバルで幅広く提供しています。 *(写真左から)株式会社necco 阿部 文人、株式会社LIXIL 和田 修一・猪俣 司、株式会社Serverless Operations 堀家 隆宏 はじめにこのたび、株式会社LIXILさんよりサーバー運用コスト削減と高可用性を狙いに「新規会計システムをサーバーレスで開発したい」というご相談をいただき、LIXILの担当者さんと一緒に開発を進めました。 株式会社LIXILは、住宅およびビル向けの建材・設備機器の製造、販売を行う業界最大手のグローバルメーカーです。 トステム、INAX
AWS Compute Blog Introducing the new AWS Serverless Snippets Collection Today, the AWS Serverless Developer Advocate team introduces the Serverless Snippets Collection. This is a new page hosted on Serverless Land that makes it easier to discover, copy, and share common code that can help with serverless application development. Builders are writing serverless applications in many programming lang
Lambdaについて AWS Lambda(以下Lambda)はサーバレスコンピューティングサービスです。 オペレーティングシステム(以下OS)などのインフラストラクチャの管理が不要で、利用者はプログラムコードを準備し、Lambdaにアップロードするだけで実行できます。 トリガーとは トリガーはLambdaを実行するきっかけです、もちろん手動で実行できますが自動で実行も出来ます、それは色々の方法あります。 これは普通の作成したlambdaです、画面で左側は「トリガーを追加」オプションがあります、それをクリックすると色々選べます。選べるオプションの中にちょっと説明します。 s3 S3にファイルが置かれた時に自動でLambdaを実行できます。 設定画面はこちら: まずはどこのバケットのトリガーを設定します、アカウントの全体アクションは出来ませんので各バケットに設定が必要です。 次はどこのアクシ
Why FastlyProductsServicesSolutionsDevelopersPartnersResourcesPricing Compute: porting the iconic video game DOOMDue to its approachable codebase and clean abstractions, id Software’s DOOM has become one of the most ported games in history. It felt like a perfect project to port to Compute, built on our serverless compute environment, to experiment with different applications of the product. Showi
I’m mostly focused on two lines of inquiry. First: What’s the promise of WebAssembly? Why is it exciting? What makes it different? (I get into some of this in What’s WebAssembly?) And second: What’s the state of WebAssembly today? For me, answering both of those questions required an exploration of Serverless more broadly, as WebAssembly could both compete with and complement emergent technologies
All your serverless statistics, right in your terminal!Log your lambdas without logging onto AWS. Deploy lambdas in a single keypress View all your event buses, and inject events Integration with AWS EventBridge and the EventBridge Schema Registry. Serverless-Dev-Tools provides a quick overview of your stack as you code, providing feedback and visibility without the need to log into the AWS Consol
はじめに こんにちは、バックエンドエンジニアのおおたわらです。 弊社のプロダクトの一部に、顧客企業の行いたい調査(例えば、企業が顧客のニーズを理解し、最適なサービスを提供をするためのユーザー向け調査)に応じてアンケートを作成し、回答を集めることができる「アンケート機能」があります。 この機能はコンシューマ向けの大規模な調査(具体的にはメールやプッシュ通知等で数十万〜数百万人にアンケート回答を依頼するような調査)での利用も想定しており、大量アクセスに対応できることが求められます。更に、集めた回答に対し分析を実施し、すぐに結果を確認できることも求められます。 このためのアーキテクチャを構築したので、紹介します。 求められる要件 アーキテクチャに求められる主な要件は以下です。 大規模調査における大量のリクエスト(具体的には秒間 1000〜回答を想定)を処理できるスケーラビリティ 回答サーバーは可
選択 第 1 回 オープニング 第 2 回 Web API パターン 第 3 回 イベント駆動のデータ加工、連携処理パターン 第 4 回 マイクロバッチ・ストリーミングパターン 第 5 回 ワークフローパターン 前編 第 6 回 ワークフローパターン 後編 みなさん ! サーバーレスアプリケーションの開発楽しんでますか ? サーバーレスアプリケーションの開発は、インフラ面での非機能要件の責任を AWS のマネージド型サービスに委譲できることから、アプリケーションの本質 である ”ロジック開発" に注⼒できる点が私は大好きです ! 機能を実装していくプロセスは、明確にやりたいことに向かって進んでいくこともあり、成果がわかりやすく非常に楽しいですよね。 しかしサーバーレスアプリケーション開発は実現したいロジックの実装に集中できるからといって、正常系の実装の検討しか行わずに、サービスをリリースし
Introducing the hyper-productive serverless app platform with single second deployments! Claim your profile name and start developing now!Join our community call on Serverless Cloud, Thursday Oct. 14th @ 10AM PT Introducing Serverless Cloud Public Preview! 🚀 Our hyper-productive #serverless app platform with single second deployments is now open to everyone! Claim your profile name and start deve
はじめに AWS Lambda extensionsのプレビューが発表されました。それに伴い、AWS AppConfigから利用可能なextensionが提供されLambda関数から利用することができます。本稿ではAWS AppConfig Lambda extensionをLambda関数から利用する方法について紹介します。 AWS AppConfigとは AWS AppConfigはAWS Systems Managerの機能の1つで、アプリケーション設定を作成、管理し、デプロイを可能にするサービスです。アプリケーションはAWS AppConfigのAPIをコールすることで、アプリケーション自体の再デプロイを行うことなく、外部設定を動的にデプロイすることができるようになります。また、AWS AppConfigは検証機能を提供しており、全ての設定変更について、アプリケーションに投入する前
service: ApiGatewayWithAuthorization provider: name: aws runtime: nodejs12.x stage: ${opt:stage,"dev"} region: ap-northeast-1 profile: ragate iamRoleStatements: - Effect: 'Allow' Action: - 'lambda:*' - 'cognito:*' - 'apigateway:*' Resource: - '*' plugins: - serverless-webpack custom: webpack: includeModules: true packager: 'npm' functions: ${file(./resources/functions.yml)} resources: - ${file(./r
AWS Developer Tools Blog Virus scan S3 buckets with a serverless ClamAV based CDK construct Edit: March 10th 2022 – Updated post to use AWS Cloud Development Kit (CDK) v2. Protecting systems from malware is an essential part of a systems protection strategy. It is important to both scan binaries and other files before introducing them into your system boundary and appropriately respond to potentia
AWS Amplify Advent Calendar 2020 10日目の記事です! Amplify CLIを使うとAPI GatewayのREST APIをサクッと作成できます。 ただ、API GatewayのREST APIは、Lambda統合のタイムアウトが最大29秒なので、データのダウンロードとか時間のかかる処理を行うとタイムアウトしてしまうことがあります。そこで、Step Functionsを使ってタイムアウトの問題を解決してみます。 ※つまり、以下で説明されているようなことを、Amplify CLIでやろうという感じです。とてもわかりやすくまとまっているので、まず読んでもらってから続きを見てもらえると良いかと思います。 【API Gatewayタイムアウト対策】Step Functionsを組み合わせて非同期処理にしてみる 概要 Amplify CLIでAPI Gateway
AWS Database Blog Understanding how certain database parameters impact scaling in Amazon Aurora Serverless v2 Amazon Aurora Serverless v2 is an on-demand, auto scaling configuration for Amazon Aurora. It automatically starts up, shuts down, and scales capacity based on your application’s needs. It supports various workloads, from development and test environments, websites, and applications with i
Just about four years ago, we announced Cloudflare Workers, a serverless platform that runs directly on the edge. Throughout this week, we will talk about the many ways Cloudflare is helping make applications that already exist on the web faster. But if today is the day you decide to make your idea come to life, building your project on the Cloudflare edge, and deploying it directly to the tubes o
With many people being forced to work from home, there’s increased load on consumer ISPs. You may be asking yourself: how well is my ISP performing with even more traffic? Today we’re announcing the general availability of speed.cloudflare.com, a way to gain meaningful insights into exactly how well your network is performing. We’ve seen a massive shift from users accessing the Internet from busy
Simon is the creator of Datasette and co-creator of Django web framework. Formerly he was a JSK journalism fellow at Stanford, and prior to that an Engineering Director at Eventbrite. Who are you?I’ve been building web applications since the first dot-com boom back in 1999. I started out in the very early days of online gaming, building community websites and running a news site (we didn’t call th
Cloud Run is built on a simple premise: combine the flexibility of containers with the simplicity, scalability, and productivity of serverless. In a few clicks, you can use Cloud Run to continuously deploy your Git repository to a fully managed environment that autoscales your containers behind a secure HTTPS endpoint. And because Cloud Run is fully managed, there’s no infrastructure management, s
これは Chatwork Advent Calendar 2020 / Scala Advent Calendar 2020 10日目 の記事になります。 こんにちは。サーバーサイド開発部の Scala プロダクトを開発運用する部署でマネージャーをしている、 hayasshi です。 Chatwork は Scala を採用すると決めてから、約 6 年経ちました。 その中で、失敗もしながら、少しずつ Scala のシステム領域を広げてきました。 今回と次回の二記事にて、この 6 年で開発し、いま実際に稼働運用されている、 Chatwork の Scala プロダクトの紹介と、それを普段どのように開発運用しているかについて、書きたいと思います。 Scala プロダクトの紹介 今回は Chatwork の Scala プロダクトについてご紹介します。 特に下記の項目についてそれぞれ記載したいと
はじめに こちらの記事の続編です。 (※ 読まなくても大丈夫です。) Serverless Framework で REST API をデプロイすると、AWS 側で以下のようなドメインが発行されます。 このドメインに含まれる 5tjwpqfgo2 という値は、こちらで何も設定しないとデプロイするごとに毎回変更されてしまい、使い勝手がよくないです。 なので、これをカスタムドメインで固定しようというのが、今回やりたいことになります。 サマリー 以下を Serverless Framework で実現しました。 カスタムドメインを指定できるようにすること 開発環境と本番環境で異なるカスタムドメインを指定できるようにすること その結果、REST API のパスが以下のように固定することができるようになりました。 Before URL:https://xxxxxxx.execute-api.us-e
AWS LambdaがContainer Image Support 言うから 疑似Cloud Run(Rails on Lambda)RubyRailsAWSlambdaserverless はじめに メリークリスマス!! Ateam Lifestyle Advent Calendar 2020の25日目は、 株式会社エイチームライフスタイル 執行役員CTO @tsutorm が担当します! Lambdaがコンテナイメージサポートと聞いて 今年のアドカレどうしよっかなー ポエム系になるけど 「ビジネスが間違えやすいエンジニアの"開発生産性"」 みたいなのを書こうかなー せっかくのクリスマス だしなー。プレゼントになるようなコードがあるほうがいいよなー と思っていた所... 【速報】Lambdaのパッケージフォーマットとしてコンテナイメージがサポートされるようになりました!! #reinv
Securing your API Keys, database passwords, or SSH keys for Lambda Functions is tricky. This post compares Systems Manager, Secrets Manager, Key Management Service, and environment variables for handling your secrets in Lambda. We'll cover costs, features, performance, and more. Then we'll lay out a framework for considering the risk of your particular secret, so that you know what's best for your
仕事でGo言語 + AWS Lambdaを用いる機会が多く、特にセキュリティ監視関連基盤のバックエンド処理を開発しています(これとかこれとかこれ)。 開発をすすめる中で「こうすると便利だな」というちょっとしたtipsはいろいろあったのですが、あまりに細切れな処理すぎるのでプロジェクト間でコピーするなどして開発に利用していました。とはいえ管理しているプロジェクトが多くなってきたことで挙動がまちまちになってしまったり、ある程度tipsの数が溜まってきたのもあって、パッケージとして切り出してみました。 AWSが公式で提供しているPowertools(Python版、Java版)を意識してはいますが、完全に再現する目的では作っていません。また、全てのGo + Lambdaの開発者が「この方法に従うべき!」とも思っていません。例えば、API gatewayによって呼び出されるLambdaは各種Web
本記事は「AWS LambdaとServerless Advent Calendar 2020」の17日目の記事です。 やりたいこと Amazon Redshiftにある10億レコードを越えるデータを1レコードずつ、特定の列を判定したりという、シンプルな処理だが全レコードを見ていく必要のある処理をしたい 従来やってた方法 RedshiftからSQLでELTしてUNLOAD UNLOAD結果をEC2へS3からダウンロード JavaやPythonなどのプログラムでバッチ処理実行 結果をS3に格納 この方法でも良かったのですが、大規模データをEC2で高速に並行で処理する、、、前に少し考えてみると、あれLambdaが相性良いのでは?と思い試してみました。 具体的な方法 MAXFILESIZEを指定してUNLOAD UNLOAD先をLambdaのイベントトリガで発火 Lambdaのおおよそのコード
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く