インフラ

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は各種技術サイトのベンチマークにおいて優れた性能を示しているにもかかわらず、同プロセッサを搭載する製品が少ないこともあり、現物に…

@lestrrat 氏に Kubernetes を教えてもらいました

@ymmt2005 こと山本です。SRE とかやってます。 サイボウズでは「Neco」という、クラウド基盤のアーキテクチャを刷新するプロジェクトを進めているのですが、今回は @lestrrat こと牧大輔さんをお招きして Kubernetes の導入を検討しはじめた話です。 当日の…

サイボウズではミドルウェアエンジニアも活躍しています

こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 先日、エンタープライズジン様の記事で、弊社の名前が挙がっていました。 井上 まあ、ミドルウェアに詳しい人間もいないと。ミドルウェアだけじゃないですけど、やっぱりアプリケーション…

SRE チームを設立します

運用本部長を務めている山本泰宇です。 運用本部は社内の情報システムを担当する情報システム部と cybozu.com など自社クラウドサービスを運用するサービス運用部からなる部門です。 本日、サービス運用部にて SRE チームを設立しました。この記事ではチーム…

社内利用のための deb パッケージング入門

こんにちは。@nojima です。 最近、社内のアーティファクトの deb 化を推進しています。 Building Microservices でも紹介されているように、deb は apt-get install でインストールできたり、依存関係を自動で管理できたりするため、単純な tar.gz を使うよ…

nginx ちょっと不思議だったリクエストリトライのお話

こんにちは、Sustain チームの山口です。 今サイボウズリモートサービスというVPN・中継サービスで使用する L7LB を nginx に移行しようといろいろ調査をしています。 nginx をリバースプロキシとして使用する際に少々障害となる動作があり、それに関するア…

NAT をやめて、透過 SOCKS プロキシを導入した

以下の記事内容について、奥一穂氏(@kazuho)より、「connectのエラーコードが信頼できなくなるといった欠点もあるのに透過 SOCKS プロキシが汎用的に良いように読めてしまう」というご指摘をいただきました。確かに、下記内容は当社が抱えていた複数の課題…

ブロックデバイスのクラッシュ模擬ツールcrashblk の紹介

こんにちは、サイボウズ・ラボの星野です。 先日の記事(半年かかったバグ調査の顛末は)では、長期間苦労した不具合調査についてあっさりとまとめて頂いたので、その行間に起きたたくさんのことを思い起こし、ひとり感慨にふけっています。 (私も記事原稿をレ…

半年かかったバグ調査の顛末は

サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。

インフラ系インターンをやってみました

皆さんこんにちは。Hazama チームの内田(@uchan_nos)です。 かなり前の話になってしまいますが、サイボウズでは 8/17 から 1 週間、開発系のインターンシッププログラムを実施しました。 アプリ開発や品質保証のコースに加えて インフラコース があったの…

TCPとタイムアウトと私

本部長や副本部長もプログラミングを(たまに)することで有名なサイボウズの運用本部長、山本泰宇です。 有名じゃないかもしれませんが、ブログに書いたので有名になるということでご了承ください。 今回は、先日発生した yrmcds に起因する障害の原因と対…

nginx の設定をレビューするときの観点をまとめてみた

こんにちは。 インフラチームの野島(@nojima)です。 チームのメンバーに nginx の設定について気をつけるべき点を共有するために、レビュー観点を書きました。 せっかくなのでここで公開します。 ほとんどの項目は自分やチームのメンバーの実体験に基いて…

conntrack がロードされたサーバで LVS-DR を構成する場合の注意点

こんにちは。インフラ開発チームの深谷です。 Linux の conntrack モジュールがロードされたサーバーで、レイヤー4 (L4) ロードバランサを LVS-DR で構成したところ、 パケットフィルタが正常に働かず、通信はできるものの、一部のパケットは落ちるという挙…

Etsyを支えるパフォーマンスアラートの技術 ~Velocity Conference 2015レポート #1~

こんにちは!kintone 開発チームの田中裕一(@yuichielectric)です。 O'Reilly Mediaがサンタクララで開催したVelocity Conference 2015に僕と佐藤鉄平(@teppeis)の2人で参加してきました。これから何回かに分けてそれぞれが面白いと思ったセッションの内容を…

yrmcds 1.1.1 + libyrmcds 1.2.0 をリリースしました

最近はもっぱらオフィスの引っ越し作業で忙しくている山本泰宇です。 ブログを書くのも久しぶりなら、yrmcds についてお知らせするのも1年ぶりになってしまいました。 ご存じない or 忘れた方も多いと思いますので改めて紹介すると、yrmcds はサイボウズで…

nginx の拡張モジュールを書いて DoS 対策をした

こんにちは。インフラチームの野島です。 最近、cybozu.com はロードバランサを Apache から nginx に置き換えました。 (参考: cybozu.com のリバースプロキシを nginx にリプレイス) 置き換えの一環として、Apache に実装していた DoS 対策の仕組みを nginx…

cybozu.com のリバースプロキシを nginx にリプレイス

こんにちは。インフラチーム Hazama の深谷です。 デブサミ 2015 で、cybozu.com の自社製リバースプロキシを全面的に再実装した話をしてきました。 今回は、そちらの資料を紹介いたします。 cybozu.com ではお客様ごとに異なるサブドメイン(ex. demo.cyboz…

ggplot2でWebサーバのレスポンスタイムをざっくり可視化する方法

ドーモ、親愛なる読者のみなさん。うんようチームです。 というアイサツをしたいがために、ブログ書きます!と名乗り出てしまった運用本部の湯谷(@yutannihilation)です。今回は、R Advent Calendar 2014 9日目の記事として、Webサーバのレスポンスタイム…

MySQL 5.6 で loss-less semi-sync レプリケーション

こんにちは。運用本部 Hazama チームの深谷です。 今回は MySQL 5.6 で loss-less semi-sync レプリケーションを実現するパッチについて紹介します。

cybozu.com のラック設計

こんにちは。運用本部の大野です。 今回はいつもと趣向が異なる物理インフラのお話。弊社 cybozu.com を運用するデータセンターで行った、ラック設計について一部紹介したいと思います。