タグ

ブックマーク / tech.andpad.co.jp (61)

  • 複数AWSアカウントのインフラを同じコードで Terraform管理するプラクティス - ANDPAD Tech Blog

    こんにちは! アンドパッドSREの 宜野座 です。 前回は AWSのアカウント運用改善の取り組みについて記事を書かせていただきました。 今回はアンドパッドでIacへの取り組みとして行っているものの一例として、複数アカウント・複数環境を同一コードでTerraform管理するプラクティスを紹介したいと思います。 少し長くなりますが、お読みいただけると幸いです。 前回ブログ記事 tech.andpad.co.jp なぜIaC(Infrastructure as Code)に取り組んでいるのか Terraformを選んだ理由 同一コードでTerraformを複数アカウント・複数環境へplan, applyしたい terraform init terraform plan terraform apply 環境を増やしたい場合 環境ごとにリソースを作成したり、作成しないようにしたい 他の方法に関して

    複数AWSアカウントのインフラを同じコードで Terraform管理するプラクティス - ANDPAD Tech Blog
  • バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog

    これは何 どのように技術選定してますか。よく聞かれます。SREチーム 鈴木心之介 です。しかし説明が難しい。難しいですが説明の助けになってほしく思い、技術選定を文書化した DesignDoc から1枚を公開してみました。 DesignDoc とは、ある程度の大きさや複雑さがあり一言で説明の難しい技術選定について、文書化したものです。これを通じて、技術選定をどのように行うか組織内に広めようとする試みです。2021年1月頃から始めています。 題材は、メール配信の冗長化をRailsで実現した tech.andpad.co.jp を、インフラ視点から技術選定した DesignDoc です。このメール配信SaaSの選定は2019年末頃に実施したもので、DesignDoc の取り組みを始めていなかった頃でした。時が経ち、ソースコードやSaaSの構成からは意図を読むことが難しく「なんじゃこれ」って質問を

    バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog
  • DataWareHouse,DataMartを整備して分析がやりやすくなった話 - ANDPAD Tech Blog

    こんにちは、データ基盤チームの大洞です。 2021年4月にANDPADにジョインしてから、データ基盤やデータ分析にかかわってきました。 今回は、データ分析を効率的にするために、DataWareHouse、DataMartを整備した話を紹介したいと思います。 データ基盤の全体像 まずは、簡単にデータ基盤の全体像を紹介します。 左から順に説明していきます。 ① SaaS Data 実際に稼働しているANDPADのDBSalesforceなどの業務で利用しているサービスです。ここからデータを出力し、S3に保存します。 ②ETL Stack 分析はBigQueryで行っているので、ここからGCSに移動させます。 ③Analytics Stack GCSに移動されたファイルをBigqueryにロードします。 ④Anatytics 用途に応じて、Jupyter、Metabase、スプレッドシートなど

    DataWareHouse,DataMartを整備して分析がやりやすくなった話 - ANDPAD Tech Blog
  • スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog

    こんにちは。こんばんは。おはようございます。 アンドパッドで現在はバックエンドの方のエンジニアをやっている原田です。 アンドパッドには2021年6月にJOINしまして、現在までANDPADボードの開発に携わっています。 ANDPAD施工管理が比較的長期間の工事をターゲットにしているのに対して ANDPADボードは1日〜数日の間に短期間の工事や施工を行う際のスケジュール管理を行えるサービスです。 andpad.jp 今回は入社3ヶ月目というきりの良いタイミングで今まで行ってきたことを振り返りつつ、直近行った技術的負債を軽減するための「開発合宿」について書いていきます。 一応最初に書いておきますが、リファクタリングに関するチートスキルはないのでバーンとやってドーンと解決みたいなド派手な解決ではなく地道な改修作業をちまちま行いましたという内容です。 入社してからやってきたこと ANDPADボード

    スタートアップにクリーンアーキテクチャを適用したが、技術的負債が塵積った件 〜開発合宿で技術的負債を粉砕します〜 - ANDPAD Tech Blog
  • ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog

    バックエンドエンジニアの宮澤です。 弊社のANDPADでは多くのWebサービスと同じようにメールでの通知機能を持っています。 今回はRailsと複数のメール配信サービスを組み合わせて、メール配信機能を冗長化した事例を紹介します。 ANDPADで導入しているメール配信サービス ANDPADでは2つのメール配信サービスを利用しています Mailgun(メイン) Sendgrid(サブ) 通常はMailgunを主系として利用し、SendgridはMailgunでの送信失敗時に備えて待機する構成になっていて、Mailgunで障害が発生した場合でも自動的にSendgird経由でメール配信できるようになっています。 また、サブにSendgridを採用している理由にRFCに準拠しないメールアドレスへの対策もあります。 ANDPADでは個人の携帯キャリアメールで登録しているアカウントも多く、キャリアメール

    ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog
  • 初めてPullRequestを対応する前に知りたいGitのコミットについて - ANDPAD Tech Blog

    こんにちは!2021年2月にアンドパッドに入社しました、エンジニアの浜田です。 私の経歴として入社前までチームでの開発をほとんどしてきませんでした。アンドパッドに入社して初めてチーム開発をするようになりました。 入社当初、私がPR(Pull Request)を対応する中で教えてもらったことや、他の方が教えてもらっていたことを社内向けに初めてPRを対応する前に知りたいことというタイトルで記事をまとめました。今回はその記事の内容からGitに関してまとめた4点を紹介させていただきます。 はじめに 1. コミットメッセージは1行目がタイトルで3行目から説明 2. 1コミットに複数の対応を混ぜない 3. コミットメッセージに有益な情報を残す 4. レビュー前にGitのコミット整理 まとめ はじめに アンドパッドではGitHub上で開発を進めています。PRのマージ条件の1つにレビュアーのApprove

    初めてPullRequestを対応する前に知りたいGitのコミットについて - ANDPAD Tech Blog
  • サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog

    はじめに SREの須恵です。 弊社では、昨秋からサービスメッシュの導入を開始していたのですが、なかなかアウトプットできていなかったので書くことにしました。 マイクロサービス化とgRPC 弊社で進行中の技術テーマの1つに「マイクロサービス化」があります。 ビジネスの成長拡大に伴い開発組織も拡大し続けており、どんどん人数が増えています。この増加していく開発者の力を、可能な限り効果的に活かして開発するため、マイクロサービス化に舵を切ることになりました。 (マイクロサービスの動機と目指す結果の詳細はいずれ誰かが記事化することに期待) 今年の1月に弊社初のマイクロサービスとしてリリースされた2つのサービスがあり、それらはgRPCで通信することが決定されていました。また今後も、マイクロサービス間の同期通信にはgRPCの採用が広がる見込みです。 なぜgRPCか モノリスをマイクロサービス化する、あるいは

    サービスメッシュとしてLinkerdを導入するに至った経緯 - ANDPAD Tech Blog
    fumikony
    fumikony 2021/04/23
  • AWSアカウント運用改善の取り組み - ANDPAD Tech Blog

    こんにちは! アンドパッド SREの宜野座です。 ANDPADではAWSを主要なクラウドとして利用させていただいているのですが、続々と社内でAWSを利用する方が増えていることでAWSアカウントの運用も少しずつ煩雑になってきています。 IAMやアカウントの管理に関する議論が2019年末頃からSREでは始まりましたが、具体的に動き出せたのは2020年夏ごろでした。 最近では週1くらいのペースでMTGを行いながら今後のアカウント改善に向けた取り組みを行っています。 今回は IAMの運用改善への取り組みの中で行ったこと AWS Organizationsを導入していく際に注意したポイント 将来的な取り組み についてご紹介させていただければと思います。 IAM運用改善の取り組みの中で行ったこと すべてのIAMアカウントを洗い出す IAMグループ運用について考える 不要なIAM権限の整理、置き換え ロ

    AWSアカウント運用改善の取り組み - ANDPAD Tech Blog
  • 5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog

    はじめまして、開発部の@taikishiinoです。 2020年3月にアンドパッドにジョインし、約一年が経ちました。 現在、チャットサービスの開発・運用をするチームに所属しており、その中で最近、RDSからFirestoreへのデータ移行を行いました。 記事では、その際の課題やそれに対して実際に行ったことなどを中心にご紹介していきます。 データ移行の背景 僕たちのチャットサービスを開発するチームでは、現在、プロダクトのデータベースをRDSとFirebase RealtimeDatabaseのミックスからFirestoreに移行する大規模プロジェクトが行われています。 旧環境「RDSとFirebase RealtimeDatabase」の課題として、 チャットのアクセスを処理しているAPIサーバーのバックグラウンド処理は複数プロダクト共通で利用しており、チャット起因で負荷が高まってしまうとい

    5000万件越えのRDS大量データをFirestoreに移行する勘所 - ANDPAD Tech Blog
  • ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog

    r7kamuraと言います。2020年9月頃からANDPADの開発に参画しています。 2021年2月、ANDPADで利用しているWebアプリケーションフレームワーク Ruby on Rails (以下Rails) のバージョンを5.2から6.0にアップグレードしました。今後アップグレードを行う方が同様の作業を行えるよう、今回の変更に伴い必要となった作業について、あらためて言語化してこの記事で共有できればと思います。 全体の流れ 大まかに分けると、今回は次のような手順で作業を進めていきました。 Rails 5.2系の最新のバージョンに上げる Rails 6.0版のブランチを用意してテストを通す Rails 5.2と6.0に両対応したコードに変更する Rails 6.0で検証を進める Rails 6.0に番環境を切り替える Rails 5.2向けの対応を取り除く Gemのバージョン変更 Ra

    ANDPAD Rails 6.0へのアップグレード - ANDPAD Tech Blog
  • Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog

    こんにちは!アンドパッド開発部のyokohamaです。 ITコンサルWEBサービス会社を経て昨年5月にアンドパッドにジョインしました。 突然ですがアンドパッドでは社内で様々な勉強会を開催しています。 Vue, Flutter,マイクロサービスなどいろんなテーマの勉強会が開催されていて、所属に関わらず各々好きな勉強会に参加することができます。 自分はKubernetes/マイクロサービス勉強会と機械学習勉強会に参加しています。 勉強会に参加する目的は人それぞれだと思いますが、自分は怠け者なので学習をさぼらないようにペースメーカーとして勉強会に参加し続けています。 機械学習勉強会についてもいつか記事にできればと思っていますが、今日はKubernetes(k8s)に関しての記事なります。 k8sは入社前は全く触ったことがありませんでしたが、この勉強会のおかげで少しずつ触れるようになってきました

    Kubernetes入門 - 自作のDockerイメージをminikubeで動かす方法 - ANDPAD Tech Blog
  • Kubernetesクラスターにインストールした野良アプリケーションの再現性担保とバージョン管理 - ANDPAD Tech Blog

    SREチームの須恵です。 今回は、Kubernetesクラスターの運用にまつわるちょっとした工夫について書くことにしました。 要約 何が問題か 今までのやり方 解決策 ここまでで実現できたこと Dependabotで、もうひと工夫 余談 ごあんない 要約 以下のような問題があり、 URLから直接、手動でkubectl applyしたアプリケーションが存在することにより インストールと更新が手動のためクラスターの再現性を低下させる 更新を手動で行う必要がある 誰かが更新に気がつく必要がある それぞれ、以下のアプローチで解決を試みました。 手元からインストールと更新を行うためクラスターの再現性を低下させる シェルスクリプトとDockerfileをバージョン管理する 更新を手動で行う必要がある install-from-url.shを自動的に実行する 誰かが更新に気がつく必要がある Depend

    Kubernetesクラスターにインストールした野良アプリケーションの再現性担保とバージョン管理 - ANDPAD Tech Blog
  • マネジメント業を通じて考えた、プロジェクト全体像の認識齟齬を防ぐ誤解されないドキュメント作成術 - ANDPAD Tech Blog

    アンドパッドの土方です。 ブログではEMインタビューで取り上げておりますが、記事投稿は初めてです。 エンジニアマネージャーとしてのイベント登壇や、プロジェクト推進における案件の取りまとめ業務が増えてきており、それに伴ってドキュメントを作成する機会も増えてきました。 自分の考えを整理するとともに、アンドパッドのエンジニアにはこんなこと考えている人もいるよ、的な意味で紹介したいと思います。 何かの参考になれば幸いです。 結論! 次項からは文字ばっかりで語っているだけになりますので先に結論を書きます。 断面を作るための切り方を意識する 網羅性、単一性を守る 二軸で表現する この三項を守ることで、理解されやすく誤解を招かないドキュメントの完成に近づけると考えています。 ではここからだらだら語ります。 ドキュメントの目的は? そもそもドキュメントはなんのために作るものでしょうか。 私は、「認識を合

    マネジメント業を通じて考えた、プロジェクト全体像の認識齟齬を防ぐ誤解されないドキュメント作成術 - ANDPAD Tech Blog
  • ANDPADの分析環境のアクセスコントロール - ANDPAD Tech Blog

    はじめまして。ANDPADでデータ活用を推進している、データ基盤エンジニアのmikanfactoryです。 2020年5月にジョインしてANDPADのデータ活用の基礎部分を細々と固めています。 今回は弊社の分析環境のアクセスコントロールについて詳しく説明します。 分析環境の現状 データ分析基盤の詳細を書いていたら結構な量になってしまったので、また別の記事で紹介します。 分析環境としてはDWH、データマートにBigQueryを使っていて、BIツールはMetabaseを使っています。また簡単な分析でSpreadSheetを使ったり、一部の集計結果をSalesforceに保存してカスタマーサクセスがダッシュボードでそれを見ていたりします(とはいえ後々廃止する予定です)。 今回は特にBigQueryやMetabaseのアクセスコントロールについて説明します。 満たしたい要件 データの民主化に伴い、

    ANDPADの分析環境のアクセスコントロール - ANDPAD Tech Blog
  • 猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog

    SREチーム 鈴木心之介 です。 職歴の空白 を経て参画しました。 社名変更して co.jp ドメインを複数保有する技術 の節は皆様ありがとうございました。 たぶんそのうち書かれるだろう「Dockerコンテナ移行しました」記事の先史時代の記録として、また、事業の成長に併走してきたEC2でのアーキテクチャの御焚上として奏上するものです。 問題意識 アプリケーションはRuby on Railsで実装し、インフラはAWSにEC2, RDS, S3を中核に構成してます。運用状況はEC2に限らず大変きびしく、早くどうにかしないと事業の成長の足枷になりそうでした。入社前のカジュアル面談で伺っていた情報と、入社後の情報収集から、大枠の問題意識を以下4つに絞りました。 デプロイメント セキュリティ スケーラビリティ ディザスタリカバリ どれも解決すべきで、優先順位にみなさま一家言あるかと思います。ただセキ

    猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog
  • Autifyを導入して3ヶ月経ったので振り返ってみる - ANDPAD Tech Blog

    はじめに はじめまして。QAエンジニアの佐藤です。 最近、Slackのアイコンを "ピカチュウ" から "ミミッキュ" に変更したのですが、複数人から「闇落ちしたの?」と心配されてしまったため、ミミッキュの認知度をあげていかないとなぁと思っています。笑 www.pokemon.co.jp さて、今回はコードを書かずにテスト自動化できるプラットフォーム、Autifyを導入して3ヶ月経ったため振り返ってみたいと思います。 Autifyとは、ブラウザ上での操作を録画し、それをシナリオとして作成してくれるテスト自動化プラットフォームです。 autify.com 導入した背景 ANDPADの定期リリース後、開発者が主要動線テストを行っているのですが、フロントエンジニアの方々から リリースのたびに開発者の工数を使っている 毎回同じテストなので自動化したい という声があがったのがきっかけでした。 Aut

    Autifyを導入して3ヶ月経ったので振り返ってみる - ANDPAD Tech Blog
  • CodeBuildでRSpecのテストレポートを表示する - ANDPAD Tech Blog

    はじめまして。サーバーサイドエンジニアの kinakobo です。 唐突ですが、自動テストの実行にはどんなCIツールを使用していますか? 色々と選択肢があると思いますが、自分は今までCircleCIGitHub Actionsを使うことが多く、ANDPADに入社して初めてCodeBuildでテストを実行しました。 それまでCodeBuildを使ったのはDocker imageの構築くらいだったので、あまりテストの実行に向いている印象は持っていませんでした。 ですが調べてみると意外と機能が充実しており、中でもテストレポート機能は便利だと思ったので今回紹介したいと思います。 テストレポート機能とは AWS CodeBuild でのテストレポートの使用 - AWS CodeBuild テストレポート機能は、テストのレポートファイルをいい感じに整理して表示してくれる機能です。 CircleCI

    CodeBuildでRSpecのテストレポートを表示する - ANDPAD Tech Blog
  • 社名変更して co.jp ドメインを複数保有する技術 - ANDPAD Tech Blog

    SREチーム 鈴木心之介 です。 職歴の空白 を経て参画しました。 先日、株式会社オクト (88oct.co.jp) だった弊社は、社名変更し、株式会社アンドパッド (andpad.co.jp) になりました。社名変更といえば、めちゃくちゃ、それはもう大変な量の仕事がありますが、ここでは社名変更して co.jp ドメインを複数保有する話を書きます。 短い結論 いま保有している co.jp ドメインを、JPDirerct に移管しましょう。JPDirect は、 jp ドメインのレジストリである株式会社日レジストリサービス(JPRS) が運営するレジストラで、1組織1ドメインの緩和申請に対応していることを表明しています。 JPDirectの管理画面で新ドメインを仮登録すると、直ちにDNS設定を組めるようになります。仮登録から6ヶ月以内に社名変更の法人登記を完了し、1組織1ドメイン制限緩和の

    社名変更して co.jp ドメインを複数保有する技術 - ANDPAD Tech Blog
    fumikony
    fumikony 2020/06/13
  • AWSサポートの一歩進んだ使い方 ~問い合わせの極意編~ - ANDPAD Tech Blog

    はじめに はじめまして、オクトSREチームの@DanKadoiです。 https://github.com/DanKadoigithub.com 普段は、 AWS上でのインフラ構築 DockerKubernetes環境整備 CI / CD サイクルの改善や効率化 プロダクト初期フェーズにおける様々な運用課題の解決支援 インフラやアプリケーションのモニタリングの仕組みを整備 OS、ボリューム、ネットワーク、AWSアカウントのセキュリティ対策 etc.. などの技術領域で、日々少しずつ会社貢献しています。 Terraformを用いたIaC(Infrastructure as Code)や、運用負荷の低減/耐障害性の強化などを目的としたインフラ構成の改善、サーバレスアーキテクチャ(過去記事参照)への移行、開発量・成果・費用対効果・処理効率などを可視化するためのメトリクス取得法の確立、より高度で

    AWSサポートの一歩進んだ使い方 ~問い合わせの極意編~ - ANDPAD Tech Blog
    fumikony
    fumikony 2020/03/25
  • RubyKaigi2019 3日目レポート - ANDPAD Tech Blog

    RubyKaigi2019に参加してきました! 4/18(木)〜4/20(土)に福岡で開催されたRubyKaigi2019 3日目レポートです。 最終日も引き続き、rjgeがお送りします。 1日目・2日目のレポートはそれぞれ下記からご覧いただけます。 1日目レポート 2日目レポート セッション ということで、拝見したセッションのレポートです! もしニュアンスや意味を取り違えている箇所等あればご指摘いただけますと幸いです🙇‍♂️ Ruby Committers vs the World 10:00 - 11:10 / Main Hall (3F) @ rubykaigiA 最終日の幕開けは恒例のRubyコミッターのみなさんによる質疑応答と公開開発会議です。 質疑応答もですが、開発会議を直接見られる貴重な機会です! RubyGems.orgからのお願い 最終日もRubyGems.orgのマル

    RubyKaigi2019 3日目レポート - ANDPAD Tech Blog