タグ

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

  • 開発チーム作成ガイドを公開します - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。シニアスクラムマスターの天野 @ama_ch です。 サイボウズの開発組織において、今後の成長を加速させるためには、組織の基単位をスクラムチームのような自律的な小さなチームにしてスケールさせることが非常に大切だと考えています。サイボウズは比較的スクラムが普及している組織ではありますが、組織内のすべてのチームがスクラムを採用しているわけではありません。 フレームワークとしてスクラムを採用するかどうかはチームの自由です。しかし、健全なチーム環境を整えることはすべてのチームにとって重要です。チームやチームワークに関する情報は巷に多く存在しますが、我々のようにすでにある程度の規模で活動しているプロダクト開発組織で、チーム環境を整えるために実践的に使える情報がないことが悩みでした。 そこで、これまでのチームに関する学びと実践を踏まえ、サイボウズの開発組織の文脈において、スクラムを実践し

    開発チーム作成ガイドを公開します - Cybozu Inside Out | サイボウズエンジニアのブログ
  • あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ

    初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ

    あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2022/03/15
  • 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 | サイボウズエンジニアのブログ
    wata88
    wata88 2021/05/25
  • MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。クラウド運用チームで SRE をしている飯塚です。 今回は、MySQL のレプリケーション機能を約10年もの間ずっと使ってこなかった私たちが、レプリケーションを使った高可用性構成に移行するための取り組みの中で学んだことについて紹介します。 背景 巨大なテーブルへの primary key の付与 トランザクションサイズが大きい場合には tmpdir に注意 mysqldump絵文字が消えていないか要チェック mysqldumpError 1412: Table definition has changed... で失敗する mysqldump したデータのリストアが Duplicate entry 'xxx-yyy-PRIMARY-n_diff_pfx01' for key 'PRIMARY' で失敗することがある mysqldump したデータのリストア時のディスク

    MySQL のレプリケーションから10年間逃げてきた我々が学んだこと8選 - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2020/10/27
  • データセンター内で使う BGP の基礎知識 - Cybozu Inside Out | サイボウズエンジニアのブログ

    Neco プロジェクトの ymmt です。記事では Neco のネットワークの実装を理解するために必要となる範囲で Border Gateway Protocol (BGP)の基礎知識を解説します。 BGP はインターネット全域の経路制御に使われているプロトコルで、非常に複雑なルーティング要件を実装可能ですが、記事では詳説しません。対象読者は 「BGP? 知ってる知ってる、インターネットのあれでしょ!」 という程度のソフトウェアエンジニアです。 以下、社内向けの解説文書からコピペしているので文体が変わります。悪しからずご了承ください。 ルーティングプロトコル BGP の概念 BGP の特徴 iBGP の動作 データセンター内での BGP 利用 まとめ ルーティングプロトコル ルーティングプロトコルとは、簡単に言えば目的の IPv4/IPv6 アドレスへパケットを送り届けるのにどのような

    データセンター内で使う BGP の基礎知識 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 分散ユーザー管理システム「etcdpasswd」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリ基盤チーム兼Necoプロジェクト所属の @ueokande です。 日はNecoで開発しているUNIXユーザーの管理ツールである「etcdpasswd」を紹介します。 github.com etcdpasswdは、etcdをバックエンドに持つ分散型のユーザー管理システムです。 etcdpasswdは自律型の分散システムで、一時的にホストがダウンしても、次回起動時にetcdのユーザーを参照して同期します。 etcdpasswdはLDAPのようなNSS (Name Service Switch) が外部サービスに問い合わせるのではなく、etcdpasswdが各ホストにある /etc/passwd を更新します。 なぜetcdpasswdなのか 現在のcybozu.comデータセンターでは、各ホストのユーザー追加・更新は、MySQLでユーザー管理されており、管理者が適用したタ

    分散ユーザー管理システム「etcdpasswd」の紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2018/10/05
    consul template っぽい感じだ
  • ファイルシステムサイズの拡張時にデータベースアクセスがスローダウンする問題の解決 - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、技術顧問のsatです。 サイボウズでは、ファイルシステムサイズ拡張時にデータベースアクセスがスローダウンするという問題に長年悩まされてきました。記事では運用部の藤田と深谷がこの問題を解決した流れについて報告いたします。問題を解決するために2人はLinuxカーネルを修正しました。修正は社内に閉じたものではなく、執筆当時の最新 Linuxカーネルであるv4.17にマージされています。 問題 以下の操作の後にデータベースへのアクセスが一時的にスローダウンする ブロックデバイスのサイズを拡張する 上記デバイス上にあるファイルシステムのサイズを拡張する 原因 linuxカーネルはブロックデバイスのサイズ変更(縮小および拡張)時に、当該デバイス上にあるファイルシステムのページキャッシュ(後述)を無効化する*1 解決方法 ブロックデバイスのサイズ拡張時にはページキャッシュを無効

    ファイルシステムサイズの拡張時にデータベースアクセスがスローダウンする問題の解決 - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2018/06/28
  • サイボウズのログ基盤 2018年版 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。アプリケーション基盤チームの @ueokande です。 今日は、サイボウズの新しくなったログ基盤についてお話しします。 サイボウズのログ基盤の進化 リプレイス前のログ基盤 サイボウズのログ基盤はサービスの成長に合わせて、常に進化し続けてます。 そんななか2017年の夏に大きなリプレイス作業がありました。 サイボウズのサービスを支えるログ基盤 from Shin'ya Ueoka 以前のログ基盤は、ログを収集するホストがあり、各ホストからログを収集してました。 しかしログの転送システムが単一障害点であったり、スケーラビリティに欠けるのでサービスの成長に追いつかず、性能的にも限界に達してました。 また以前のログ基盤では、ログの解析がしにくく、ログはあるけどビジネスに役立てにくい状況でした。 そのため今後のサービスの成長や、より安定したログ基盤を運用できるように、ゼロから刷新するこ

    サイボウズのログ基盤 2018年版 - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2018/03/20
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2016/05/18
    すごい
  • NAT をやめて、透過 SOCKS プロキシを導入した - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    NAT をやめて、透過 SOCKS プロキシを導入した - Cybozu Inside Out | サイボウズエンジニアのブログ
    wata88
    wata88 2016/03/16
    面白そうではあるけど、やるケースがなかなか思いつかない
  • 1