岩下 拳勝– Author –
PR TIMES STORYの開発をしています。
AWSのSAA/DVA/SOA/SAPを持ってます。
-
AVIF・WebPでサムネイル画像を配信して、ブラウザでのパフォーマンスを大幅に改善した話
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSTORYのサムネイル画像の配信フォーマットを変更することによるパフォーマンス改善を行ったので、そちらについて書いていこうと思います。 【現状の問題点】 STORYでは配信のサムネイルにユーザーからアップロードした画像を3サイズ(width800, 400, 200)にリサイズした画像を使用していました。 リサイズした画像は表示する箇所ごとに適したサイズのサムネイルを選択して、画像を配信していました。 そのような状況... -
SendGridとAWSを使って、メールを送信するアプリケーションを作成しました
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はSQS とLambdaを使って、AWS Fargate上で動作しているLaravelからメールを送信する基盤を作成したことについて書いていきます。 【なぜ作るのか】 2/21にPR TIMES Webクリッピングの正式版がリリースされました。 https://prtimes.jp/main/html/rd/p/000001256.000000112.html 正式版をリリースするにあたって、ユーザーにメールを送信したいという要件が生じました。PR TIMES WebクリッピングはFargate上にデプ... -
GitHub Actions上でPHPUnitを並列に動作させて、CI実行時間を1/4にしました
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回は年末のコードフリーズ期間中に、CI実行時間の改善に取り組んだ件について話していこうと思います。 【背景】 STORYではバックエンドのPull Request作成をトリガーにして、CircleCi上でTestを実行していました。Testの実行時間は11〜13分ほどでした。 常々、このTestの実行時間が長すぎて開発体験の質が落ちているような気がしていました。 Testの実行時間が長すぎると何が問題になるのでしょうか? 以下がSTORY... -
CI/CDツールからS3へ静的ファイルをエクスポートするための設定
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 皆さん、CI/CDツールを使用していますか? 筆者が開発を担当しているSTORYでは、GitHub ActionsやCodePipeline(CodeBuild、CodeDeploy)を使用して各環境にアプリケーションのコードをデプロイしています。今回はCI/CDツールからS3にファイルをエクスポートしたいという要件に対して実装した変更について述べていこうかと思います。 【背景】 本題の設定内容に入る前に、STORYの現状と今回の改修を入れるようにした... -
CloudFrontのディストリビューションを分割して、マルチステージング環境をさらに便利にした話
岩下 拳勝こんにちは、普段PRTIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 以前ECSのマルチステージング環境を設計・実装した記事を書きました。 https://developers.prtimes.jp/2022/04/22/ecs-multistg-deploy/ こちらのマルチステージング環境をSTORYに導入したおかげで、開発フローのボトルネックが解消され、大きいプロジェクトが進行している期間にも小さな変更をステージング環境でQA→リリースできるようになりました。 ところが、こちらのプロジェクトを進行中に、実装したマルチステ... -
PR TIMES STORYを別リポジトリに移植した話
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 今回はリリース当時からSTORYが抱えていた課題とそれを解消した方法について背景とともにお伝えできればと思います。途中、STORY独自の辛みや設計などが出てきて読みづらいとは思いますが、「へぇ〜そうなっていたんだ」のような温かい目線で楽しんで読んでいただけると幸いです😊 【前提】 STORYはローンチ以降、様々な課題を抱えてていましたが、それをお話するにはまず前提となる知識が必要です。まずはそちらを解... -
PR TIMESで使用しているECSのおすすめ設定
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 本記事ではPR TIMESで稼働しているAWS ECSやFargateで採用中のおすすめの設定について書いていきます。なお、PHPカンファレンス 2022のスポンサーLT で話した内容と重複しますので、興味がある方はスライドやYouTubeの動画も覗いてみてください。 【おすすめ設定1 ECS Exec】 まずおすすめしたいのは、ECS Execです。 以下AWSドキュメントより抜粋 Amazon ECS Exec を使用すれば、最初にホストコンテナのオペレーテ... -
ECSでマルチステージング環境を実現した設計と実装
岩下 拳勝こんにちは、普段PR TIMES STORY(以下STORY)の開発リーダーをしている岩下(@iwashi623)です。 PR TIMES STORYは弊社のMissionである「行動者発の情報が、人の心を揺さぶる時代へ」をそのまま体現したようなプロダクトで、「創業ストーリー」や「開発秘話」などの行動者の熱量をそのまま配信して、企業とメディア、生活者のより良い・多くのリレーションが生まれることを目的としています。 PR TIMES STORYトップページ 本記事では、私も今月から2年目となったので新卒の時よりさらにチームに貢献していきたい!... -
AuroraからBigQueryへデータ転送する際のシステム構成
岩下 拳勝こんにちは、21新卒の岩下です。 今回は私が普段開発を担当しているPR TIMES STORYのDBデータをBigQueryへ転送したので、そちらについての話を書いていきたいと思います! 【はじめに】 PR TIMES STORY(以下、STORY) では、データベースにMySQL互換のAmazon Auroraを使用しています。 本記事の目標はAuroraに蓄積されているデータをBigQueryへ転送して、データ分析に使用できる状態にすることです。その過程で、AWS Glueを使ったETL処理や、RDSのシステムスナップショットなど色々と学ぶことがありました。 やり... -
新卒エンジニアが「AWS認定 Solutions Architect – Associate」を受験してきました
岩下 拳勝こんにちは、PR TIMESに21卒として新卒入社いたしました、岩下と申します! 先日AWSのSolutions Architect - Associate(以下、SAA)を受験してきました。 なので今回はそちらについての記事を書いていこうと思います! 【SAAについて】 SAAってなに? 突然AWSのSAAなんて言われても、ピンとこない方もいらっしゃるとおもいますので軽く説明します。 クラウドサービスであるAWSでは、AWS各サービスについての知識と理解度を証明する資格試験を実施しています。それがAWS認定資格です。 画像元URL:https://aws.ama...
1