タグ

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

  • 障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ

    8月だというのに涼しい日が続きますね。 kintone.comのDevOpsをしている@ueokandeです。 もうすぐAWSkintoneのローンチからから2年が経過しようとしています。 この2年間、DevOpsチームではkintone.comのサービス安定化やスケーラビリティに注力してきました。 時には番環境の障害で休日や深夜に障害対応することもあります。 kintone.comの障害の一次対応は、我々DevOpsメンバーが実施しています。 サービスローンチ直後は、メンバーの多くがオンコールに不慣れで、慌てて障害対応したりうまく進められないことが何度もありました。 そこでメンバー全員が効率的・効果的な障害対応を目指すべく、チームでPagerDuty社のIncident Response(非公式日語訳版)を読むことにしました。 この記事ではAWSkintoneで実際に体験した障害

    障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2021/08/19
  • MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームの飯塚です。 私たちは cybozu.com 番環境の MySQL を昨年末から順次 8.0 系へアップグレードしており、前回の定期メンテナンスにおいて全てのインスタンスのアップグレードを完了しました。この記事では、私たちが MySQL 8.0 への移行に取り組んだ理由と必要になった対応について紹介します。 なぜ MySQL 8.0 へ移行したのか GTID-based レプリケーションにおける制限の緩和 再起動時に AUTO_INCREMENT のカウンタが巻き戻る問題の解消 実際に対応が必要だった MySQL 8.0 の変更点 utf8mb4 の照合順序のデフォルト値の変更 SQL_CALC_FOUND_ROWS と FOUND_ROWS() が deprecated に Connector/J のメタデータ取得処理の性能低下 sys.innodb_lo

    MySQL 8.0 への移行が完了しました ~さようなら全ての MySQL 5.7~ - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2021/05/25
  • ドキュメントの文章校正には、textlintが便利 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは! 開発部 テクニカルコミュニケーションチーム(以下、TCチーム)の原嶋です。 さてさて。 みなさん、ドキュメントの文章校正(以下、校正)ってどんな風にやっていますか? 目視チェックでバッチリだぜ!という方も もちろんいると思うのですが、チェックポイントが多いと指摘が漏れてしまいがちですよね。そして、会社の公式文書となれば、チェックポイントはあれもこれもと山のようになります。 TCチームでも長年 校正に頭をかかえていましたが、textlint と+αのツール を使って、校正の悩みを解決しました。 今回はその経緯をお話させてください。 校正って確認する項目がたくさん TCチームでは、サイボウズ製品のユーザーサポートコンテンツ(ヘルプやリリースノートなど)を作成しているのですが、 それらのコンテンツは会社の公式文書なので、毎回の校正でチェックする項目が多々あるんです。 校正おわったー

    ドキュメントの文章校正には、textlintが便利 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2020/09/13
  • 組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    組織変更したら部長がいなくなりました - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2019/02/13
  • プロジェクト引き継ぎのベストプラクティス、そしてアンチパターン - Cybozu Inside Out | サイボウズエンジニアのブログ

    あじさいがきれいですね。そんなことを可愛い女の子に言ってみたい。 どうも!アプリ基盤チームの@yokotasoです。 唐突ですが、プロジェクトの引き継ぎはうまく行っていますか? プロジェクトの引き継ぎを経験すると、「あのとき聞いておけばよかった…」経験あると思います。 社内でためた引き継ぎの知見を公開します!どうぞ! 開発のハードルを下げるための引き継ぎ 開発環境をコンテナ化する 人の移動が多くないプロジェクトでは、開発環境構築のドキュメントが長い間メンテナンスされないことがあります。 この手のプロジェクトを引き継ぐことになったら、最初に検討すべきは開発環境のコンテナ化です。 コンテナの内部でできるだけ作業が完結するように、依存するライブラリやパッケージはすべてコンテナの中に収めましょう。 動作確認もWebサービスであればコンテナ内にWebブラウザーをインストールし作業がコンテナ内で完結す

    プロジェクト引き継ぎのベストプラクティス、そしてアンチパターン - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2017/06/22
  • アーキテクチャ刷新プロジェクト「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 | サイボウズエンジニアのブログ
    info55
    info55 2017/03/17
  • 「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの@yokotasoです。 3月11日にBattle Conference U30 というイベントでお話をさせていただきました。 準備がてら作成したディスクリプションを公開します。 キーノートはSpeakerDeckからどうぞ!こちらも参考にしていただければ、嬉しい限りです。 では、どうぞ! 障害にすてるところなし サイボウズ株式会社の横田です。 「障害に捨てるところなし」というタイトルで少しお話させていただきます。お手柔らかによろしくお願いします。 運用障害の話 まずはじめに、今回のお話をするにあたりまして 運用障害でご迷惑をおかけしたみなさま、大変申し訳ありません。 より快適に利用いただけるサービスを目指しまして、対策・改善をおこなっております。 これからも、弊社製品をよろしくお願いいたします。 クラウドの規模と稼働率 障害の話をする前に、サイボウズの

    「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2017/03/15
  • テストエンジニアリングチームができて一年が経った話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、東京品質保証部の新関です。 2017年に入り、ちょうどテストエンジニアリングチームを設立して一年が経ちました。設立からのテストエンジニアリングチームの活動が、開発組織へどのような影響をもたらしたのか、紹介したいと思います。 テストエンジニアリングチームとは まず、テストエンジニアリングチーム(以下TE)の説明から簡単にさせてください。サイボウズのTEは『枠組みを超えて品質/生産性の向上に貢献する』をミッションに設立した、プログラマーとQAのジョイントチームになります。 テストエンジニアと組織構造 @Cybozu from Jumpei Miyata www.slideshare.net @miyajanの紹介資料にもありますが、2016年1月に3名でキックオフし、テスト自動化の推進を主に行っています。 TE設立背景は紹介資料にある通り、内部環境の変化により、品質保証への要求も変

    テストエンジニアリングチームができて一年が経った話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2017/03/10
  • そのコードに価値はあるか?kintone開発チームでスクラムトレーニングを受講しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。kintone開発チームの天野(@ama_ch)です。3ヶ月ほど前からスクラムマスターを始めました。 10/18(金)に@ryuzeeさんにサイボウズ東京オフィスにお越しいただき、kintone開発チームのメンバーでスクラムトレーニングを受講しました。 きっかけ 私が開発しているkintoneはクラウドサービスですが、サイボウズはパッケージ製品の開発でスタートした歴史があり、開発プロセスにもパッケージ時代の習慣が強く残っていました。 長大な要件リスト 実装と試験工程の分断 開発後期での手戻り etc... もちろんこれまで手をこまねいていた訳ではなく、開発チーム内では次のような活動に取り組んできました。 タイムボックス(イテレーション)を区切った開発 テスト自動化の推進 ビルドパイプラインの構築 開発者環境への継続的デリバリー ふりかえり KAIZEN DAY, KAIZEN合

    そのコードに価値はあるか?kintone開発チームでスクラムトレーニングを受講しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2016/11/08
  • サイボウズ×マネーフォワード×Goodpatch Front-end Meetupを開催しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。Sales Systemチームの金子です。5月13日(木)にサイボウズ×マネーフォワード×Goodpatch Front-end Meetupというイベントをサイボウズ東京オフィス・大阪オフィスで同時開催したので、ここで報告させていただきます。 当日の様子はこちらにまとめられています。 togetter.com サイボウズ×マネーフォワード×Goodpatch Front-end Meetupとは? マネーフォワード、Goodpatch、サイボウズの3社合同で企画したフロントエンドエンジニアを対象とした勉強会です。 企業向けサービスを提供する3社でどのようにフロントエンド技術と向き合っているかといったことを中心にそれぞれのフロントエンドエンジニアが発表するという構成でした。 サイボウズのターン presentation by @ama_ch トップバッターとして、弊社の天野(@

    サイボウズ×マネーフォワード×Goodpatch Front-end Meetupを開催しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2016/05/19
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。好きなメソッドは emptyIfNull です。 僕は、自社クラウドである cybozu.com のミドルウェアを開発するチームで働いています。具体的には、検索サービスやファイルサーバー、非同期処理用ワーカー、セッションマネージャーなどなどを提供しています。 僕がこのチームに来たのは数年前ですが、当時はバグの多いプロダクトでした。今はすべての既知のバグを直し、残存不具合件数が 0 件、つまりバグゼロな状態になりました。また、バグゼロを実現してから 2 年ほど経過していますが今もその品質を保っています。今回はこのバグゼロを実現した方法と、その後の顛末について記そうと思います。 以前のコード 数年前に提供されていたこのミドルウェア群は、はっきり言って、バグの塊のようなプロダクトでした。 当時のコードは保守性とは程遠い

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2016/05/19
  • 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 | サイボウズエンジニアのブログ
    info55
    info55 2016/05/08
  • Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。アプリケーション基盤チームの横田です。 Javaの謎のパフォーマンス劣化にまつわる調査をしていたのですが、1ヶ月の苦労の末に原因がわかりましたので、報告させていただきます! 公開後に頂いたはてなブックマークでのご指摘・社内でのタイポ・読みにくいなどの指摘を受けてたので、謹んで修正させいただきます。 修正した内容につきましては、記事の最後を参照してください。 忙しい人のためのまとめ jdk-7u4以降のjdk-7 *1 でJavaのパフォーマンスが劣化する謎の現象 CodeCacheの容量限界に近づくとJITコンパイラを停止してコンパイルしたコードを捨てる機能が原因だった 起動オプションで回避できるので、長期運用するときは -XX:-UseCodeCacheFlushing, -XX:ReservedCodeCacheSize=128m をつける 上のオプションを設定した時に、C

    Javaの謎のパフォーマンス劣化現象との戦い - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2016/04/13
  • cybozu.com を真に常時 SSL にする話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。 今回は cybozu.com を安全に利用するために暗号化した通信(SSL)を常時使用するための取り組みを紹介します。 HTTP と HTTPS HSTS とその弱点 Preloaded HSTS Chrome のリストに cybozu.com を組み込む まとめ HTTP と HTTPS Web ブラウザのアドレスバーに "www.cybozu.com" と打ち込むと、通常は暗号化されない HTTP 通信が行われます。そこでまず考えられるのは、Web サーバーにて HTTP 通信を受け付けたら、HTTPS に永続的リダイレクトをすることです。Apache なら以下のような設定になるでしょう。 <VirtualHost *:80> ServerName www.cybozu.com Redirect permanent / https://www.c

    cybozu.com を真に常時 SSL にする話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2015/12/05
  • JS自動レビューツール"jswatchdog"を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。kintone 開発チームの天野 (@ama_ch) です。すっかり春らしくなりましたね。 少し前に JS の自動レビューツール jswatchdog をオープンソースで公開しましたので、こちらで紹介させていただきます。 使い方 https://kintone.github.io/jswatchdog/ 上記の URL を開き、左側のエディタに JS コードを貼り付けるだけです。 右側に修正が必要な箇所が表示されるので、適宜修正します。 特徴 バリバリの開発者じゃなくても使いやすい一画面完結の Web インターフェース lint ツールでお馴染みの構文チェックの他、知らずに脆弱性を作り込むことを避けるため、XSS の可能性がある箇所にも警告を表示 内部的には、JS の静的構文チェックツールとして ESLint と JSHint を組み込んでいます。 さらに XSS の可能性があ

    JS自動レビューツール"jswatchdog"を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2015/04/03
  • 完璧な監視システムの作り方 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 | サイボウズエンジニアのブログ
    info55
    info55 2013/10/28
  • WordPress の負荷テストと環境改善 - Cybozu Inside Out | サイボウズエンジニアのブログ

    「サイボウズ・アドベントカレンダー2012」も、残すは今日と明日のみです(これまでの記事一覧)。 こんにちは、社内インフラ担当の稲生です。今回はWordPressサーバの簡単な改善方法と負荷テストによる比較のお話です。 一般の商用サイトでも利用可能な「WordPress」。サイボウズのWebサイトでも CMS で使ったり、有料 Blog サービスから移行したりと、その恩恵に与っています。そんな WordPress 環境ですが、最近サーバへの負荷が高い? という連絡を受け、調査がてら負荷テストと環境改善に取り組んだ時のことを紹介します。 ※ 因みにサーバ高負荷の原因は WordPress と全然関係ありませんでした。詳細は稿の主旨と異なるため省きますが、怪我の功名ということで。WordPress は良い子ですよ。 テスト環境を用意する テスト用に以下の仮想環境を用意しました。 CPU Xe

    WordPress の負荷テストと環境改善 - Cybozu Inside Out | サイボウズエンジニアのブログ
    info55
    info55 2012/12/20
  • 超速で開発・リリースするための6つのこと - Cybozu Inside Out | サイボウズエンジニアのブログ

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

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