kenju's blog

About Programming and Mathematics

Cloud Architecture

『クラウドゲームをつくる技術ーマルチプレイゲーム開発の新戦力』を読んだ

読んだ感想。 クラウドゲームをつくる技術 ──マルチプレイゲーム開発の新戦力 (WEB+DB PRESS plusシリーズ)作者: 中嶋謙互出版社/メーカー: 技術評論社発売日: 2018/09/20メディア: 単行本(ソフトカバー)この商品を含むブログを見る 実際に現場で使われて…

Reading Notes of "Designing Data-Intensive Applications" Chapter 6: Partitioning

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems作者: Martin Kleppmann出版社/メーカー: O'Reilly Media発売日: 2017/04/02メディア: ペーパーバックこの商品を含むブログを見る 「Reading Not…

Reading Notes of "Designing Data-Intensive Applications" Chapter 5: Replication

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems作者: Martin Kleppmann出版社/メーカー: O'Reilly Media発売日: 2017/04/02メディア: ペーパーバックこの商品を含むブログを見る 社内の輪読会…

論文『Dynamo: Amazon's Highly Available Key-value Store』を読んだ

AWS DynamoDB がサービスとしてローンチする前、Amazon 社内でショッピングカート機能などに利用されていた "Dynamo" の設計について書かれた論文。DynamoDB を普段使う身として、そもそもどういう課題を解決しようとしていたのか、そのためにどういった解決…

論文『Orleans: Distributed Virtual Actors for Programmability and Scalability』を読んで

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/Orleans-MSR-TR-2014-41.pdf "Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems" の Chapter 4 を読んでいて、章末の文献…

"Serverless Streaming Log Architecture ~ Theory & Practice ~" Presentation Slides

I had a talk at "adtech研究会", where we learn, discuss, and hands-on advertisement technology with other programmers from adtech companies in Tokyo. https://speakerdeck.com/kenju/serverless-streaming-log-architecture-theory-and-practice

Write Kinesis Firehose Lambda Translation Layer in Golang

You can use Lambda to convert data of Kinesis Data Firehose. This is the transformation process of ETL, and called "Data Transformation Flow" officially. https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html Data Structu…

Resources To Read Before Developing Streaming Engine Architecture

I am developing a realtime log architecture for advertising delivery system. While researching about best practices or common solution, I found a bunch of useful resources to read through. Here is a memo to myself about those resources. St…

AWS Lambda の Versioning と Alias 機能についてメモ

資料:AWS Black Belt Techシリーズ AWS Lambda Updates https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-tech-aws-lambda-updates tl;dr Lambda は明示的にバージョン管理ができる エイリアス機能を使うことで、「本番用」かどうかなど…

動画配信におけるHTTP Live Streamingの概要について

動画配信プラットフォームを設計している。 Streaming/Download2種類の配信方法がある 配信方法には大きく分けるとStreaming/Downloadの2種類 + 他の動画プラットフォームを利用する手法が考えられる。 Streaming Download Pre Download Progressive Downloa…

TerraformでModulesを用いてResourcesの保守性UP

Terraformでは、Modulesを使うと、リソースを分割管理することができる。 保守性・メンテナンス性が向上するので、Terraformで複数リソースを管理している場合にはおすすめ。 www.terraform.io メリット main.tfの肥大化を避けられる git submodulesに切り出…

CloudFrontを経由してS3のPrivate Objectsを配信する実装方法まとめ

tl;dr CloudFrontを経由してS3のPrivate Objectsを配信する実装方法には「署名付きURLを用いた認証」と「署名付きCookieを用いた認証」の2パターンが存在 サービスの要件として「絶対にURLの漏洩によるデータ流出のリスク」を避けなければならない場合、「署…