CloudFront + S3で配信しているSPAのサイトをCross-Origin Isolationに対応しました

こんにちは、SREグループの浜地です。 GO株式会社では、様々な社内/社外向け管理画面システムをホスティングしており、多くはAmazon S3+Amazon CloudFrontを利用したSingle Page Application(以降SPA)構成をとっています。 今回はそのうちのひとつでCross…

TerraformをテストするためにConftestを導入しました

こんにちは、SREグループの浜地です。 先日、TerraformにConftestを導入したので、背景などを含めて紹介しようと思います。 「最近話題のOPA的なのでTerraformをテストしたいんだけどなー」とお考えの方にぜひ読んでいただけると幸いです。 Conftest導入背景…

GO TechTalk #27 タクシーアプリ『GO』AndroidでのreCAPTCHA導入・WebADBでの自動化

2024年6月18日に「GO TechTalk #27 タクシーアプリ『GO』AndroidでのreCAPTCHA導入・WebADBでの自動化」(connpass)を開催しました。 本記事では当日の内容を簡単に紹介します。 GO TechTalkとは? GO TechTalkは、GO株式会社のエンジニアたちが、タクシー…

実践 脱Modifier.composed

実践 脱Modifier.composed タクシーアプリ『GO』のAndroidアプリを開発している山本です。 Android アプリの UI 開発ツールキットである Jetpack Compose ライブラリでパフォーマンス向上のために既存の Modifier.composed を使った実装を Modifier.Node に…

GKEをバックエンドに持つGCPのLBでmTLS機能を使う

はじめに SREグループ・ヒロチカです。GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 以前の記事で、Google Cloudのグローバル外部アプリケーションロードバランサでmTLS機能を利用した通信を行う構成をご紹介しま…

GO TechTalk #26 GISや因果推論でビジネス課題を解決:GO Inc. データアナリストによる実践事例

2024年5月20日に「GO TechTalk #26 GISや因果推論でビジネス課題を解決:GO Inc. データアナリストによる実践事例」(connpass)を開催しました。 本記事では当日の内容を簡単に紹介します。 GO TechTalkとは? GO TechTalkは、GO株式会社のエンジニアたちが…

postgres_exporterを使ってPostgreSQLの可観測性を向上させる方法

はじめに SREグループの古越です。GOでは多くのプロダクトでAurora PostgreSQLを利用しています。Aurora PostgreSQLは標準で多くのCloudWatchメトリクスを出力しており、ほとんどのユースケースに対応できる可観測性があります。しかし、PostgreSQLの詳細な…

AWS Encryption SDKによるクライアントサイド暗号化

こんにちは、SREグループの水戸 (@y_310)です。重要なデータをストレージに保存する際は暗号化を一つのセキュリティ対策として考えることが多いかと思います。最近はEncryption At Restと呼ばれるストレージレベルの透過的な暗号化によってストレージへの直…

GCPのロードバランサーでmTLS機能を使う

はじめに SREグループ・ヒロチカです。GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 今回、GCPで利用しているロードバランサーでクライアント認証の機能をmTLSで実現したいという要件があり、いくつか構築しなが…

hclwriteを使ってtfファイルを編集する

こんにちは、SREグループの水戸 (@y_310)です。Terraformを継続的に使用していると、時々一括して大量のファイルの記法を修正したくなる時があります。 単純な置換であればsedで十分ですが、少し複雑な変換になるとsedでは難しいこともあります。そんな時はH…

負荷試験ツールvegetaを使ってみた

はじめに SREグループ・ヒロチカです。GO株式会社では、サービスのクラウドインフラの設計から構築・運用までを担当しています。 今回、高トラフィックが予想されるアプリケーションに対して負荷試験を実施するにあたり、軽量に負荷をかけられるツールを試し…

Flutterアプリのネットワークデバッグを強化するchuck_interceptorの使い方

ドライバー用アプリ『GOドライバー』を開発しているFlutterエンジニアの井戸田です。 本記事では、『GOドライバー』に chuck_interceptor を導入して得られた知見を紹介します chuck_interceptorを導入した背景 私たちの開発チームでは、アプリケーションの…

Golang マイクロサービスの徹底トレース方法 | オブザーバビリティ基盤第3話

SRE

Golang マイクロサービスの徹底トレース方法 | オブザーバビリティ基盤第3話 こんにちは、SREグループのカンタンです! GO株式会社ではサービス品質を向上させるためマイクロサービスのオブザーバビリティを常に改善しています。 「LGTM!オブザーバビリティ…

GKE クラスタでは64ノードしか作れない?!Cloud NAT でハマった話

SRE

GKE クラスタでは64ノードしか作れない?!Cloud NAT でハマった話 こんにちは、SREグループのカンタンです! GO株式会社では AWS EKS と GCP GKE の Kubernetes クラスタを活用していますが、 数週間前に本番 GKE クラスタのメンテナンス作業を実施した際に…

GO TechTalk #25 GOのデータ・AIを活用する「組織」を30分で紹介

2024年2月26日に「GO TechTalk #25 GOのデータ・AIを活用する「組織」を30分で紹介」(connpass)を開催しました。 本記事では当日の内容を簡単に紹介します。 GO TechTalkとは? GO TechTalkは、GO株式会社のエンジニアたちが、タクシーアプリ『GO』をはじ…

Regional Scrum Gathering Tokyo 2024 参加レポート

Regional Scrum Gathering Tokyo 2024 参加レポート タクシーアプリ『GO』の決済基盤を開発している 菅原 です。 2024年1月10〜12日に開催された Regional Scrum Gathering Tokyo 2024 (RSGT2024) に会社のメンバーと参加してきました。 Regional Scrum Gath…

新たに「GO Tech Blog」としてスタートします!

このたび、GO株式会社の技術ブログを移転しました。 今後はここ「GO Tech Blog」を通じて、GO株式会社のエンジニアたちが日々の業務を通じて得た知見や、社内の開発文化について発信していきます。 ぜひRSSの購読や、はてなIDをお持ちの方はぜひ読者登録もよ…

Agile Japan 2023 参加レポート

この記事は、 GO Inc. Advent Calendar 2023 の8日目です。 タクシーアプリ『GO』のバックオフィス基盤を開発している 森竹 です。 2023/11/16〜17に ベルサール新宿セントラルパーク にて開催された Agile Japan 2023 に参加して来ました。 Agile Japan へ…

DRIVE CHARTのAI技術まとめ-データサイエンス編

AI技術開発部データサイエンスGの菊地です。今回の記事では次世代AIドラレコサービス『DRIVE CHART』を実現するためのデータ分析技術について、過去に執筆された内容をもとにまとめていきたいと思います。こちらの記事は画像認識編、AI運用技術編の続編とな…

Apache Arrow の紹介

タクシーアプリ『GO』のデータエンジニアをしている牧瀬です。 Apache Arrow という OSS を知り、弊社でも活用できる機会があるのではないかと興味を持ちました。本記事では Apache Arrow の概要を紹介します。 概要 Apache Arrow とは、インメモリのカラム…

DRIVE CHART - AI運用技術まとめ

スマートドライビング事業部の森本です。AI技術の発信強化の一環として、過去に発信した記事や発表資料をテーマごとにまとめる取り組みを行っています。今回は次世代AIドラレコサービス『DRIVE CHART』での本番環境、実験環境、エッジデバイスでのAIに関連し…

Androidアプリの依存性管理をGradle Version Catalogに乗り換える

タクシーアプリ『GO』のAndroidアプリを開発している山本です。 Androidアプリ開発に必要なライブラリの定義方法をGradleのVersionCatalogに乗り換えるときに調べたことと利点を紹介します。 Gradleと依存関係の定義 Androidのビルドツールとして採用されて…

AWS IAM Identity Centerによるそこそこ複雑な権限管理の事例

こんにちは、SREグループの水戸 (@y_310) です。GO株式会社ではスタッフがAWSアカウントにログインする際の認証方法としてAWS IAM Identity Center (旧AWS SSO)を使用しています。 今回はAWS IAM Identity Centerを使ったAWSアカウントの権限管理の事例につ…

DRIVE CHARTのAI技術まとめ - 画像認識編

大規模に収集されたドラレコの映像データは、様々な用途に利活用することができます。詳細を2023年2月に行われたイベント「5万台のドラレコを活用!大規模データ収集・機械学習基盤の全容」で紹介しています。こちらの「道路情報の差分抽出」に関するプロジ…

BigQuery JSON型によりログの効率化は可能か?

AI技術開発部の老木です。今回、分析ログの増大が課題となりJSON型の導入を検討しました。分析ログをJSON化した際に問題となる配列の扱いについて紹介します。 適当に作ったログがでかすぎる。ログを出力・分析する人間によくある悩みではないでしょうか。そ…

Argo CDで運用効率アップ!

SRE

背景 SREグループが管理しているEKSとGKEクラスタのマニフェストを一つのmonorepoで一元管理しています。Kubernetesマニフェストをmonorepoで管理するのが主流と言えますが、SREグループの管理方法に主に3つの特徴があります: YAMLファイルを直接扱わないで…

Aurora PostgreSQLアップグレード時のダウンタイムをBlue/Greenデプロイ方式で軽減

SRE

SREグループの古越です。 SREグループではAurora PostgreSQLのインプレースアップグレードで少し痛い目を見た過去があり、Aurora PostgreSQL 10.x EOS(2023/01/31)を切っ掛けとしてインプレースに変わる安全なアップグレード方法を模索していました。 2022/9…

DRIVE CHART で 実験管理ツール としてClearMLを採用しました

AI

この記事はMobility Technologies Advent Calendar 2022の22日目です。 スマートドライビング事業部システム開発部AI基盤グループの石井です。 この記事ではDRIVE CHARTの機械学習チームで採用している実験管理ツールであるClearMLについて紹介します。 Clea…

DRIVE CHART OSS版アノテーションツール最新トレンド2022

AI

この記事はMobility Technologies Advent Calendar 2022の21日目です。 DRIVE CHARTではMoT統合以前よりDeNA時代からデータ作成時のアノテーションツールとしてNotaを利用しています。近年では多数のOSS版アノテーションツールが普及しています。本記事ではN…

DRIVE CHART AI開発基盤のこれまでとこれから

AI

この記事はMobility Technologies Advent Calendar 2022の20日目です。 2022/10/26にAWS Autotech Forunm 2022にてDRIVE CHARTのAI開発を促進するための基盤づくりや日々増加するトラフィックに対して安定的にサービスを運用するためのアーキテクチャについ…