タグ

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

  • Neco の宣言的なサーバー全台再起動の仕組み - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Neco チームの 阪上 です。皆さんは Kubernetes クラスタのマシン全台の再起動オペレーションに丸一日かかったことはありますか? 手順を確認して雑談するだけで時間が過ぎて行く…穏やかですが、物足りなさも感じます。 そこで今回は、Kubernetes クラスタのサーバー全台を自動で宣言的に再起動する仕組みについて解説したいと思います。 背景 サイボウズでは自社データセンターでアプリケーションを運用するために Neco というインフラ基盤を開発しています。 ベアメタルで k8s クラスタを運用していると、ファームウェアの更新やセキュリティ対応のため、クラスタの全てのマシンを再起動したいことがあります。 しかしサイボウズのクラウド基盤 cybozu.com はメンテナンスを除いて 24 時間 365 日無停止での稼働が前提のため、再起動のためにサービスを停止することはでき

    Neco の宣言的なサーバー全台再起動の仕組み - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2020/12/30
  • TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    TCPとタイムアウトと私 - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2020/06/26
  • npmとyarnの脆弱性とpostinstall - Cybozu Inside Out | サイボウズエンジニアのブログ

    フロントエンドエキスパートチームの小林(@koba04)です。 先日、npmから脆弱性についての発表がありました。 調べていく中でいくつか思うところがあったので解説も兼ねて書いていきたいと思います。 The npm Blog — Binary Planting with the npm CLI npmの利用者としてやるべきことは、 npmのバージョンを6.13.4以上にあげる yarnのバージョンを1.21.1以上にあげる です。 npmのバージョンが6.13.4になったNodeもv8, v10, v12, v13系でそれぞれリリースされたので、そちらを利用することも可能です (yarnのバージョンは別途あげる必要があります)。 nodejs.org npmによる発表では、今回発表された脆弱性は2件あるため、それぞれ個別に考えます。 binに任意のパスを指定出来る件 npmパッケージはpa

    npmとyarnの脆弱性とpostinstall - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2019/12/23
  • MKL-DNNで学ぶIntel CPUの最適化手法 - Cybozu Inside Out | サイボウズエンジニアのブログ

    初めに サイボウズ・ラボの光成です。 DNN(deep neural network : 深層学習)といえばGPUや専用プロセッサを使うのが主流です。 しかしIntelはCPUで高速にDNNをするためのライブラリ MKL-DNN を提供しています。 MKL-DNNはIntelの最新CPUに対応したオープンソースソフトウェアなのでコードを見ると勉強になります。 ここではMKL-DNNで使われているテクニックをいくつか紹介します。 概要 MKL-DNNの紹介 Xbyakの紹介 呼び出し規約 圧縮displacement ReLU exp 内積 vpdpbusd キャッシュコントロール 想定読者 C++11とx64 CPUのアセンブリ言語の知識をある程度仮定します。 機械学習についてはその知識がなくても最適化手法が理解できるよう、最小限の説明をします。 MKL-DNNの特長 まずMKL-DNNの

    MKL-DNNで学ぶIntel CPUの最適化手法 - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2019/04/22
  • 組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、最近愛媛から広島に移住した組織運営チームの水戸です。 2019年からサイボウズの開発部から職能・地域毎に分かれた部署がなくなり、チーム主体の組織になりました。 組織変更をオープンに議論するというチャレンジングな試みの中で、新組織の理想はユーザー価値の最大化に定まり、個人やチームがより主体的に動ける組織構造に変わりました。 この記事では私がファシリテートを担当した組織変更をご紹介します。 開発部の状況 開発部の役割は製品を開発することです。 2018年までの開発部はマトリクス組織を採用しており、プロダクト開発チームには様々な職能・地域毎に分かれた部署のメンバーが所属していました。 この組織構造は事業の中心がオンプレミスだった10年以上前から、事業の中心がクラウドに移った2018年に至るまで変わっていません。 一方、プロダクト開発チームに求められるものは大きく変わりました。

    組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2019/02/13
  • さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。 一般的な Web アプリケーションがそうであるように、サイボウズのグループウェアにも画像をサムネイルで表示する機能があります。サイボウズでは日々数万件やそれ以上のサムネイルを生成しており、それらは全て ImageMagick によって生成されていました。 そこで得た知見はこちらの記事で公開されています。 blog.cybozu.io しかし現在、サイボウズから ImageMagick は消え去りました。その理由と、我々が取った代替手段について紹介します。 ImageMagick を外した理由 言うまでもなく ImageMagick は優秀なツールで、画像変換に関する何らかのサービスやツールを作る場合には採用の第一候補になることでしょう。あらゆる画像フォーマットに対応し、出力画像をきめ細かに制御できる膨大なオプシ

    さようなら ImageMagick - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2018/08/21
  • 自動障害回復システム 月読の話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。短い夏休みから帰ってきました。 今回は cybozu.com のデータセンターで運用を開始した自動障害回復システム「月読」を紹介します。障害にも色々ありますが、今回紹介するのは仮想マシンのホストサーバーの物理障害を検出して、稼働していた仮想マシンを予備のホストに移動する仕組みです。 月読は、データセンター全域に分散したエージェントが協調動作するピア・ツー・ピア (P2P)システムとして作られています。以下分散システムの話題が多数でてきますが、とても難解というわけではないので、分散システムの入門記事としてお楽しみください。 障害にどう対処するか 障害対応の自動化 設計のポイント エージェント間通信 障害の検出と回復 その他の機能 まとめ 障害にどう対処するか 物理障害対策の基は二重化(多重化)です。アプリケーションサーバーのようにデータを持たないサーバ

    自動障害回復システム 月読の話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2016/02/13
  • 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 | サイボウズエンジニアのブログ
    you21979
    you21979 2015/11/20
  • cybozu.com 稼働状況 を React/Redux で作り直した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。Sales Systemチームの金子です。Sales Systemチームでは、cybozu.com Store や、販売管理システム等の開発をしています。 このエントリでは、cybozu.com 稼働状況のフロントエンドReact/Reduxで作り直した話を書いていきます。「React/ReduxでWebアプリケーションを作ってみようと考えている人」を対象としています。 TOC 「cybozu.com 稼働状況」とは? 作り直した背景 技術概要 React/Fluxについて React/Redux Routing Resources Async Multilingualization/Localization ES6 Utility Lint Testing 取り組んでみた感想 まとめ 「cybozu.com 稼働状況」とは? クラウドサービスはサービスの稼働状況をステータス

    cybozu.com 稼働状況 を React/Redux で作り直した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2015/11/09
  • 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 | サイボウズエンジニアのブログ
    you21979
    you21979 2015/09/20
  • 完璧な監視システムの作り方 in cybozu.com - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、Hazama チームの萩原(@hagifoo)です。 ハードウェアは故障し、ソフトウェアにはバグがあり、運用ではミスがおきるもの。もちろん、障害が発生しないのが理想ですが人間が作ったものに完璧はありません。そこで、障害の前兆や発生を捉え、その詳細を運用チームに知らせるための監視システムが必要となります。cybozu.com でも以下のようにありとあらゆるものを監視するシステムを構築し日夜監視を行なっています。 今回は、そんな cybozu.com の監視(モニタリング)システムについてお話しします。 cybozu.com と障害 監視システムの設計 3つの監視 外形監視 症状監視・リソース監視 ログ監視 その他の監視 モニタリングフレームワーク 誰が監視者を監視するのか? まとめ cybozu.com と障害 まずは、監視対象である cybzou.com について説明します。

    完璧な監視システムの作り方 in cybozu.com - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2013/10/28
  • Ubuntu 12.04 への移行資料 - Cybozu Inside Out | サイボウズエンジニアのブログ

    日頃の作業はもっぱら Ubuntu 上で行っている山泰宇です。 ご存知の方も多いと思いますが、Ubuntu は Canonical Ltd. で開発されている Linux ディストリビューションです。Debian Gnu/Linux をベースにしていますが、必ず2年に一度の長期サポート版(LTS)をリリースしてくれるので、安定して運用していくにはありがたい存在です。 その LTS ですが、最新は去年4月にリリースされた Ubuntu 12.04 です。さらに一つ前が Ubuntu 10.04 となります。サイボウズでは Ubuntu 12.04 がリリースされた去年の4月から9月まで半年をかけて、Ubuntu 10.04 のシステムを 12.04 に移行しました。移行プロジェクトについては機会があれば別に書こうと思います。 今回は、移行作業の過程で作成した調査資料を公開します。 資料は別

    Ubuntu 12.04 への移行資料 - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2013/01/25
  • 超速で開発・リリースするための6つのこと - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー」の8日目です。ちょうど真ん中まできました(これまでの記事一覧)。 こんにちは。kintone 開発チームの刈川です。いきなりですが、皆さんはどのくらいの頻度でアプリやサービスをリリースしていますか? 1週間? 1ヶ月? 1年? 規模によると思いますがクラウドサービスではリリースのスピードが大事です。せっかくいいアイデアを思いついたのに、それを実現するまでに果てしない時間と労力がかかるとしたら…。ユーザの意見を取り入れるまでに半年も一年もかかっていたのでは、ユーザは他サービスに移ってしまうかもしれません。そこで今回は、私たち kintone チームが取り組んでいる「スピーディな開発・リリース」のための手法を簡単に紹介したいと思います。 アイデアを形にする アイデアというのは形にするまでがゴールです。開発現場ではこのことをリリースと呼び、リリースをするまでに

    超速で開発・リリースするための6つのこと - Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2012/12/12
  • Cybozu Inside Out | サイボウズエンジニアのブログ

    2024-07-13 QA Gathering Day 2024年7月 の開催レポート 〜社内のQAエンジニアの横のつながりを強化するために〜 QA 社内イベント 文化 こんにちは!2024年新卒入社したQAエンジニアの水谷です!先日サイボウズ東京オフィスで開催された「QA Gathering Day 2024年7月」の開催レポートを公開します。 「QA Gathering Day」は、サイボウズのQAエンジニア系の職能のメンバーが集まる社内イベントで… 2024-07-10 プロダクトを良くしたい人 アジャイル スクラム モバイル こんにちは。 kintoneAndroidチームに所属している向井田 (@mr_mkeeda) です。 私は元々Androidエンジニアですが、最近まで自チームの抱えている問題意識と向き合うためにスクラムマスターを兼務していました。 今回のブログは、サイボウ

    Cybozu Inside Out | サイボウズエンジニアのブログ
    you21979
    you21979 2012/11/12
  • 1