インフラ

Kubernetes 上でインメモリ KVS を冗長化する

クラウド基盤本部の新井です。 サイボウズでは、セッション情報など一時的なデータを置くために yrmcds というインメモリキーバリューストア(KVS)を開発し、クラウド基盤にホストして利用してきました。 blog.cybozu.io 私たちのチームでは、旧基盤にホス…

【連載】cybozu.com クラウド基盤の全貌 第7回 cybozu.comにおけるマルチテナンシー

クラウド基盤本部のPlatformチームの昆野です。 私たちPlatformチームでは、サイボウズが提供するクラウドサービス「cybozu.com」が安定稼働するためのプラットフォームの開発/運用に取り組んでいます。 今回の記事では、私たちのチームがプラットフォームの…

Kubernetes 上のストレージをエンド・ツー・エンドに監視する

この記事は、CYBOZU SUMMER BLOG FES '25 の記事です。 こんにちは、クラウド基盤本部の伴野です。クラウド基盤本部では cybozu.com を稼働させるため、Neco と呼ばれる Kubernetes クラスタを当社で調達した機材上に構築しています。この記事では、そんなク…

gRPCのクライアントサイドロードバランシングでサーバ負荷の偏りを軽減する

この記事は、CYBOZU SUMMER BLOG FES '25の記事です。 CloudPlatform部のpddgです。gRPCは高性能・高機能なRPCフレームワークであり、サイボウズではバックエンドサービス間での通信に広く利用されています。gRPCの実際の通信はChannelという仕組みによって…

【連載】cybozu.com クラウド基盤の全貌 第6回 MySQL on Kubernetes

こんにちは。DBRE チーム の飯塚です。 cybozu.com では kintone や Garoon をはじめとする様々なクラウドサービスを提供しており、その多くで MySQL をプライマリデータストアとして利用しています。お客様に安定したサービスを提供するためには、この基盤…

【連載】Cybozu.comクラウド基盤の全貌 第5回 Neco のストレージ

はじめに こんにちは、クラウド基盤本部の伴野です。「【連載】Cybozu.comクラウド基盤の全貌」では、私たちが運用しているクラウド基盤を連載形式で紹介しています。今回の記事では、インフラ基盤 Neco のストレージについて説明します。Neco では様々なア…

【連載】Cybozu.comクラウド基盤の全貌 第4回 Cybozu.com が稼働するデータセンター

クラウド基盤本部 Network&DCチームの尾崎です。Network&DCチームは、cybozu.com が稼働するデータセンターの契約や、データセンターネットワークの設計・構築・運用を行っています。 前2回の記事では、Neco の Kubernetes 基盤について解説しました。今回は…

【連載】Cybozu.comクラウド基盤の全貌 第3回 Neco のネットワーク

はじめに クラウド基盤本部でサイボウズの Kubernetes 基盤である Neco の開発・運用を担当している杉浦です。 前回の記事では Neco について、サーバ管理の方法や自社製の Kubernetes エンジンである CKE を紹介しました。今回は Neco のネットワークに注目…

【連載】Cybozu.comクラウド基盤の全貌 第2回 サイボウズのKubernetes基盤「Neco」の紹介

はじめに クラウド基盤本部で、インフラ基盤「Neco」の開発と運用を担当している三村と竹村です。 サイボウズでは、Kubernetesを用いたオンプレミスのインフラ基盤「Neco」の開発・運用をしています。 Necoは、kintoneやGraoon、サイボウズOfficeなど、サイ…

【連載】Cybozu.comクラウド基盤の全貌

イントロダクション クラウド基盤本部の吉川拓哉です。「Cybozu.comクラウド基盤の全貌」と題して私たちが運用している基盤を連載形式で紹介することになりました。第1回となる本記事はイントロを兼ねたサイボウズのクラウド基盤の概要説明です。 サイボウズ…

nginxのproxy_cache_lockと謎の500ms

はじめに Cloud Platform部のpddgです。2024年もサマーインターンシップを開催し、プラットフォーム(自社基盤)コースとして2名の方を受け入れました。 昨年の様子は以下からご覧いただけます。興味があれば是非ご覧下さい。 blog.cybozu.io 今回は受け入れ…

サービスのパフォーマンステストがうまくいかないときに確認すべきポイント

この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤 Stage) DAY 14 の記事です。 クラウド基盤本部 Cloud Platform 部の新井です。 Cloud Platform 部では現在、現行クラウド基盤上で動作している製品を、Kubernetes ベースの新基盤に移行させるための様…

そのメール、本当に届いてる?Amazon SESの運用で得た監視プラクティス

こんにちは、kintone.comのバックエンドエンジニアをしている@ueokandeです。 いきなりですが、メールって難しいですよね。 普段HTTPに慣れていると、メール周りのプロトコルの理解は難しく、トラブルにも見舞われることも少なくないです。 またメールプロト…

サイボウズサマーインターン2021 報告 〜 Kubernetes基盤開発コース

こんにちは、Necoチームの鈴木、石井、そしてストレージチームのsatです。 サイボウズは毎年サマーインターンシップを開催しています。去年に続き、今年もCOVID-19の影響でフルリモート開催でした。 インターンには様々なコースがありますが、本記事ではその…

インフラのリリース自動化戦略とその行き着く先

こんにちは、@ueokandeです。 本番リリースってドキドキしますよね。 本日はkintone.comのリリース自動化と、その戦略についてお話します。 kintone.comのCI/CDパイプライン kintone.comのインフラ構成はモノレポで管理しており、AWSの構成や、Kubernetes上…

SLO策定とアラート設定までの長い道のり

こんにちは、@ueokandeです。早速ですが、皆さんが運用しているサービスには、SLO (Service-level objective: サービスレベル目標) がありますか?アラートの監視項目はどのように設定して、基準値をどのように決めていますか? 社外とのコミュニケーション…

複雑怪奇な nginx を Go と Docker でユニットテストする

全国の nginx 職人のみなさま、こんにちは。野島(@nojima)です。 私の所属するYakumoプロジェクトでは、nginx を Go と Docker によってユニットテスト1しています。 手元で簡単に実行でき、ブランチへのpushのたびにCIでテストされるので、非常に便利です。…

ストレージオーケストレーターRookへのサイボウズのコミット方針

はじめに こんにちは、Necoプロジェクトのsatです。 NecoではKubernetes上のアプリケーションが使うストレージをCephによって提供すること、およびCephクラスタの管理にKubernetes上で動作するストレージオーケストレーターRookを使うことを決めています。本…

Go 製ソフトウェアでメモリ使用量の多い関数を特定する

みなさんこんにちは.SRE チームの内田(@uchan_nos)です. この記事では Go 製ソフトウェアのどの関数がどれだけメモリを消費しているかを調べる方法を説明します. Go 製ソフトウェアのヒープメモリの消費量を調べる方法はたくさん解説されているものの,…

Neco のネットワーク - 実装編

Neco プロジェクトの ymmt です。Neco は cybozu.com のインフラを刷新するプロジェクトで、先日は全面的に見直したネットワークのアーキテクチャと設計をご紹介しました。 blog.cybozu.io 簡単にまとめると、spine-leaf ネットワークを実現するにあたって、…

ルーティングソフトウェア BIRD の使いかた

Neco プロジェクトの ymmt です。本記事では Neco のネットワークの実装を理解するために、ルーティングソフトウェアである BIRD の仕組みと設定方法を解説します。 公式文書がすこしとっつきにくいので、こちらを読んでから公式文書にあたるとスムーズに理…

データセンター内で使う BGP の基礎知識

Neco プロジェクトの ymmt です。本記事では Neco のネットワークの実装を理解するために必要となる範囲で Border Gateway Protocol (BGP)の基礎知識を解説します。 BGP はインターネット全域の経路制御に使われているプロトコルで、非常に複雑なルーティン…

さようなら ImageMagick

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成…

Necoのネットワーク - アーキテクチャと設計編

こんにちは。「Neco」の @ueokande です。 サイボウズでは、cybozu.comのアーキテクチャ刷新プロジェクト「Neco」を実施してます。 その思いについては以下の記事からどうぞ。 アーキテクチャ刷新プロジェクト「Neco」の紹介 運用本部長を退任して Neco プロ…

ファイルシステムサイズの拡張時にデータベースアクセスがスローダウンする問題の解決

はじめに こんにちは、技術顧問のsatです。 サイボウズでは、ファイルシステムサイズ拡張時にデータベースアクセスがスローダウンするという問題に長年悩まされてきました。本記事では運用本部の藤田と深谷がこの問題を解決した流れについて報告いたします。…

CoreOS Container Linuxにおいてリアルタイムプロセスを実行できない問題

はじめに こんにちは、技術顧問の武内です。 本記事はサイボウズの次期インフラ開発チーム(Necoチーム)が遭遇した、CoreOS Container Linux (以降 CoreOS)においてリアルタイムプロセスを実行できないという問題について、次のようなことを記載したものです…

EPYCマシンの検証(3) - ビルドマシンとしての実力を見る

はじめに 技術顧問のsatです。EPYCマシンの検証についての3回目の記事です。前回の記事はこちらです。 今回はこのマシンのビルドマシンとしての実力を見てみます。これまでの記事と異なり、手元にあったXeonのマシンとの性能比較をしています。

EPYCマシンの検証(2) - NUMAノードをまたぐメモリアクセス速度

はじめに 技術顧問のsatです。前回に引き続き、EPYCマシンの検証についての話をします。手元のEPYCマシン(Super Micro AS-1023US-TR4)はNUMAアーキテクチャ(後述)を採用してます。今回はこのマシンにおけるNUMAノードをまたいだメモリアクセスに関するデータ…

サイボウズのログ基盤 2018年版

こんにちは。アプリケーション基盤チームの @ueokande です。 今日は、サイボウズの新しくなったログ基盤についてお話しします。

EPYCマシンの検証 (1)- SEGV問題の発生有無

はじめに 技術顧問のsatです。サイボウズはAMDの最新サーバ用プロセッサEPYCを搭載したマシンを最近購入しました。EPYCは各種技術サイトのベンチマークにおいて優れた性能を示しているにもかかわらず、同プロセッサを搭載する製品が少ないこともあり、現物に…