SlideShare a Scribd company logo
1 of 62
Download to read offline
オイラ大地の
Akamai Journey
オイシックス・ラ・大地(株) 林 如弥
Photo by Alexandr Podvalny on Unsplash: https://unsplash.com/photos/WOxddhzhC1w
第3回 コマース&リテール事例紹介セミナー
2019-04-18
本日の流れ
● Who am I ?
● Oisix ra daichi のサービス紹介
● Oisix ra daichi のシステム紹介
● Oisix ra daichi のAkamai Journey
● まとめ
簡単な自己紹介
林 如弥(Yukiya Hayashi) @morihaya55
● これまで、インフラエンジニアとしてSier、ゲーム会
社を経験してきました
● 今は安全・安心な野菜をお届けするオイラ大地の
システムの運用、改善をするSREです
オイシックス・ラ・大地
ご存知でしょうか
3つのブランドがあり
オイシックス ラ 大地・ ・
今日はOisixの話
オイシックス ラ 大地・ ・
(主な)サービス紹介
● 食材をサブスクリプションモデルで定期宅配
● 定期でご提案し、自分で購入品をカスタマイズ
● 安心・安全で美味しいお野菜はもちろん、
時短メニューも豊富!!!
中でもヒット商品
ピーチかぶ
TVでも紹介!
あめトマトうますぎてこ
まっつ菜
さらに、
大人気時短メニュー
“kit Oisix”
このようなメニューを
材料とレシピで簡単調理♪
ご愛好頂いています IRニュース
(2019年3月期 第3四半期決算説明資料より )
https://www.oisixradaichi.co.jp/investors/ir_news/
おためしセットあります
宣伝はここまでです。
ありがとうございます。
m( _ _ )m
ここからはシステムの話
オイラ大地の技術スタック(仮)
幅広い技術で
システムを支えています
ECサイト部分はシンプル
● JavaベースのAPサーバと神Oracle
● CDNとして最前線をAkamaiが支える
Internets LB
AP
AP
AP Oracle
バックエンドのシステム
● 在庫管理システム
● 商品管理システム
● カスタマーサポートシステム
● 配送管理システム
● 分析基盤 and more ...
Photo by Elevate on Unsplash: https://unsplash.com/photos/dI-aXC7DWpQ
配送拠点も自社で抱える
Akamai Journey
Akamai Journey
1. 旧CDNからAkamaiへの移行 ⬅
2. HTTPS,HTTP2化
3. WAF導入
----これまで⬆ これから⬇----
4. API Gatewayとしての役割 and more….
旧CDNからAkamaiへの移行
旧CDNには課題があった
● 稀に良く落ちる(思ってた以上に落ちる)
● コストは特別安くもない
● サポートも特別良くも無い
旧CDNからAkamaiへの移行
新たなCDNを探す必要がある
● 品質が最優先
● コストは維持したい...
あ、それ
でできるよ!
旧CDNからAkamaiへの移行
以下の理由からAkamaiへの移行を決意
● 脅威のSLA100%
● お値段据え置き
● サポートは手厚い(観測範囲では)
旧CDNからAkamaiへの移行
移行自体はさほど難しく無かった
● オリジンのWebAPサーバはほぼ変更なし
● Akamaiのステージング環境でテスト
● 切り替えはDNSで
旧CDNからAkamaiへの移行
並行状態を作り、DNSでパチンと切り替える
Internets LB
AP
AP
AP Oracle
旧CDN
旧CDNからAkamaiへの移行
移行後、Akamai起因での障害は記憶にない
Akamai Journey
1. 旧CDNからAkamaiへの移行
2. HTTPS,HTTP2化 ⬅
3. WAF導入
----これまで⬆ これから⬇----
4. API Gatewayとしての役割 and more…
HTTPS,HTTP2化
Google社の”Moving towards a more secure web”
https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html
HTTPS,HTTP2化
Googleからの通告
「HTTPS使うよね、当然だよね?」
弊社(一部しかHTTPSじゃなかった)
「は、はい」
HTTPS,HTTP2化
HTTPSとは(超ざっくり)
SSLによって暗号化されたHTTPのこと。一昔前は
ログイン画面や購入処理画面以外はHTTPが当た
り前だった。(今はもうHTTPSがデファクト)
HTTPS,HTTP2化
HTTP2とは(超ざっくり)
Streamによる複数セッションによる高速化や、サー
バからのPushを可能とし、ヘッダの圧縮も行う
HTTP/1.1のアップデート。
(HTTPS化の勢いでやってしまおうと考えた)
HTTPS,HTTP2化
HTTPを学ぶなら良書をオススメ
「Real World HTTP」
 著者:渋川 よしき
※無料版の”ミニ”もある
https://www.oreilly.co.jp/books/9784873118048/
HTTPS,HTTP2化
移行はそれほど大変ではなかった
● AkamaiでHTTPS/HTTP2設定を有効化
HTTPS,HTTP2化
(参考)HTTP2化は本当にONにするだけ
Akamai Journey
1. 旧CDNからAkamaiへの移行
2. HTTPS,HTTP2化
3. WAF導入 ⬅
----これまで⬆ これから⬇----
4. API Gatewayとしての役割 and more…
Akamai WAF導入
WAF(Web Application Firewall)とは
Webサイト上の脆弱性対策に特化したファイアウォー
ルのこと。XSSやSQL Injectionといった攻撃を検知
し、ブロックする
Akamai WAF導入
進化するサービスと増え続けるお客様の中で、
セキュリティ対策は極めて重要な課題
Akamai WAF導入
移行は本当に大変だった(自業自得)
透過モード(検知はするがブロックはしない)で誤検知
をトリアージする期間を設けたところ、4ヶ月も必要
だった。これはAkamai WAFの問題ではなく弊社ア
プリケーションの特性によるもの....
Akamai WAF導入
導入後は頼もしい存在
● 激しい攻撃には自動検知で反応してくれる
● いざという時の誤検知解除はSREs内で手順化
○ ただし少ない頻度(私はやった事無い
Akamai Journey
1. 旧CDNからAkamaiへの移行
2. HTTPS,HTTP2化
3. WAF導入
----これまで⬆ これから⬇----
4. API Gatewayとしての役割 and more…⬅
API Gatewayとしての役割
現在、弊社は基盤刷新の真っ最中
https://speakerdeck.com/kawakamitor/oisitukusu-ra-da-di-niokerumaikurosahisugao-su-kai-fa-nixiang-ketaqu-rizu-mi
API Gatewayとしての役割
ECサイト、「シンプルな構成」とお伝えしたが、
18年の歴史を経て中身は巨大なモノリスに...
Internets LB
AP
AP
AP Oracle
APが超複雑化
API Gatewayとしての役割
既存の環境から、Azure Kubernetesへマイクロサー
ビス化しつつ切り出し
Internets LB
AP
AP
AP Oracle
API Gatewayとしての役割
Akamaiの機能で”/azure1”などのパスの場合は、マ
イクロサービス基盤へ振り分ける
Internets LB
AP
AP
AP Oracle
/azure1
他にも
耐障害性
Site Fail Overを導入予定
● いざという時にソーリーページを出す
● 任意のサイトへ転送も可能
画像の自動最適化
Akamai Image Managerのトライアル実施
● (近々で導入はしなかったが)
○ 50%程度のサイズ圧縮効果
○ デザイナにて品質も問題なし
○ 設定もシンプル
モニタリング
mPulseのトライアル実施中
● Akamaiが持つ強力なデータを活用できる
● 手厚い技術サポート
● ちょっと難しい印象はある
追加で
これもお伝えしたい
2019-4-14(日) 18:30~
TV放映がありました
「坂上&指原のつぶれない店|TBSテレビ」
TV放映に備えた準備
● APサーバは1.5倍の台数にスケールアウト
● ネットワーク回線もバーストが可能なサービスに変
更
● 最大セッション数などDBのチューニング実施
TV放映の瞬間風速
● 通常のピークは定期ボックスが確定する木曜日
● その木曜日の約3倍の負荷 (瞬間は10倍以上)
木曜日
TV放映
TV放映の瞬間風速
● ボトルネックとなったのはDB
● Akamai効果もあり、フロント部分は耐えた
● AkamaiはOisixのサービスに欠かせない
● キャッシュだけでは無い多機能さを活用
● SLA100%は伊達じゃなかった
まとめ
ご静聴感謝!
m(_ _)m
時間が余れば
改善要望
● AkamaiでもIaCをやっていきたい
● Configのバージョンが増えすぎ問題
○ Config間の差分ももっと見やすくなると
● ステージング環境のレスポンス悪い
○ 検証中に不安がでる
デザイナ・エンジニア絶賛Hiring!!!

More Related Content

More from Yukiya Hayashi

I want the power of onboarding!
I want the power of  onboarding!I want the power of  onboarding!
I want the power of onboarding!Yukiya Hayashi
 
How did you start learning Azure
 How did you start learning Azure How did you start learning Azure
How did you start learning AzureYukiya Hayashi
 
My feelings of going to the first conference overseas
My feelings of going to the first conference overseasMy feelings of going to the first conference overseas
My feelings of going to the first conference overseasYukiya Hayashi
 
Let's split text by awk command
Let's split text by awk commandLet's split text by awk command
Let's split text by awk commandYukiya Hayashi
 
What i feel when began use AWS CodePipeline as GitLab Ci user
What i feel when began use AWS CodePipeline as GitLab Ci userWhat i feel when began use AWS CodePipeline as GitLab Ci user
What i feel when began use AWS CodePipeline as GitLab Ci userYukiya Hayashi
 
How to get rid of terraform plan diffs
How to get rid of terraform plan diffsHow to get rid of terraform plan diffs
How to get rid of terraform plan diffsYukiya Hayashi
 
Task and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and TogglTask and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and TogglYukiya Hayashi
 
What does the monitoring tool use at oisix ra daichi?
What does the monitoring tool use at oisix ra daichi?What does the monitoring tool use at oisix ra daichi?
What does the monitoring tool use at oisix ra daichi?Yukiya Hayashi
 
We love backlog ! in reCap event.
We love backlog ! in reCap event.We love backlog ! in reCap event.
We love backlog ! in reCap event.Yukiya Hayashi
 
What we expect of neo4j
What we expect of neo4jWhat we expect of neo4j
What we expect of neo4jYukiya Hayashi
 
Backlog World 2019 LT - We love backlog !
Backlog World 2019 LT - We love backlog !Backlog World 2019 LT - We love backlog !
Backlog World 2019 LT - We love backlog !Yukiya Hayashi
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesYukiya Hayashi
 
postgresql conference 2018 on-premise to rds
postgresql conference 2018 on-premise to rdspostgresql conference 2018 on-premise to rds
postgresql conference 2018 on-premise to rdsYukiya Hayashi
 
Zabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleZabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleYukiya Hayashi
 
Jenkins User Conference 2018 Tokyo LT
Jenkins User Conference 2018 Tokyo LTJenkins User Conference 2018 Tokyo LT
Jenkins User Conference 2018 Tokyo LTYukiya Hayashi
 
ansiblejp-best-variables-place
ansiblejp-best-variables-placeansiblejp-best-variables-place
ansiblejp-best-variables-placeYukiya Hayashi
 
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりましたジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりましたYukiya Hayashi
 
20171117 redminetokyo13
20171117 redminetokyo1320171117 redminetokyo13
20171117 redminetokyo13Yukiya Hayashi
 
PostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しようPostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しようYukiya Hayashi
 

More from Yukiya Hayashi (20)

I want the power of onboarding!
I want the power of  onboarding!I want the power of  onboarding!
I want the power of onboarding!
 
How did you start learning Azure
 How did you start learning Azure How did you start learning Azure
How did you start learning Azure
 
My feelings of going to the first conference overseas
My feelings of going to the first conference overseasMy feelings of going to the first conference overseas
My feelings of going to the first conference overseas
 
Let's split text by awk command
Let's split text by awk commandLet's split text by awk command
Let's split text by awk command
 
What i feel when began use AWS CodePipeline as GitLab Ci user
What i feel when began use AWS CodePipeline as GitLab Ci userWhat i feel when began use AWS CodePipeline as GitLab Ci user
What i feel when began use AWS CodePipeline as GitLab Ci user
 
How to get rid of terraform plan diffs
How to get rid of terraform plan diffsHow to get rid of terraform plan diffs
How to get rid of terraform plan diffs
 
Task and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and TogglTask and Time monitoring with Backlog and Toggl
Task and Time monitoring with Backlog and Toggl
 
What does the monitoring tool use at oisix ra daichi?
What does the monitoring tool use at oisix ra daichi?What does the monitoring tool use at oisix ra daichi?
What does the monitoring tool use at oisix ra daichi?
 
We love backlog ! in reCap event.
We love backlog ! in reCap event.We love backlog ! in reCap event.
We love backlog ! in reCap event.
 
What we expect of neo4j
What we expect of neo4jWhat we expect of neo4j
What we expect of neo4j
 
Backlog World 2019 LT - We love backlog !
Backlog World 2019 LT - We love backlog !Backlog World 2019 LT - We love backlog !
Backlog World 2019 LT - We love backlog !
 
20190116 neo4jug-lt
20190116 neo4jug-lt20190116 neo4jug-lt
20190116 neo4jug-lt
 
Introduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing DockerfilesIntroduce that Best practices for writing Dockerfiles
Introduce that Best practices for writing Dockerfiles
 
postgresql conference 2018 on-premise to rds
postgresql conference 2018 on-premise to rdspostgresql conference 2018 on-premise to rds
postgresql conference 2018 on-premise to rds
 
Zabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by AnsibleZabbix Conference Japan 2018 LT Configure by Ansible
Zabbix Conference Japan 2018 LT Configure by Ansible
 
Jenkins User Conference 2018 Tokyo LT
Jenkins User Conference 2018 Tokyo LTJenkins User Conference 2018 Tokyo LT
Jenkins User Conference 2018 Tokyo LT
 
ansiblejp-best-variables-place
ansiblejp-best-variables-placeansiblejp-best-variables-place
ansiblejp-best-variables-place
 
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりましたジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
ジョブ管理でcronは限界があったので”Rundeck”を使ってハッピーになりました
 
20171117 redminetokyo13
20171117 redminetokyo1320171117 redminetokyo13
20171117 redminetokyo13
 
PostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しようPostgreSQL DBのバックアップを一元化しよう
PostgreSQL DBのバックアップを一元化しよう
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Recently uploaded (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Oiradaichi's Akamai Journey