タグ

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

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

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

    開発チーム作成ガイドを公開します - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2023/07/26
  • VictoriaMetrics と Grafana による Kubernetes クラスタのモニタリング - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。 Necoチームの梅澤です。 従前、Neco ではクラスタのモニタリングに Prometheus を利用していましたが、最近これを VictoriaMetrics + VictoriaMetrics operator に変更しました。 記事では、Prometheus で感じていた問題点と、それをどのように解決したかを紹介します。 感じていた問題点 我々が(オペレーターを利用しない) Prometheus で問題を感じていたのは以下の点になります。 メトリクスの長期保存 Neco では元々14日間ぶんを保存していました。しかし、過去のメトリクスは障害の継続的な調査にも有用であり、14日間では物足りなく感じていました。一方、 Prometheus はストレージの構造として長期保存をあまり想定していません。 https://prometheus.io/docs/prometheus

    VictoriaMetrics と Grafana による Kubernetes クラスタのモニタリング - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2022/01/30
  • 2021年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。開発部 オンボーディングチームの酒井(@sakay_y)です。社内のオンボーディングコンテンツを、どんどん社外へ公開することを夢見ています。 2021年もエンジニア新人研修を行いましたので、軽い紹介と、講義資料および一部講義動画(New!)を公開いたします。 2021年のエンジニア研修について 講義資料公開 Webアプリケーション基礎 HTTP/DNS ソフトウェアライセンス ソフトウェアテスト テスト自動化 アクセシビリティ Docker Chrome Developer Toolsの使い方 サイボウズのアジャイル・クオリティ デザインの役割と関わりかた データベース CI/CD セキュリティ モブに早く慣れたい人のためのガイド ITコミュニティ文化と情報発信に共通する成長と貢献の要素 正規表現 Kubernetesを使った開発入門 モニタリング入門 gRPC入門 日語話

    2021年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2022/01/10
  • EPYCマシンの検証(2) - NUMAノードをまたぐメモリアクセス速度 - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに 技術顧問のsatです。前回に引き続き、EPYCマシンの検証についての話をします。手元のEPYCマシン(Super Micro AS-1023US-TR4)はNUMAアーキテクチャ(後述)を採用してます。今回はこのマシンにおけるNUMAノードをまたいだメモリアクセスに関するデータを採取しましたので、その結果をお伝えします。 NUMAについて知っているかた向けの結論 2CPUパッケージから成るEPYCマシンにおいては、CPUパッケージごとに4つのノード、合計8つのノードがある 同じCPUパッケージ上のリモートノード上のメモリへのアクセス速度はローカルノード上のメモリへのアクセス速度に比べて1.7倍程度遅い 別のCPUパッケージ上のリモートノード上のメモリへのアクセス速度はローカルノード上のメモリへのアクセス速度に比べて3.3倍程度遅い (記事では省略したが)"numactl --in

    EPYCマシンの検証(2) - NUMAノードをまたぐメモリアクセス速度 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    障害発生!全員集合? - オンコールアンチパターンからの一歩前進 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • SLO策定とアラート設定までの長い道のり - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、@ueokandeです。早速ですが、皆さんが運用しているサービスには、SLO (Service-level objective: サービスレベル目標) がありますか?アラートの監視項目はどのように設定して、基準値をどのように決めていますか? 社外とのコミュニケーションだけでなく、社内向けのSLOを決めておくことで、サービスの健康状態を知るための手がかりや、普段の開発・運用タスクの優先度を決める上での指標にもなります。 またSLOがあると、サービスを監視するアラートに、理にかなった閾値を設定できます。 この記事ではAWSkintoneの、SLOとアラートを設定するまでの記録について紹介します。 cybozu.com版kintoneのSLOとアラート 国内のcybozu.comで運用しているkintoneにも、もちろんSLOやアラートはあります。 しかし現状のSLOはkinton

    SLO策定とアラート設定までの長い道のり - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 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 | サイボウズエンジニアのブログ
  • 2020年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。コネクト支援チームの@tignyaxです。 みなさま、夏はどう過ごされたでしょうか? 私は、夏が好きなのに今年は夏らしいことが出来なくて寂しいなぁとなっています。。。 さて、今年2020年もエンジニア新人研修を行いましたので、その紹介と講義資料を公開いたします。 2020年のエンジニア新人研修について 基的には2019年と同じ形*1での実施となりました。 最初の1週間で必修講義をしたあと、新人の皆さんには2週間ずつ3チームを体験してもらいました。 チーム体験のコンセプトは、新人に「興味のあるチームで実際に業務を体験し、配属希望を決める参考になった。」と言ってもらうことです。 各チーム体験では座学や研修を中心にするのではなく、業務体験が中心です。 チーム体験を通して、配属先を検討する材料にしたり、いろんなチーム/人/業務を知ってもらえる機会となります。 必修講義 誰に: 開発/

    2020年のエンジニア新人研修の講義資料を公開しました - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 生産性向上チームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、生産性向上チームです。今回は、私たち「生産性向上チーム」について紹介いたします。 生産性向上チームとは サイボウズの技術領域と生産性向上チームの立ち位置 生産性向上チームは主に、次のような業務を行っています。 チームを横断した開発効率を高める基盤の整備 開発チームの業務の自動化や効率化の支援 最新の生産性向上に関わる技術のキャッチアップ、探求 などなど、一言でいうと「サイボウズのエンジニアがつらいと思っている部分を最高にしていく」ために活動しているチームです! メンバー 生産性向上チームメンバーで記念撮影 生産性向上チームのメンバー数は現在5名です。そのうち3名は他のチームと兼務しており、そのつながりを活かして業務に取り組んでいます。 各メンバーについて、簡単に紹介いたします。 宮田 Twitter: @miyajan 出身:東京 得意なこと、好きなこと CI/CD とか自動化

    生産性向上チームの紹介 - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2020/08/31
  • 複雑怪奇な nginx を Go と Docker でユニットテストする - Cybozu Inside Out | サイボウズエンジニアのブログ

    全国の nginx 職人のみなさま、こんにちは。野島(@nojima)です。 私の所属するYakumoプロジェクトでは、nginxGoDocker によってユニットテスト1しています。 手元で簡単に実行でき、ブランチへのpushのたびにCIでテストされるので、非常に便利です。 この記事では、このnginxのユニットテストについて紹介してみたいと思います。 背景 nginx は極めて柔軟なロードバランサであり、プロダクション環境ではその柔軟さを生かして多彩な役割を担っています。 我々の nginx は、ユーザーからのリクエストを AP サーバーに振り分け、アクセス制限を行い、リクエストをリダイレクトし、HTTPヘッダを付与したり削ったりしています。 しかし、nginx は便利な反面、その設定は極めて複雑になり、読解したり変更したりするのが難しくなっています。 そこで、nginx

    複雑怪奇な nginx を Go と Docker でユニットテストする - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2020/04/16
  • OSSへの貢献ノウハウ - Cybozu Inside Out | サイボウズエンジニアのブログ

    はじめに こんにちは、Necoプロジェクトのsatと申します。記事は世間で何かと重要といわれつつもなぜ重要なのかがわかりにくく、かつ、広くやりかたが知られていないOSSへの貢献ノウハウについて述べます。記事は筆者が過去にはLinuxカーネル、現在ではRookというOSSへの貢献に業務で取り組んできた経験に基づいて書きました。 ひとくちに貢献といっても様々な方法がありますが、ここではissue発行やPR発行などのOSSの開発へ開発者が直接かかわるような貢献に焦点を絞ります。 記事の想定読者は次のようなかたがたです。 業務でLinuxKubernetes,MySQLなどの有名どころのOSSを使っている バグや機能不足で困っている OSSへ貢献したことがない 貢献する必要性ががわからない 自分では必要性がわかっているが、会社にうまく伝えられない 貢献したいものの、やりかたがわからない 貢

    OSSへの貢献ノウハウ - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2020/02/17
  • AWS版kintone.comリリースの裏側 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!Yakumoチームの@ueokandeです。 昨年9月、US向けにAWS 基盤のkintoneがリリースしました。 以前まではUS向けkintone (kintone.com) は日のオンプレデータセンターから提供してましたが、このリリースによりUS内のAWSリージョンから提供が始まりました。 日はAWSkintone.comリリースの裏側を紹介します。 AWSkintone.comについて まず初めにAWSkintone.comについて軽く説明します。 これまでのkintone.comは、日向けkintone (cybozu.com) と同じ日のデータセンターで運用していました。 US国内のAWSに移行することで、USのお客様のセキュリティニーズを満たしつつより高いパフォーマンスを実現できるようになります。 またcybozu.comとは独立して運用できるため、リ

    AWS版kintone.comリリースの裏側 - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2020/02/17
  • プロダクトのヘルプサイトをマークダウンに移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!開発部テクニカルコミュニケーショングループの仲田です。 皆さんマークダウン使ってますか?(唐突) 文書記法の一つで、プログラマーにとっては馴染みがあるものだと思います。サイボウズのプロダクト仕様書もマークダウンで書かれることが多くなっています。 ですが、公式ドキュメントを作る用途として採用される例はまだ少ないように思います。数ヶ月前になりますが、プロダクトのヘルプサイトをマークダウンに移行しましたので、今回はその話をします。 なぜ移行したのか マークダウンに移行した動機は、一言で言うとヘルプサイトの制作や更新を効率化するためです。 サイボウズでは、プロダクトのアジャイル開発化を進めています。アジャイル開発では、ウォーターフォール開発と比べてリリース間隔が短縮されます。パッケージ製品がメインだった頃には、リリースは年単位で、短くても数ヶ月ごとというスパンでした。ところが、クラウド

    プロダクトのヘルプサイトをマークダウンに移行した話 - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2018/09/28
  • サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、アプリケーション基盤チームの青木(@a_o_k_i_n_g)です。先日親知らずを抜歯した時、つらすぎたので MySQLJOIN のことを考えて心の平静を保っていました。 サイボウズの製品のひとつである kintone はニーズに応じて自由に業務アプリのようなものを手軽に作ることができ、データの検索条件やソート条件も細かくカスタマイズ可能で、様々なレベルでのアクセス権も設定可能という非常に便利なツールです。 しかしその機能を支える裏側では複雑なクエリが発行され、MySQL に多大な負荷をかけています。サイボウズのクラウドには数十テラバイトに登る MySQL データがあり、数千万件オーダーのテーブルを複数 JOIN するクエリが毎秒のように実行されるという、エンジニア魂が滾る環境です。 現在サイボウズでは性能改善に力を入れており、僕もその業務に従事しています。例えば2018年

    サイボウズ版 MySQL パフォーマンスチューニングとその結果 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 技術顧問に聞いてみた──小崎資広さん、武内覚さんインタビュー - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。コネクト支援チームの風穴(かざあな)です。 この度、あの小崎資広さん、武内覚さんに、サイボウズの技術顧問に就任していただくことになりました。 小崎さんは、日を代表するLinuxカーネル開発者の一人です。また武内さんも、Linuxカーネル開発者として知る人ぞ知る存在で、最近では、AMD Ryzenプロセッサの問題を追究したことでも注目を集めました。 ということで、さっそくお二人にお話を伺ってきました。 サイボウズSREチームのメンバーと(前列左から4人目が小崎資広さん、同5人目が武内覚さん) ──そもそも、このお話の経緯は? 小崎さん(以下、敬称略):山さん(編注:山泰宇、サイボウズ執行役員・運用部長)から、「技術顧問になっていただけませんか?」とオファーをいただきまして。 ──それまでは、山とは知り合いでした? 小崎:以前、2、3回、お会いしたことがあり、お名前は認識

    技術顧問に聞いてみた──小崎資広さん、武内覚さんインタビュー - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    「障害に捨てるところなし」というお話をしました - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ

    どうも!アプリケーション基盤チームの横田(@yokotaso)です! kintoneなどで利用していたJavaフレームワークのSeasarのEOLに伴い、S2Daoからの脱却を試みたのですが、パフォーマンス問題や障害を発生させてしまうなど問題を多々発生させてしまいました。 同じ過ちを繰り返さないという強い決意のもと、今回の失敗をブログで公開いたします。 失敗をあえて公開する点で斬新かつ濃いブログ記事となっております! 失敗体験の公開は恥だが役に立つ! 移行先の選定の失敗 移行先として選定したプロダクトは Hibernate*1です。 Hibernateを選んだ理由としては Spring Framework を選定した Spring Frameworkで Interface + アノテーションでプログラミングするならSpring Data JPA が有力 JPAに準拠したのORMの中でも、H

    我々はいかにして技術選択を間違えたのか? 2016 - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 社内で手軽にHTTPSを使いたい!kintone × nginxで圧倒的生産性向上! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。生産性向上チームの宮田(@miyajan)です。 サイボウズには、生産性向上チームという、組織横断で使える開発基盤を整備するためのチームが存在します。「チーム」となっていますが、今のところ私一人です。 今回は、弊社製品のkintoneとオープンソースのnginxによるリバースプロクシを組み合わせて、社内のエンジニアが手軽にHTTPSを使えるようにした話を書きます。 モチベーション 開発者が手元の開発環境でHTTPSを使いたい場面というのは、意外とたくさんあります。以下は、実際に社内であったケースです。 HTTPSでのみ発生する問題を手元で再現させたい 社内システムをHTTPSで運用する必要がある 例1) SAML認証でSSOするためにHTTPSが必須 例2) Service Workerを利用するためにHTTPSが必須 例3) 社内でDocker Registryを運用している

    社内で手軽にHTTPSを使いたい!kintone × nginxで圧倒的生産性向上! - Cybozu Inside Out | サイボウズエンジニアのブログ
  • するするさせたよ:サイボウズ採用情報のアニメーション - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、大阪開発部のブノアです。 この間、サイボウズの採用情報ページのアニメーションについてグーグルデベロッパーエキスパートの矢倉さんにツッコミを頂きました!今回はそのアニメーションをするするさせたよという話をしたいと思います。 経緯 4月頃、レンダリングパフォーマンス勉強会を社内で開催しました。東京開発部の鉄平がその話をツイッターで呟いたら矢倉さんにツッコミを頂きました。 社内でレンダリングパフォーマンス勉強会を開催中。will-changeの効果絶大なデモで会場がどよめいた。— teppeis (@teppeis) April 15, 2016 https://t.co/t2Irugs85V 「生まれたアプリは15万件」の動くアイコンのところが別レイヤーになってするする動くようになる日も近いということか https://t.co/ki5VSvbumY— Masataka Yakur

    するするさせたよ:サイボウズ採用情報のアニメーション - Cybozu Inside Out | サイボウズエンジニアのブログ
    higed
    higed 2016/05/24
  • バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ

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

    バグゼロを実現した話とその後の顛末 - Cybozu Inside Out | サイボウズエンジニアのブログ