ブックマーク / blog.cybozu.io (14)

  • サイボウズではミドルウェアエンジニアも活躍しています - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 先日、エンタープライズジン様の記事で、弊社の名前が挙がっていました。 井上 まあ、ミドルウェアに詳しい人間もいないと。ミドルウェアだけじゃないですけど、やっぱりアプリケーションベンダーも、我々もそうですし、サイボウズさんとかだって、ある程度ミドルウェアに詳しい人は一定数必要じゃないですか。そういう意味でいうとポジションはあるかなって。 神林 それはあるかなあ。研究所ですよね。サイボウズだったらサイボウズラボですよね、結局。 http://enterprisezine.jp/dbonline/detail/8770?p=6 この意見について、サイボウズではミドルウェアエンジニアも活躍しているという紹介をさせていただきます! まず初めに、サイボウズとサイボウズ・ラボの関係について紹介します。サイボウズは cyboz

    サイボウズではミドルウェアエンジニアも活躍しています - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/12/21
    たくさん作ってますよ。
  • Go でいい感じのコマンドを作れるツールキットの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    SRE の @ymmt2005 です。最近は systemd が好物です。 今回は GitHub でサイボウズが公開している Go 言語のプロジェクト群、特にいい感じのコマンドを作れる github.com/cybozu-go/cmd について紹介します。 SRE チームでは最近 Go でツールを開発する機会が多くなっています。最初のうちは決まった作り方をしていなかったため、コマンドごとに仕様がばらばらで、以下のような問題がでてきました。 REST API サーバーのアクセスログを記録しないコマンドがある 外部コマンド実行時のログを記録しないコマンドがある SIGTERM 等シグナル処理の方法がばらばら ログファイルのリオープンができずローテートしにくい ログメッセージの形式がばらばら 大雑把にいうと、ログとシグナル処理がきちんとしてないと扱いにくいわけです。 具体的にどうなっていると「い

    Go でいい感じのコマンドを作れるツールキットの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/09/02
  • Elasticsearch 5.0.0で再インデクシングの高速化を探求する - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの渡辺です。IntelliJのコード補完はCtrl+;にバインドしています。 アプリケーション基盤チームでは、Necoプロジェクト(アーキテクチャ刷新プロジェクト)の一環として、 次世代の検索基盤を検討していて、その候補としてElasticsearchを調査しています。 先月の記事で再インデクシングと絡めてingest pluginの話をして、 びっくりするぐらい需要が低く、自分のテーマ選択のセンスのなさを痛感したのですが、 こじらせた感じで今日も再インデクシングの話をしたいと思います。 想定読者は、Elasticsearchにある程度慣れている方として、用語やAPI(インデックス, シャード, ScrollAPI, BulkAPIなど)の説明は最小限にします。 利用したElasticsearchのバージョンは5.0.0-alpha4です。2.X系だと

    Elasticsearch 5.0.0で再インデクシングの高速化を探求する - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/08/18
  • サマーインターン2016を開催します! - Cybozu Inside Out | サイボウズエンジニアのブログ

    皆さんこんにちは!人事部の中江です。 日はサイボウズのエンジニアサマーインターンシップについてご案内させていただきます! 今年は3つのコースを用意しています。 Webアプリケーション開発コース 品質保証/セキュリティコース デザイナーコース 皆さんのエントリーお待ちしています!サイボウズでこの夏熱い5日間を過ごしましょう!! 募集要項 日時 08月01日(月) 〜 05日(金) ※ この回のみ最終日の終了時間がお昼過ぎとなります 08月22日(月) 〜 26日(金) 09月05日(月) 〜 09日(金) 就業時間 9:00 〜 18:00 ※ 初日は10時集合、最終日は懇親会を実施するため20時〜21時頃解散となります 会場 東京オフィス 大阪オフィス 松山オフィス コース Webアプリケーション開発コース (東京・大阪・松山) 品質保証/セキュリティコース (東京・大阪) デザイナーコ

    サマーインターン2016を開催します! - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/06/01
  • サイボウズエンジニアの職場環境 @ 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    泰宇(@ymmt2005)です。今回はサイボウズエンジニアの働く環境を詳細にご紹介します。 働く場所 働く時間 机・椅子・PC 社内情報システム 開発用ソフトウェア 開発用共有サーバー 勉強や研修の機会 制度と風土 オープンソース活動 働く場所 サイボウズの開発拠点は現在国内外に 5 箇所あります。 東京(東京日橋タワー) 大阪(梅田阪急ビルオフィスタワー) 松山(あいおいニッセイ同和損保 松山三番町ビル) 上海 ベトナム オフィスで働くのが基ですが、サイボウズには自分の好きな時間・場所で働けるウルトラワークという制度があるので、自宅や実家で働くことも可能です。どの程度可能かというと、 Amazon から宅配便が届くから、 雨・雪が降っているから、 電車が混んでいて乗りづらいから、 急に子供が熱を出したから、 といった様々な理由で、連絡一ついれれば在宅勤務できます。後述する社内情報

    サイボウズエンジニアの職場環境 @ 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/05/23
    Neco ではいけてないところを晒したので、今度はいけてる職場環境を紹介することにしました。
  • NAT をやめて、透過 SOCKS プロキシを導入した - Cybozu Inside Out | サイボウズエンジニアのブログ

    以下の記事内容について、奥一穂氏(@kazuho)より、「connectのエラーコードが信頼できなくなるといった欠点もあるのに透過 SOCKS プロキシが汎用的に良いように読めてしまう」というご指摘をいただきました。確かに、下記内容は当社が抱えていた複数の課題を短期間で解消できる「ワークアラウンド」として透過 SOCKS プロキシという技法もあることを紹介したものであり、NAT と比較して常に良いという主張をしたかったわけではありません。また、記事内では解説を省きましたが、従来より HTTP(S) 通信は NAT ではなく HTTP プロキシを利用しています。謹んで補足・訂正とさせていただきます。 が好きだけどアレルギーで近寄ることができない山泰宇です。 先日アーキテクチャ刷新プロジェクトNeco」を紹介しましたが、今回はその活動の一環として実施したネットワークアドレス変換(NAT

    NAT をやめて、透過 SOCKS プロキシを導入した - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/03/14
    >特にルーティングの設定をする人とアプリ層の人が違う iptables ではなく transocks (ないし各SOCKS対応プログラム)がどの SOCKS サーバーを使うか選択できるという意味です。デフォルトゲートウェイからの解放。
  • アーキテクチャ刷新プロジェクト「Neco」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山です。 今回は開発部と運用部のメンバーが協力して進めている cybozu.com やサイボウズ Live のアーキテクチャ刷新プロジェクトNeco」について紹介します。 Neco を 3 行で説明すると、 サイボウズのクラウドインフラのいけてないところを洗い出して、 5 年程度を目安に改善するつもりだけど、 やりたいことが多すぎるので、We are hiring! で済んでしまうのですが、それだけでは面白みに欠けますので、いけてない内実を暴露しながら解説いたします。 サイボウズはクラウド 5 年生 正確に言うとサイボウズ Liveなど一部のサービスはもっと以前から取り組んでいたのですが、格的にクラウドサービスといえるインフラを構築してサービス提供を開始したのは今から 4 年前の 2011 年 11 月となります。そこでオープンしたのが cybozu.co

    アーキテクチャ刷新プロジェクト「Neco」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/03/11
    セルクマ。いけてないサイボウズというか、等身大を伝えたくて書きました。
  • 半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 今回は原因究明に半年以上かかったバグ調査の紹介をいたします。 弊社はクラウドサービスcybozu.comを提供しています。 クラウドサービスでは障害対策のためのデータバックアップやレプリケーションが必須です。 現在ラボの星野がメイン、私はサブとして弊社サービスでの利用を目指した次期バックアップシステムWalB(GitHub)を開発しています。 WalBは、ファイルシステムとdiskの間に入ってIOを全て記録するブロックデバイスとIOのログを管理するツールからなるシステムです。 詳細はリンク先をごらんください。 発端 去年はラボ内の開発環境でテストを進め、社でテスト運用を開始するのが目標でした。 ところがラボでテストを開始して4カ月後の2015年4月、不正なlogpackが検出されました。 logpackとはWalBで用いられるデータフォーマットの一つです。

    半年かかったバグ調査の顛末は - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2016/01/08
    星野さん超苦労してた。本番投入も間近かな。
  • TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ

    部長や副部長もプログラミングを(たまに)することで有名なサイボウズの運用部長、山泰宇です。 有名じゃないかもしれませんが、ブログに書いたので有名になるということでご了承ください。 今回は、先日発生した yrmcds に起因する障害の原因と対策を解説します。 yrmcds というのは、サイボウズが開発している memcached 互換のキーバリューストレージです。 問題の理解のため、まず TCP 通信で、通信先の相手の障害にどう対応するか解説します。 データの送信中に相手が落ちるケース このケースはさらに二つに分かれます。 相手の OS は生きているが、通信しているプログラムが落ちるケース 相手の OS ごと(あるいはネットワークごと)落ちるケース 1 と 2 の違いは、前者の場合 RST パケットが返ってくるのに対して、後者ではなにも返ってこない点です。後者の場合、ack されない

    TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2015/11/26
    「本部長や副本部長もプログラミングを(たまに)することで有名なサイボウズ」
  • クラウドサービスのセキュリティ対策について講演しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    cybozu.com の運用や、サイボウズ社内の情報システムの運用を担当している山泰宇です。 先日開催された cybozu.com カンファレンスにて、「正しく恐れるクラウドのセキュリティ」と題して、cybozu.com をはじめとするクラウドサービスのセキュリティ対策について講演しました。その講演資料を公開していますので、ブログでも紹介いたします。 docs.com 一般に、企業が利用する情報システムは個人向けのものと比較すると、高いレベルのセキュリティを要求されます(情シスとしての立場から言えば、要求します)。ただ、セキュリティと一口に言ってもその意味するところは非常に広いため、どのようなリスクに、どの程度対応するかを決めていくプロセスが欠かせません。 講演資料では割愛しましたが、実際にセキュリティ対策を考える上では、セキュリティリスクを列挙し分析したあと、必要な対策に優先順位をつけ

    クラウドサービスのセキュリティ対策について講演しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2015/11/25
  • nginx の設定をレビューするときの観点をまとめてみた - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。 インフラチームの野島(@nojima)です。 チームのメンバーに nginx の設定について気をつけるべき点を共有するために、レビュー観点を書きました。 せっかくなのでここで公開します。 ほとんどの項目は自分やチームのメンバーの実体験に基いています。 レビュー観点 server server_name が他のやつと被っていないか。 listen する IP アドレスが同じ場合、server_name で区別できないといけない。 TLS を使う場合、SNI をサポートしないクライアントでは TLS 用の設定が default_server のものが使われる点にも注意。 TLS を使う場合、listen ディレクティブに ssl オプションを書いているか。 location location のマッチの順番に注意 正規表現の location は前方一致の location より

    nginx の設定をレビューするときの観点をまとめてみた - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2015/11/20
  • Python3.4 の新機能 asyncio を使ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ

    泰宇です。こんにちは。 運用部では最近 Python3 への移行を進めています。そちらの話は別途ご紹介する予定ですが、今回は Python3.4 で追加された asyncio モジュールの使いかた(というか落し穴)を解説します。先に結論を書いておくと、Python3.5 の改良を待つのが吉という話です。 サンプルとして複数の SSH を一斉に呼び出してうまいこと処理してくれる passh を GitHub で公開しています。実際に社内で利用しているものをデチューンして使いやすくまとめたものです。 題の asyncio ですが、Python3 で非同期 I/O 処理を実現するために追加されたイベント駆動処理のフレームワークです。最初に書いておきますが、以下で言及する難ありな点のいくつかは Python3.5 で改良される予定のようです。[PEP-0492, PEP 492 vs. P

    Python3.4 の新機能 asyncio を使ってみる - Cybozu Inside Out | サイボウズエンジニアのブログ
  • nginx の拡張モジュールを書いて DoS 対策をした - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。インフラチームの野島です。 最近、cybozu.com はロードバランサを Apache から nginx に置き換えました。 (参考: cybozu.com のリバースプロキシを nginx にリプレイス) 置き換えの一環として、Apache に実装していた DoS 対策の仕組みを nginx の拡張モジュールにする形で移植しました。今回、この拡張モジュール nginx-maxconn-module を OSS として公開しましたので紹介します。 背景 DoS 対策 秒間リクエスト数 v.s. 瞬間同時リクエスト数 実装方針 nginx-maxconn-module 基的な使い方 高度な使い方 インストール おわりに 背景 題に入る前に、cybozu.com において、HTTP リクエストがどのように処理されているかを説明します。 cybozu.com では、負荷分散のた

    nginx の拡張モジュールを書いて DoS 対策をした - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2015/02/25
    標準の limit_req は統計値だけど、maxconn は同時接続をリアルタイムに計測する仕組みなので、バックエンドサーバーへの接続数管理に向きます。
  • cybozu.com のリバースプロキシを nginx にリプレイス - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。インフラチーム Hazama の深谷です。 デブサミ 2015 で、cybozu.com の自社製リバースプロキシを全面的に再実装した話をしてきました。 今回は、そちらの資料を紹介いたします。 cybozu.com ではお客様ごとに異なるサブドメイン(ex. demo.cybozu.com)を用意しています。サブドメイン方式には、お客様ごとに異なる IP アドレス制限をかけられるとか、Same-Origin-Policy のため安全に JavaScript でカスタマイズができるといった利点があります。 このサブドメインを実現しているのは、従来 Apache で実装されたリバースプロキシでした。しかし、この時の実装はサブドメインごとに異なる VirtualHost を定義する方式で、お客様サブドメインの数に比例して Apache の設定を変更する時間が伸びていくというものでした

    cybozu.com のリバースプロキシを nginx にリプレイス - Cybozu Inside Out | サイボウズエンジニアのブログ
    ymmt2005
    ymmt2005 2015/02/20
    複数 Nginx 間でSSL セッションキャッシュを共有するモジュールや、DoS 対策モジュールについても後日解説・公開を予定
  • 1