kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

ScalaMatsuri 2022参加レポート〜VimでScalaを書けるようにする〜

こんにちは。都志(@louvre2489)です。

2022/03/19〜03/20にかけて実施されたScalaMatsuri 2022に参加してきました。

今回も興味深いセッションが多く、とても楽しめるイベントでした。セッション内容は以下で確認ができ、資料が共有されているものも多いので、『参加できなかったけど気になる〜!』という方は是非チェックしてみてください。

scalamatsuri.org

個人的には、2日目の飛び入りカンファレンスでの『あなたの知らないMetalsの便利な100の機能』がとても興味深かったです。あまりにもテンションが上がってしまい、勢いでその日の夜に Vim + Metals の設定を行ってしまいました。

このブログでは、同じように興味を持った人がスムーズに設定を行えるように設定の段取りをご紹介したいと思います。

続きを読む

ChatworkはPHPエンジニアの採用をより強化していきます、というお話。

プロダクト本部で副本部長をしています、田中(@tan_yuki)です。最近はたべっ子水族館をずっと食べています。

私の主な仕事はプロダクト開発組織に関する採用・ピープルマネジメントに関するところがメインなのですが、最近、中途採用の方針を少し変更しました。その変更内容について、社外にも発信していこうと思い、ブログを書きました。

以下の文章は社内で共有した文章に少し加筆修正を加えたものになります。

続きを読む

Scrum@Scaleによる組織構造の変遷

こんにちは。id:daiksyです。

昨年の6月に、ChatworkではScrum@Scaleを用いたスケーリングに取り組んでいる、という記事を書きました。

creators-note.chatwork.com

上記の記事では、Scrum@Scaleの簡単な解説と、なぜこの手法を選択したのかについて書きましたが、2021年の4月からはじまった取り組みだったため、記事執筆の時点ではまだ実践をはじめて2ヶ月、という状況でした。

そこから継続的に取り組みを続け、組織構造にいくつかの変遷があったので、9ヶ月間の道のりを今日は書いていこうと思います。

続きを読む

2021年新卒入社エンジニアによる当時のオンボーディングのふりかえり

はじめまして。サーバーサイド開発部(Scala)の工藤です。 2021年の4月に新卒としてChatworkに入社してから早一年が経とうとしています。 もうしばらくすると22卒の新卒が入社して、いよいよ「新卒で入社した工藤です!」とは名乗れなくなってしまうと思うと時の流れを感じます。

そんな丁度いい(?)節目の時期なので今回は入社した当時、自分が受けたオンボーディングについて振り返っていきたいと思います。

本題に入る前に、Chatworkでは新卒採用を始めたばかりでオンボーディングの方針はこれからも変更されていく可能性があることは留意していただけると幸いです。あくまで私たちの代で実施されたオンボーディングについてのお話となります。

続きを読む

Chatworkのリライトプロジェクトをやっている

こんにちは。藤井 ( @yoshiyoshifujii ) です。

時は、2019年2月から、3年が経ちました。

その頃から、 Chatworkのリライトプロジェクトをやっております。

本日は、この長期プロジェクトについて、紹介させていただきたいと思います。

ゴール

Chatworkをリライトできたとは、どういった状態なのかを明確にするため、次のようなゴールを定義しています。

2025年の事業計画に合わせて、生産性を維持・向上できるプロダクトと組織が構築できている

以下、このゴールを設定した背景を紹介いたします。

続きを読む

半年でPHPのエラー通知を撲殺しまくった話

どうも。ご存じ、サーバーサイド開発部(PHP)のやまざきです。

『優れた UX は心地のよい Developer Experience から生まれてくる』と信じて20余年。今年は最高な年になりそうです。

さて本ブログの本題ですが、ある程度のサービス規模になってくると運用・保守は大変になってきますよね。今日は昨年2021年にサーバーサイド開発部(PHP)としてのサービス監視体制を改善していったよ、って話をふりかえりながら書こうと思います。

目次

  • 目次
  • Chatworkのサーバーサイド運用・保守体制
    • バックエンドチームでの基本的な運用・保守体制
  • バックエンドで利用中のシステム監視SaaS
    • Datadog
    • New Relic
  • バックエンドのアプリケーションログ基盤
    • バックエンドでのアプリケーションログ収集のデータフロー
    • PHPシステムでのアプリケーションログの通知
  • サーバーサイド開発部(PHP)としてのサービス監視体制の課題(2021年)
    • エラーがスルーされていく仮想シナリオ
  • PHPエラー撲殺部発足
    • 自分がエラー監視/対応に詳しくなる
  • エラー通知をスルーしないためにしたこと
    • 何をエラーとして検知すべきかを再定義した
      • ログレベル:info
      • ログレベル:warning
      • ログレベル:error
      • ログレベル:critical
    • エラー通知は誰かが確認するという暗黙の期待を止める
    • エラーメッセージに書かれるべきガイドラインを作った
  • 2021年のPHPエラー撲殺の成果
  • PHPエラー撲殺部からの学び
    • 学び1:「開発」「運用」「保守」は分けて考えられない
    • 学び2:いつ負債を返すのか? という問いに真摯に応答する
  • さいごに
  • やまざきの過去記事

Chatworkのサーバーサイド運用・保守体制

Chatworkはビジネスインフラを担うようなサービスとなることを目指しています(参考記事)。

そのためには24 時間365日、可能な限り安定したサービスを提供する必要があります。而して、Chatworkのエンジニアはサービスの稼働状況を監視し、問題があればいち早く状況を改善するよう動くことが求められます。

何を使いどういう体制で運用保守を行っているかを簡単に説明させて頂きたいと思います。

続きを読む