Cybozu Inside Out | サイボウズエンジニアのブログ
https://blog.cybozu.io/
サイボウズ株式会社、サイボウズ・ラボ株式会社のエンジニアが提供する技術ブログです。製品やサービスの開発、運用で得た技術情報やエンジニアの活動、採用情報などをお届けします。
フィード

cybozu.comにおけるマルチテナンシー
1
Cybozu Inside Out | サイボウズエンジニアのブログ
クラウド基盤本部のPlatformチームの昆野です。 私たちPlatformチームでは、サイボウズが提供するクラウドサービス「cybozu.com」が安定稼働するためのプラットフォームの開発/運用に取り組んでいます。 今回の記事では、私たちのチームがプラットフォームの安定稼働に向けて取り組んでいる内容をご紹介します。ただし、私たちの取り組みは多岐にわたっており、すべての取り組みを説明するのは難しいため、今回はこれまでに取り組んできた「リソースの収容効率を改善するためのアーキテクチャ改修」について、重点的にご紹介します。 cybozu.comについて まず、cybozu.comとはどのようなサー…
2日前

「Cybozu Tech Meetup#23 EMが直面する課題を赤裸々に語り合う会」を開催しました!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは!開発本部 組織支援部People Experiendeチームの貴島(@jnkykn)です。2025/10/05 東京オフィスで、Cybozu Tech Meetup#23 EMが直面する課題を赤裸々に語り合う会を開催しました。この記事では、当日の様子をご紹介します。 Cybozu Tech Meetup#23 EMが直面する課題を赤裸々に語り合う会 Cybozu Tech Meetupは、サイボウズが主催する技術系のMeetupです。回ごとに異なるテーマで、開催しています。23回目の今回は、サイボウズのエンジニアリング組織の課題とその向き合い方を一例に、組織課題について語り合う会と…
2日前

JaSST'25 Kyushu 参加レポート
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは! OfficeMobileチームで QAエンジニアをしている小竹です。 サイボウズは、2025年10月24日(金)に開催されたソフトウェアテストのシンポジウム JaSST'25 Kyushu にスポンサーとして協賛しました。 弊社のセッションにご参加下さった皆様、本当にありがとうございました! この記事では、 JaSST'25 Kyushu におけるサイボウズの発表内容と資料を共有いたします。また、 JaSST'25 Kyushu の前日に福岡天神にて開催されたイベントの様子も、あわせて紹介させていただきます。 今回はスポンサーセッションに1名が登壇しました。 不具合の先にある面白…
3日前

サイボウズのセキュリティチャンピオンが目指す世界
2
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは、PSIRTの大塚です。 サイボウズでは、セキュリティチャンピオンという施策を始めました。本ブログでは、セキュリティチャンピオンが目指す世界と現時点での体制、効果を紹介します。 PSIRTとは 今回の内容は、前提としてPSIRTの役割が重要になるため、あらためて簡単に紹介します。詳細は「Cy-PSIRTが行っている製品開発におけるセキュリティ支援についての紹介」をご覧ください。 PSIRTはProduct Security Incident Response Teamの略で、その名のとおり「プロダクトセキュ…
4日前

Kubernetes 上のストレージをエンド・ツー・エンドに監視する
2
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25 の記事です。 こんにちは、クラウド基盤本部の伴野です。クラウド基盤本部では cybozu.com を稼働させるため、Neco と呼ばれる Kubernetes クラスタを当社で調達した機材上に構築しています。この記事では、そんなクラスタ上のストレージが正しく動作していることを確認するために開発した pie というソフトウェアについて紹介します。 背景 私はクラウド基盤本部の中でも CSA(Cloud Storage Agency)というチームに属しています。CSA は「cybozu.com にスケーラブルで信頼性のあるストレージ…
4日前

kintoneのチャレンジしていることと、一緒にチャレンジしたい仲間の話
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 はじめに こんにちは!kintone開発チームの河上( @shaba_dev )です。 普段はプロダクトエンジニアとして活動していますが、キャリア採用業務も兼務しており、今回はそちらの話になります。 2025年11月現在、kintone開発チームは新しい仲間を募集していますが、そもそも 「サイボウズって今どんなことにチャレンジしているの?」 「求められている経験がわからない」 といったことがわからずに躊躇っている方もいらっしゃるかと思います。 そこで今回は、今kintone開発チームでチャレンジしていることや、こうい…
5日前

gRPCのクライアントサイドロードバランシングでサーバ負荷の偏りを軽減する
28
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 CloudPlatform部のpddgです。gRPCは高性能・高機能なRPCフレームワークであり、サイボウズではバックエンドサービス間での通信に広く利用されています。gRPCの実際の通信はChannelという仕組みによって抽象化されて管理されており、デフォルトでは最初に接続した単一のサーバのみと通信します。これにより、少数の高負荷をかけるクライアントが存在すると、そのクライアントが接続したサーバに負荷が集中してしまいます。 gRPCはクライアント側で接続するサーバを選択するロードバランシング機能を備えており、これを利…
11日前

みんなで堅牢なE2Eの運用体制を作ろう(MagicPodの運用歴3年目に突入したのでふりかえり)
Cybozu Inside Out | サイボウズエンジニアのブログ
はじめに: MagicPod を使った、E2E の継続運用をふりかえって こんにちは。サイボウズ Office の iOS 製品 の QA の玉木( gkzz )です。 本記事では、E2E 自動テストの SaaS のひとつである MagicPod を使い始めてから3年目に突入したので運用の経験をご共有できればと思います。 特に以下のようなお悩みを抱えている方に向けて、本記事が一助となればうれしいです。 E2Eテストを自動化したいけれど運用で苦労している モバイルアプリの回帰試験の負担軽減の取り組みがなかなか続かない MagicPod の現場運用事例を知りたい 第三者目線に立ってのふりかえり あ…
11日前

未経験の25新卒QAは、どこまで「理想」を実現できたか
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは!サイボウズでQAエンジニアをしている Trabbie(@QA_tabu5)です! この記事では、私が入社前に持っていた理想と入社から半年が経って感じた現実についてお話します。 サイボウズのQAエンジニアに興味があるけど、 「どんなことをやっているかいまいちイメージが湧かない」 と感じている方の参考になれば嬉しいです。 注意 チームによって業務内容が大きく変わるので、あくまでも参考までに読んでいただければと思います。 わかりやすさを重視しているため、言葉の定義が若干異なるところがあります。ご了承ください。 …
12日前

巨大データを扱うintegテスト改善から見る、kintoneアプリ領域刷新
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは、25新卒フロントエンドエンジニアのmehm8128(めふも)です。 サイボウズでは現在、フロントエンド刷新プロジェクトとしてkintoneをGoogle Closure ToolsというフレームワークからReactに移行しています。詳しくは以下の記事をご覧ください。 blog.cybozu.io 僕はその中でも、kintoneのアプリに関連する画面のReact化を行っている、「ババロア」チームに所属しています。 アプリではレコードを作成でき、以下のようにレコードの情報を編集したり閲覧したりできます。 レコ…
12日前

DB へのアクセスを伴う単体テストの考え方と Go による実践
73
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 クラウド基盤本部の新井です。 この記事では、DB へのアクセスを伴う Go の単体テストについての私たちの考え方、そしてそれを実践するために開発・公開したライブラリをご紹介します。 DB のモックとその問題点 DB へのアクセスを伴う Go のプログラムをどのように単体テストしたいとき、最初に思いつくのは go-sqlmock などのツールを使って DB をモックする方法です。 サンプルコードでは、次のようなテストを書いています。 package main import ( "fmt" "testing" "gith…
13日前

Nihonbashi.js #10 開催レポート
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、新卒フロントエンドエンジニアのmehm8128(めふも)です。 10/23(木)に、弊社東京オフィスにてNihonbashi.js #10を開催したのでその開催レポートです。 nihonbashi-js.connpass.com Nihonbashi.jsとは Nihonbashi.jsとは、JavaScriptが好きな人たちが日本橋周辺で集まる勉強会です。 日本橋周辺の会社が共同で主催し、最近数回はサイボウズの東京オフィスで開催しています。 今回は約20名の方々に参加していただきました! 会場の様子 本レポートでは、LTや懇親会の様子を紹介します。 intro 弊社Sajiさんか…
16日前

サマーインターン 2025 を開催しました! 〜Webアプリケーション開発(kintone)〜
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。kintone 開発チームでプロダクトエンジニアをしているぶっちーです。 今年もサイボウズではサマーインターンシップを開催しました。 本記事では、「Webアプリケーション開発」コースの内容についてお話しします。 概要 Webアプリケーション開発コースでは、8 月と 9 月で各 10 日ずつ開催し、計 5 名の方に参加いただきました。 今年も昨年同様、全日程をオンラインで実施しました。 インターンの内容は、kintone 開発チームにジョインしていただき、メンバーの一員として社員と一緒に機能開発を行なっていただきました。 インターンのコンテンツについて 10 日間の大まかなスケジュー…
16日前

Cilium Connection Tracking Deep Dive
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。 クラウド基盤本部 Cloud Platform 部で Kubernetes 基盤(Neco)のネットワークを担当している寺嶋(terassyi)です。 Neco では Cilium を Kubernetes ネットワークに採用しています。 先日我々の Cilium 活用の事例が CNCF のサイトに公開されましたので、ぜひそちらもご覧ください。 www.cncf.io 本記事では Cilium の通信制御のコアである Cilium の Connection Tracking の挙動と実装について解説する…
16日前

サイボウズのKubernetesプラットフォームを支えるOSS: ③AccurateによるNamespace管理のセルフサービス化
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは!クラウド基盤本部 PDX(Platform Developer Experience)チームのびきニキ(@BkNkbot)です。 今回は連載「サイボウズのKubernetesプラットフォームを支えるOSS」の3回目として、ソフトマルチテナンシー環境でテナント管理を行うKubernetesコントローラーの「Accurate」について紹介します。 サイボウズのKubernetesクラスタの現状 サイボウズでは1つのKubernetesクラスタを複数のテナント(Kubernetesクラスターリソースへのアクセス…
16日前

組織横断のセキュリティ課題の解決を推進させる取り組み
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは、PSIRT(Product Security Incident Response Team)のIkuteaです。 サイボウズでは、クラウドサービス全体のセキュリティを向上させるために、クラウドサービスセキュリティ向上WGを立ち上げました。 本記事では、設立背景、運用プロセス、実際に得られた改善例を紹介します。『組織横断のセキュリティ課題の解決をどう推進するか』のヒントになれば幸いです。 ワーキンググループができるまで まずは、ワーキンググループ(WG)が設立されるまでの背景と経緯を紹介します。 クラウドサ…
18日前

シニアエンジニアから学んだ考え方
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 はじめに こんにちは、kintone開発チームでプロダクトエンジニアをしている青木です。 以前、以下の記事でサーバーサイドコード分割という取り組みについて紹介しました。 blog.cybozu.io 私が所属するナビゲーション / コミュニケーション系チームでも、シニアエンジニアのレビューを受けながらコードの分割を進めています。そのレビューの中で学んだ考え方が、エンジニアとしてステップアップするヒントになると思ったのでご紹介したいと思います。 この記事のターゲットとアウトカム ターゲット 自走して開発はできるが、設計…
19日前

開発者が運用を理解するための第一歩 -PHPのスローログを観測可能にしてみた-
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは、サイボウズ Garoon開発 Tsukimiチーム所属の中田です。 本記事は、開発チームの人間がサービス運用の仕組みや可観測性に興味を持ち、実際に取り組んでみた内容をもとに執筆したものです。 PHPのスローログを上手く活用できてないな、という課題感をきっかけに、ログの構造化やメトリクス化を試みた内容を紹介します。 ログは見ているけどメトリクスってあんまり意識してないな、という同じような立場の方の参考になれば幸いです。 はじめに 背景:構造化されていないログ 本記事で用いる構成の概要 PHPのスローログを構…
20日前

Jetpack Composeでリスト内リストとそのアイテムにアニメーションを適用したい
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。サイボウズ OfficeでAndroidアプリ開発をしている、25卒Androidアプリエンジニアのこたです。 先月、DroidKaigi 2025というAndroidアプリエンジニア向けのカンファレンスに参加しました。 DroidKaigiでは、カンファレンスで参加者が使用するアプリをOSSとして公開し、当日まで参加者からのコントリビュートを受け付けるという試みを行っています1。 このアプリにはセッションの時間を一覧として表示する機能や、それをお気に入りとして保持する機能などが実装されています。 今年は…
23日前

[W3Cテックリードに聞く(後編)]TPACとは?ブレイクアウトセッションって?10年後のWebはどうなるの?
Cybozu Inside Out | サイボウズエンジニアのブログ
サイボウズでデザインテクノロジストをしている @saku です。 サイボウズ株式会社は、2025年4月1日より、Web技術の標準化と推進を目的とした国際的なコンソーシアムである「W3C」のメンバーに加入しました。 今回は、W3CのVP, Technical StrategyであるPhilippe Le Hégaretさんにインタビューをさせていただき、W3Cの起源や、Web標準の作り方、そして来月神戸で開催されるTPACについてお伺いしました。 今回は、インタビューの後編をお送りします。 前編はこちら。 blog.cybozu.io W3Cにおけるグループの役割 P: そう、今年はTPACが神…
23日前

【連載】サイボウズのKubernetesプラットフォームを支えるOSS: ②Teleportによる踏み台サーバーの提供とlogin-protectorによるログインセッションの保護
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 クラウド基盤本部 PDX(Platform Developer Experience)チームの川満です。 この記事は「【連載】サイボウズのKubernetesプラットフォームを支えるOSS」の第2回目として、サイボウズのKubernetesプラットフォームにおける踏み台サーバーの提供について紹介します。 blog.cybozu.io Teleport サイボウズではKubernetesクラスタへのアクセス管理を行うコンポーネントとしてTeleportを採用しています。 github.com Teleportには条件付…
24日前

[W3Cテックリードに聞く(前編)] W3Cとは?Web標準ってどうやって作られているの?
Cybozu Inside Out | サイボウズエンジニアのブログ
サイボウズでデザインテクノロジストをしている @saku です。 サイボウズ株式会社は、2025年4月1日より、Web技術の標準化と推進を目的とした国際的なコンソーシアムである「W3C」のメンバーに加入しました。 今回は、W3CのVP, Technical StrategyであるPhilippe Le Hégaretさんにインタビューをさせていただき、W3Cの起源や、Web標準の作り方、そして来月神戸で開催されるTPACについてお伺いしました。 お忙しい中、1時間におよぶロングインタビューをさせていただいたので、前・後編に分けてお送りします。 W3Cロングインタビュー W3Cはどうやって始まっ…
24日前

海外カンファレンスに参加した際に議事録を素早く作成する方法
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 はじめに PSIRTの北村です。 突然ですが皆さん、海外カンファレンスに参加した際に、リアルタイムで発表内容をどのくらい理解することができますか? 僕はというと、スライドに情報が盛り込まれていればある程度理解できるものの、5割聞き取れれば良い方で、パネルディスカッションは特に大変、というぐらいの英語力です。 このような状態の中、今年は2回も海外カンファレンスに出張する機会に恵まれ、発表内容の理解や社内への素早い議事録共有をするために工夫した方法について共有しようと思います。 blog.cybozu.io モチベーショ…
25日前

未経験25卒QAエンジニアがチームで業務を担当するまで
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。GaroonでQA(品質保証)エンジニアをしているすずりん🦒です。 25新卒としてサイボウズに入社しました。 現在は、報告された不具合の再現調査や不具合登録、リリース関連のドキュメント改善に取り組んでいます。 この記事では入社~配属までの流れや、勉強したことについてお話します。 QAに興味あるけど、未経験からどのように業務に入っていくの?と思っている方への参考になれば幸いです。 注意 年次によって研修内容は変わる可能性があります。 目次 入社から配属までの流れ エンジニア新人研修 配属先候補チームの体験 …
1ヶ月前

サイボウズは JaSST'25 Kyushu で協賛&登壇します!
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは、OfficeMobileチームでQAエンジニアをしている小竹です。 サイボウズは 2025年10月24日(金)に開催されるソフトウェアテストのシンポジウムJaSST'25 Kyushuにスポンサーとして協賛します。 今年はスポンサーセッションに弊社のメンバーが登壇いたしますので、本記事ではその紹介をさせてください。 不具合の先にある面白さ~配属3か月目の新卒QAのいま~ 日時 10月24日(金) 15:00〜16:10 タイムテーブル 登壇者 タバ (@QA_tabu5) 内容紹介 新卒一年目のQAエンジニアが入社後に抱いたQA業務に関するイメージ・ギャップ、日頃の業務を経て感じた…
1ヶ月前

CucumberとAllure reportの使用感レポートと、テスト管理をコード内で行っている話
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。kintone拡張基盤チームの massan です。今回は、cli-kintoneの自動テストで使用しているテストツールおよびレポートツールと、それらの運用中に加えた改善の話をご紹介します。 拡張基盤チームとテスト対象の紹介 拡張基盤チームではkintoneをコマンドライン操作できるcli-kintoneというツールをOSS公開しています。 cli.kintone.dev QAと開発者が連携しやすいテストフレームワーク cli-kintoneではE2Eテストの実装にCucumber、テストレポートにAll…
1ヶ月前

フルリモートワークの長所と短所〜北海道より愛を込めて〜
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。サイボウズ OfficeでAndroidアプリ開発をしている、25卒Androidアプリエンジニアのこたです。 入社してからもう半年が経っていて、月日の流れる速度に驚きを隠せません。 この記事では、半年間北海道でフルリモートワークをすることで得られたもの、感想を書き記していこうと思います。 サイボウズのリモートワーク制度 サイボウズでは、一般的にリモートワークと呼称される制度を2010年頃から導入していました。 詳しい話は、以下のリンクから見ることが可能です。 サイボウズの「テレワーク」に関する情報を公開…
1ヶ月前

ライブラリのコードをレビューするときに考えていること
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 こんにちは。 モバイルエンジニアの臼井(@usuiat)です。 私はサイボウズで主にGaroonモバイルのAndroidアプリの開発をしていますが、最近は社内向けライブラリの開発にもレビュアーとして参加しています。 この記事では、ライブラリのコードをレビューするときに私が考えていることを言語化してみたいと思います。 開発に参加しているライブラリ レビュアーとして開発に参加しているライブラリは、DroidKaigi 2025で同僚の@mr_mkeedaが「そのAPI、誰のため? Androidライブラリ設計における利用…
1ヶ月前

ダッシュボード作りが捗る! MetricsQL (VictoriaMetrics) の便利機能
Cybozu Inside Out | サイボウズエンジニアのブログ
こんにちは。DBRE チーム の飯塚です。 サイボウズのプライベートクラウド Neco ではメトリクスの保存とモニタリングに VictoriaMetrics を利用しています。私はプライベートクラウドの利用者として、この VictoriaMetrics にメトリクスを保存したり、メトリクスをまとめて見るためのダッシュボードを作ったり、サービスレベルと関連するメトリクスにアラートを設定したりしています。 VictoriaMetrics でメトリクスを分析・集計するためのクエリを書くのに使われるクエリ言語が MetricsQL です。MetricsQL は、Prometheus のクエリ言語である…
1ヶ月前

社内で脅威モデリングワークショップを開催してみた
Cybozu Inside Out | サイボウズエンジニアのブログ
この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 はじめに PSIRTのJJです。本記事では、今年の2~3月に社内で実施した脅威モデリングワークショップについて、その取り組みについて紹介します。 背景 現在、サイボウズのPSIRTでは、製品のアプリケーションやクラウド基盤に潜むリスクを把握するために脅威モデリングを行っています。脅威モデリングは、システムに対する潜在的な脅威を明らかにし、実施すべきセキュリティ対策を明確化してセキュリティリスクを軽減するための活動です。PSIRT単独で進めることもありますが、より精度の高い成果を得るには、対象システムに関わる開発・運用…
1ヶ月前
