Discover companies you will love

Kajimura Rita

株式会社AbemaTV / 開発事業本部渋谷

Kajimura Rita

株式会社AbemaTV / 開発事業本部

Give And Take

【自己紹介】 株式会社サイバーエージェントにバックエンドエンジニアとして内定承諾後、内定者バイトを4つの会社で合計6ヶ月間、Golangを用いた新規、保守開発プロジェクトにてWebアプリケーション開発を経験しました。

Ambition

In the future

プロダクトの成長に貢献し大きな利益を生み出せるPdMになる

About 株式会社AbemaTV

株式会社AbemaTV2 years

開発事業本部Present

- Present

株式会社サイバーエージェントにバックエンドエンジニアとして内定承諾後、内定者バイトを4つの会社で合計6ヶ月間、Golangを用いた新規、保守開発プロジェクトにてWebアプリケーション開発を経験しました。 その後株式会社サイバーエージェントに22新卒として入社しAbemaTV株式会社のProduct Ba

  • envoy/ratelimit を活用したGlobal API Rate Limit

    <概要> ・分散環境に対応したGlobalなAPI Rate Limitのmicroservice, middleware構築を行い、セキュリティの向上を行う ・Cloud Logging・Grafana・BigQueryを活用したリクエストログのMonitoringやAlert, 分析基盤を構築し閾値の調整やメンテナンス、攻撃者の特定を可能にし安全で良い効率的な運用を行えるようにする <業務内容> ・システムの要件定義 ・技術選定や設計方針の選択肢・メリデメの検討 ・GoによるバックエンドのRate Limit Middlewareの実装・テスト・動作確認やQA ・負荷試験による性能評価 ・Cloud Logging, Grafana, BigQueryを活用したリクエストログのMonitoringやAlert, 分析基盤の構築 ・閾値の設定方法などのポリシー策定や利用者のためのRunbook, READMEなどドキュメント作成 <取り組み> ・ABEMAにおけるシステムの要件定義を行い、その要件にあった技術選定を行った。自作、Cloud Armor、CloudFlareなど複数選択肢のメリデメを検討し一番機能要件や非機能要件に合致したenvoy/ratelimitを活用して実装することを意思決定した。 <これからやること> ・READMEやソースコードから仕様や利用するにあたってのベストプラクティスを理解し実装を行う。 ・K6を使って負荷試験を行い1Podあたりの性能限界や線形にスケールするかを調査したりProfilerやTraceなどを活用したボトルネック除去によるパフォーマンスチューニングを行う ・PreviewMode(ログは出力するがエラーは返さないで処理を行う)をMiddlewareに実装し初回導入時などに発生する閾値の設定ミスによる障害を最小限にする。 ・検知したリクエストログをBigQueryでPoolしGrafanaを使い可視化を行い分析やモニタリングを行えるようにしたり検知時にslack通知を行い悪意のあるユーザーを特定しIPやUserIDなどでBANできるようにする ・エンドポイントのRPSなどの値を元にRateLimitの閾値を設定するポリシーや手順を整備し事故なく安全に適切なRateLimitの閾値の調整を行えるようにする。

  • Cloud Armor Enterprise を活用した WAFルールや脅威インテリジェンス、AdaptiveProtection AutoDeploymentの導入

    <概要> Cloud Armor Enterprise を活用した WAFルールや脅威インテリジェンス、AdaptiveProtectionの導入しOWASP Top10や脅威IP、L7 DDoS攻撃から365日リアルタイムで防御体制を確立しセキュリティインシデントから保護しシステムの安全性と安定性を向上させるプロジェクト。 <取り組み> ・WAFルールや脅威インテリジェンスには偽陽性があり正常なリクエストも遮断してしまう恐れがあるためPreviewModeを活用しリクエストログを元にして選定を行ってから本番適用を行った。 ・AdaptiveProtectionのAutoDeploymentには複数かつ挙動が不明な閾値がありGoogleにケースを投げたり検証環境で擬似攻撃を行い挙動のテストや仕様の確認を行った。 ・本番・開発環境に影響を与えないようにmockoonを使用してモックサーバーを構築し独自のIngressを開発環境に擬似攻撃を伴うPOCを行う検証環境を作成した。 ・動作検証や効果測定・分析や偽陽性の判定のためにCloudLoggingに流れるLBのログをLogSinkを使ってBigQueryにPoolし、そちらをソースにGrafanaで可視化を行なった。 ・security policyの設定がかなり複雑化してしまいメンテナンス性が損なわれるのを防ぐためterraform moduleを活用し利用者が簡単にベストプラクティスに従ってWAFルールや脅威インテリジェンス、AdaptiveProtection AutoDeploymentを導入できるようにモジュール化を行った。 ・偽陽性による障害に対しての対策手順やSecurity Policyの導入時の利用方法やベストプラクティスをドキュメントにまとめ、メンテナンスによるキャッチアップを簡易化した。 <実績> ・OWASP Top 10に対する包括的な防御体制の確立 ・セキュリティポリシーのモジュール化による設定ミスの削減と標準化の実現 ・L7 DDoS攻撃による可用性や信頼性の低下を防ぎリアルタイムな攻撃検知と自動防御による24時間365日の保護体制の実現 ・BigQueryとGrafanaを活用した可視化により、セキュリティインシデントの調査の効率化

    -
  • ABEMAの新規決済サービス開発PJ

    <概要> ・他PFのコンテンツが視聴できるプランを販売できるようにする施策 ・旧決済基盤を刷新しより汎用性の高い決済基盤の構築 <担当業務> ・バックエンドのエンジニアリードとしてのメンバーのタスク管理やサポート ・新規マイクロサービス構築(インフラ・middlewareを含め) ・API IF・DBモデリング ・各クライアント(Andoroid, IOS, Web)とPMとの仕様策定 ・タスク設計、タスクの進捗管理・各分掌との日程調整(QA、負荷試験等) ・ToC, ToBのAPI設計・実装 ・負荷試験後のボトルネック特定・パフォーマンス改善 <実績> ・バックエンドのエンジニアリードとして3人のチームメンバーをマネジメントした。 <取り組み> ・決済ドメインは初めてだったので各決済PFの公式ドキュメントや決済に関わる既存コードを徹底的に読み込んだり、クライアントのAPIをコールする処理のコードや設計を読み込むことで全体仕様を把握した。 ・クライアントロジックまでキャッチアップしたためクライアント・バックエンドの視点を盛り込んだ上での案を他のクライアントリード・PMに提案できスピーディに仕様や要件を決めることに貢献できた。 ・reconcile workerを導入することで決済プラットフォームのDBとサービスのDBの整合性にズレが発生した場合検知して修正する実装を追加することでシステムの整合性を向上させた。 ・API処理やイベントハンドリングの処理を冪等に実装しクライアントやバックエンドでretryしてもデータ整合性に問題が発生しないように実装することでサービスの信頼性を高めた。

    -
  • ABEMAの動画コンテンツ配信サービスのリプレイスPJ

    <担当業務> ・コンテンツ配信を責務とする大規模なマイクロサービス(約30万行ほどの規模)を新規作成しリプレイスを行った。 <業務内容> ・新規マイクロサービスの技術選定(インフラを含む) ・各クライアント(アプリ・Web)とのIFの仕様策定・要件定義 ・Goの新規マイクロサービスの設計・実装 ・API IF設計 ・DB設計 ・古いミドルウェアの最新・最適化 ・キャッシュ戦略構築 ・Terraform, K8sインフラ設計・構築 ・QA ・負荷試験の実施 <取り組み> ・大規模なマイクロサービス(約30万行ほどの規模)のリプレイスを実行。 ・マスタデータ取得部分をrestrettoという高速のオンメモリキャッシュとRedisを導入 ・拡張性・保守性の高くデータサイズの小さいAPIレスポンスのモデリングを行った。 ・既存のコードや仕様がかなり複雑で動作確認も非常に大変だったが実際のユースケースをログから調査して本番ではどのような使われ方をしているのかを洗い出し、開発環境のテストデータの入稿も本番と同じようなデータを使って検証することで旧マイクロサービスとの機能差分に差が出ないように工夫した。入稿もやったことがなかったがビジネスやクライアントのメンバーに協力してもらいやり遂げた。 ・usecase層にビジネスロジックを集約していたためusecaseの実装が極めて複雑になってしまう構造になっておりメンテナンスコストが高い課題があったのでentity(model)層にロジックを集約することでテスタブルかつ保守性、可読性の高いコードに変更した。

    -
About 株式会社リチェルカ

株式会社リチェルカ6 months

フルスタックエンジニア(Side)Present

- Present

インフラの可用性の向上やモニタリング基盤の構築

明治大学6 years

-


言語

  • Japanese - Native

Receive Scouts from companies