6月24日にオンライン開催された、GMO Developers Night #10 ペパボ EC テックカンファレンス - EC サイトの開発の裏側大公開に参加した。
特に印象に残ったこと
新型コロナウイルスの影響
新型コロナウイルス流行で、ネットショップの重要性が増している。これは、一時的なことではなくライフスタイルの変化と考えられる。
GMOペパボが運営するネットショップ作成サービス カラーミーショップの利用者も増加しており、アーキテクチャの改善に取り組んでいる。
決済トランザクションの設計
決済トランザクションでは一貫性と可用性の考え方があるが、分散システム(決済API利用)において一貫性と可用性どちらも満たすのは不可能(CAP定理 | IT用語辞典 | 大塚商会)。
カラーミーショップは、在庫更新や決済などを1つのトランザクションにし一貫性を満たす設計になっており、大量購入が発生した際に大量の処理が詰まってしまった。
大量の購入を捌かなければならない決済トランザクションでは、一貫性を取らずに可用性を重視した設計が必要となる。トランザクションを細分化して一時的に一貫性のない状態を許容し、結果整合性を取る(BASE特性)。
WAF
個人的な話になってしまうが、WAF(Webアプリケーションファイアウォール)は数年前に少しだけ勉強したことがあった。前職(事務職)でウェブサイトの担当時WAFが導入されることになり、保守業者さんの話が全く理解できず本を買ったりした(イラスト図解式 この一冊で全部わかるサーバーの基本)。確かに、最初しばらくは通信を遮断せず学習させます、いつからは本格運用します、みたいなことを言われたような…。
実際に何が行われているのか理解できていなかったが、ログのチェックなどいろんな問題や苦労があるんだなと勉強になった。
感想
まだRubyの基礎をやったくらいの自分には早いと思って申し込んでいなかったが、特に予定もなく暇でYouTube Liveもあるということと、鹿児島出身者としてペパボさんに興味があったので見学してみた。
わかりやすい説明と資料で、最近勉強したデータベースやネットワークなどなんとなくならわかる話も多く思っていたより楽しめてよかった。意外と真面目な会だった(失礼)。
ボトルネックになるデータベースについてもっと勉強しないといけないと思った。サーバーの負荷とか今はまだ全然考えられていないが、実際の仕事はそういうことを日々考えて改善していくんだなというイメージが湧いて勉強のモチベーションも上がった。
ウェブサイト見て気づいたけどペパボってpaperboyからきてたのか!