SRE / Infrastructure

第3回 Digital Native Leader’s Meetup に参加しました

こんにちは。DRAWER SRE の廣岡です。最近は開発チーム内の権限付与方針の整備や、他チームのインフラ構築のサポートなどに取り組んでいます。 さて、キャディではサービス構築のために Google Cloud のマネージドサービスを多く利用しており、そのご縁で先…

第1回 信頼性を高めるサービス基盤と技術選定

※本記事は、技術評論社「Software Design」(2023年4月号)に寄稿した連載記事「Google Cloudで実践するSREプラクティス」からの転載です。発行元からの許可を得て掲載しております。 はじめに キャディ株式会社の前多です。筆者はPlatformグループという部署…

AI 組織のモノレポ紹介

AI 組織のモノレポ紹介 はじめに こんにちは、西原です。AI Lab の MLOps チームでエンジニアとプロダクトオーナーを兼任しています。私たちは、日々機械学習(ML)の成果を素早くシステムに取り入れ、安定した運用を実現するための仕組み作りに取り組んでいま…

機械学習APIを用いた図面解析ETL基盤

はじめに こんにちは、キャディAILab MLOpsエンジニアの廣岡です。MLOpsエンジニアの業務では、機械学習エンジニア(MLE)の開発したモデルのデプロイ面の協働や、それらを含む機械学習基盤の開発・運用などを担当しています。最近は特にモデルデプロイに伴…

あれから 1 年、Platform チームのその後

はじめに こんにちは。Platform チームの飯迫 (@minato128) です。 2021 年 7 月 1 日に CADDi で初めての Tech 組織横断チームとして、山田(@kei711_) と一緒に Platform チームを立ち上げ、約 1 年 3 ヶ月が経過しました。今回は、我々が立ち上げからこれ…

Ciliumを試す -サービスメッシュにサイドカーが必須だと思っていたがそんなことはなかったぜ-

こんにちは。 Platformチームの前多(@kencharos)です。 2022年8月9日に開催した社内勉強会で、eBPFベースのネットワークミドルウェア、Cilium(スリィアム) について発表しました。 この記事は発表の内容をベースに内容を補足したものです。 この記事を読むに…

eBPFに3日で入門した話

はじめに eBPF とはなにか ざっくり概要 「Packet Filter」なのに「Virtual Machine」? eBPFでなにができるか? カーネルイベントのフック ユーザーランドアプリケーションとのやりとり eBPFの主な用途 eBPFが注目される背景 eBPFの仕組み アーキテクチャと処…

Cloudflare for application 入門

CloudFlare for application 入門 はじめまして、キャディでバックエンドエンジニアをやっている矢野です。 CloudFlareについて、2022年5月24日に開催された社内勉強会で発表させていただきました。 CDNで有名なCloudFlareですが、CDN以外のサービスの展開が…

【現在の挑戦 01】グローバルカンパニーになるための開発体制のグローバル化と多言語化

はじめに 現在の8つの挑戦と未来の8つの挑戦 本記事は、以前公開した CADDi Tech 現在の8つの挑戦と未来の8つの挑戦 というコンテンツをより深くご理解いただくために、キャディのメンバーがそれぞれの挑戦の目的や意図を説明する連載記事となっています。 …

GitHub Actions で private リポジトリの action を共有する仕組み

注意!! 記事を書いた時点からの更新があります この記事の内容は古くなっています。当時の課題は 2022年12月のGithub ActionsのUpdateにより、同一オーナーの private repository のActionsを参照可能になったため、同一オーナー間であればこの記事の手順を…

Hosted Redash(app.redash.io) から Self-Hosted Redash(GKE) への移行

こんにちは。Platform チームの飯迫 (@minato128)です。 CADDi ではこれまで Hosted Redash(app.redash.io) を利用していたのですが、残念ながら 2021/11/30 に End of Life になるので、10 月末に Self-Hosted Redash 環境を構築して移行しました。今回はそ…

Rust入門者がrust-analyzerへのコントリビュートを達成するまで

はじめに はじめまして、テクノロジー本部バックエンド開発グループの松田です。 この記事は、CADDi Advent Calendar 15日目の記事です。昨日は、和田さんによる「Rust と nalgebra で MLP を実装した話」でした! CADDiでは、バックエンドの主要な開発言語…

whasm!("Rust Christmas: WebAssemblyをKubernetes上で動かす")

1. Rust Christmas, I gave you my heart はじめに 折角クリスマスなので、楽しい近未来感のある技術を検証してみようと思います。お仕事で使っているRust、Kubernetes、そして個人的に興味のあるWebAssemblyをガッチャンコ出来ないか考えてみた。技術者とし…

GitOpsの概要と実践例 〜Kustomize + CircleCI編〜

こんにちは。テクノロジー本部バックエンド開発グループの山下です。 この記事は キャディ Advent Calendar 2020 の11日目です。 前日は大原さんの 図面を管理するために図面版 figma を開発している話 について でした。 今回は以前のKustomizeの記事に続き…

Argo Rollouts で Blue-Green Deployment

こんにちは。CADDi SWE の飯迫です。この記事は キャディ Advent Calendar 2020 の3日目です。昨日は、村上さんによる「良いチーム開発」を実現するための「組織的学習」と「自己組織化」の話でした! 今Q は Rust で Backend を書いているのですが、前Q は…

WSLでDockerを動かそうとしたら苦戦した話

いきなり結論 仕事で docker-compose を使いたく、せっかくなのでWSL上で docker-compose しようとしたら、まったく上手くいかず大苦戦した。本記事はその格闘の記録である。 結論から述べると、WSL上でDockerを取り扱いたい場合、WSL 2、Docker for Desktop…

CI/CDでもはじまるOSS化の波 ~ Orbを使って楽にCI/CDを実装しよう ~

はじめに Orbって何? どうやって使うの? 調べて選ぶ ドキュメントを読む Usage Examples JobとCommandの違い JobとCommandの呼び出し方 Executors リソースクラスとは Orb Source 実装する 最後に はじめに キャディでバックエンドエンジニア兼DevOpsエン…

FirebaseとCloudFunctionで作るサーバレスなファイル処理

はじめに テクノロジー本部バックエンド開発グループの狭間です。所属はバックエンドですが、フロントエンドやインフラなど色んなことをやらせてもらってます。 今回はファイルの処理について書こうと思います。それなりに大きなファイルをオンラインで処理…

Kustomizeを利用してk8sの構成管理をシンプルにやってみる

目次 [toc] はじめに キャディでバックエンドエンジニアとCI/CDやIaC、自動テストなどDevOps的な仕事を兼務している山下です。 k8sを実際にサービスの運用に使おうとすると確実にぶつかる壁があります。それは構成管理です。 具体的にいうと、基本は設定を共…