My Brief Thoughts on the AWS Kinesis Outage

There have been multiple analyses about the recent (2020/11/25) outage of AWS Kinesis and its cascading failure mode, taking a chunk of AWS services with it — including seemingly unrelated Cognito — due to dependencies hidden to the user. If you haven’t read the official postmortem statement by AWS yet, go read it now. There… Continue reading My Brief Thoughts on the AWS Kinesis Outage

このブログの多言語対応について

このブログは、WordPress のカテゴリーを使って言語を分けています。 私自身は英語ネイティブなのでデフォルトの言語は英語に設定しておりますが、日本語の投稿も書く機会もあります。僕が理想と思ったプラグインがなかなか無くて、簡単なのを作ろうと思いました。 大体の多言語対応プラグインは機能が多くて管理が結構大変なイメージだったけど、私のような「ほとんど英語で書くけど、たまには日本語で書きたい」ニーズに答えられるのがありませんでした。 日本語の投稿の執筆時に、「日本語」というカテゴリーを選択します(厳密にいうと、カテゴリーのスラッグが japanese であることを使っています)。そうすると、その記事の設定が日本語設定になって、フォントの設定やテーマの翻訳が自動的に日本語になります。 コードは GitHub 上に公開しましたが、日本語しか対応していないためプラグインディレクトリに提出しておりません。使いたい方はご自身でダウンロードしてカスタマイズした上で使ってください。もし不明点や興味があればコメントや Twitter で声かけてくれると嬉しいです。

WordPress を AWS Lambda で運用する

以前 WordPress を AWS Lambda で 運用する記事を投稿 (英語) しましたが、EFS対応前に執筆しました。EFS を使える様になって、WordPress を AWS Lambda 内の実行環境が完全に変わったので新しい記事を書きました。 今回は、SAM より Terraform を選びました。理由はいくつかありますが、主には私が管理するインフラはほぼ Terraform で管理されているのため、既存環境と融合性が優れてる。 Terraform モジュールとして公開しています。ソースコードは GitHub で公開しています。 実際どうなの? まあまあいいよ。このリンク先で稼働しています。めちゃくちゃ速いわけでもないけど、遅すぎというわけでもない。CloudFrontを利用して静的アセットをキャッシュし、 opcache をチューニングしたらだいぶ速くなった。 通常なら Lambda が同時並行で起動されるときは個々のインスタンスが独立されて実行されれますが、 EFS を使えば異なる Lambda のインスタンスを跨いでファイルシステムを同期させることができる。このため、通常通り WordPress の更新、テーマやプラグインインストール、アップロード等利用できる。 準備するもの 今回のチュートリアルでは、 Lambda のソースコードに入ってるのは PHP を実行する環境のみ。 WordPress のファイル等は、 EFS のボリュームにインストールするので、別途 EC2 のインスタンスを用意する必要があります。 下記に、具体的に何を用意しないといけないのをリストしました。 有効なAWSアカウント インターネットにアクセスできるプライベートサブネット。 EFS を使うために VPC… Continue reading WordPress を AWS Lambda で運用する

WordPress on AWS Lambda (EFS Edition)

I previously wrote a post about running WordPress on AWS Lambda, but it was before EFS support was announced (EFS is a managed network file system AWS provides). Being able to use EFS completely changes the way WordPress works in Lambda (for the better!), so I felt it warranted a new blog post. In addition,… Continue reading WordPress on AWS Lambda (EFS Edition)

家庭料理のようなプロダクト開発

私は料理が好きです。特にパンを焼くのが好きで、この間初めて Cookpad に公開したのはフォカッチャのレシピでした。フリーランスでシステム開発をしているエンジニアで、ゼロスタートから運用まで持っていくことを得意分野としています。この2つの要素を組み合わせて新しい何かを作るのが趣味ですが、そのことを今まであまりブログに書いたことはありませんでした。今回のアプリを作ったことで、「アプリは家庭料理みたいでもいい(An app can be a home-cooked meal)」という記事のことを思い出して、同様の考え方を共有したいと思いました。 おうち時間割アプリ COVID-19パンデミックで保育園が長期間臨時休園となって、仕事をしながら子供の世話をする必要が出てきました。その中で、技術でどう子供の世話と仕事を両立できるかを考えて、「おうち時間割」アプリを思いつきました。 前からも思っていましたが、子供に限らず、大人でも「スケジュール」ということが大事で、習慣づけできれば考えないで当たり前のように進められる。「おうち時間割」は、「今はなんの時間?」を子どもたちが自分でガイドできるようなものをイメージしながら作りました。 この1ヶ月ほど、最初の最小限に動くプロトタイプから、他の人も使えるようになったので、このタイミングで発表しようと思いました。 使い方 まずは時間割を設定します。サンプルがデフォルトで登録されています。設定が終わったら、「表示する」ボタンを押すと現在のスケジュールと次のスケジュールが表示されます。 私たちは以前セールで買って、あまり使っていなかった Amazon Fire 7 タブレットを使用して常時表示させていますが、インターネットにアクセスし、画面がある機器なら何でも大丈夫です。古くなったiPadや携帯の再利用などに便利だと思います。ちなみに、Androidの場合は電源につなぎながらスリープしない設定は開発者モードじゃないと設定できないようです。iOSは設定→画面→オートロックで設定できます。 自分たちのためのアプリ開発 プロトタイプは1日で完成させ、すぐにタブレットで表示させて使い始めました。使いながら、背景色を変えてみたり、3歳児にも理解できるように絵文字を入れてみたり、機能を追加していきました。 家庭料理のような開発は家族や自分のために料理を作るプロセスのようで、試行錯誤の上に工夫してレシピを改善していくことで自分だけの味に到達できたときの喜びを味わうことができます。 少なくとも関東ではまだしばらく続きそうな自宅待機期間に、料理に飽きたら開発も試してみてはいかがですか。 おうち時間割に限らず、自宅待機期間を仕事&子供で過ごしてるについて話したい方はコンタクトフォームまたはTwitterで連絡をお待ちしております。