Chatwork Creator's Note

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

読者になる

SRE

EKSのバージョンライフサイクルに組織として対応する

先日行われた Chatwork Dev Day 2021 で、SRE部からは Immutable Clusterに対する定期Version Upgrade戦略 ということで、EKSのアップグレードへの対応について話しました。 www.youtube.com speakerdeck.com ChatworkではSREだけでなく開発チームも含めて、…

Kubernetes 導入における実践プラクティス(仮) The Beginning

こんにちわ。cw-tomita です。最近は「るろうに剣心 最終章 The Beginning」が公開されるのを心待ちにしつつ、これで健の剣心も見納めかという寂しさとが入り混じった複雑な気持ちで日々を過ごしています。 ということで、今回は、映画の公開9日前に開催され…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その5 〜PHPアプリケーションをコンテナ化しよう〜

こんにちは!SRE部のcw-ozakiです。 PHP Conference 2020 Re:bornでPHPでKubernetesを動かすにはどうするべきかという話をしてきました。 speakerdeck.com ただ、25分という短い枠でしたのでKubernetes初心者に向けてということで、だいぶ端折ったのでその5…

What we did to stabilize DNS on Kubernetes cluster

This time, I would like to talk about how I fixed DNS errors on EKS (Chatwork's EKS is operated using a single multi-tenant cluster) Service becomes unstable when the number of pods exceeds a certain number Culprit of conntrack overflow wa…

EKSでDNSを安定させるために対応したこと

今回はEKSでDNSを安定させるために対応した話を書きたいと思います*1。 一定数のPod以上になるとサービスが不安定になる conntrack溢れの犯人はkube-dns(CoreDNS) conntrackのmaxを増やす kube-dnsのautoscale node-local-dnsも入れる node-local-dnsを入れ…

Tools supporting kubernetes cluster in Chatwork (2020 version)

Hello, this is Sakamoto from the SRE Department. I run at least one full marathon every year, but unfortunately, I couldn't make it in 2020. I managed to run under 90 minutes (89 minutes) in the half-marathon held just in February, and I w…

ChatworkのKubernetesを支えるツールたち(2020年版)

こんにちは。SRE部坂本です。毎年最低1回はフルマラソンに出ていますが、2020年はあえなく参加できずに終わりました。 2月にギリギリ行われたハーフマラソンではなんとか90分切り(89分台)を達成し、今年は3時間10分以内を目指してただけに残念ですが、仕方あ…

1年後のChatworkインフラの話 (2020年版)

こんにちわ。id:cw-tomitaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の21日目の記事です。 Advent Calendarシーズンももうすぐ終わりですが、入社して初めての年のAdvent Calendarでこんな記事を書いたな〜と、ふと思い出し、 creators-not…

pt-online-schema-changeを用いたスキーマ変更 on Amazon Aurora MySQL

こんにちわ。id:cw-tomitaです。 この記事は、Chatwork Advent Calendar 2020 - Qiita の3日目の記事です。 早速ですが、皆さんはauto incrementなRDBのtableのidにはどのような型を利用されていますか? Chatworkでは多くのテーブルでint型が指定されている…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 4: Application Migration Tactics Matched to Kubernetes Cluster Update Strategy

Hello! I’m cw-ozaki, and I work in the SRE department. Continuing on from part three, I’d like to consider how to migrate applications to new clusters in line with the Kubernetes cluster update strategy in this installment. creators-note.c…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その4 〜Kubernetesクラスタの更新戦略に合わせたアプリケーションの移行戦術〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com creators-note.chatwork.com 今回はその3の続きで、Kubernetesクラスタの更新戦略に合わせてアプリケーションをどのようにして、クラスタを移行していくのか戦術…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 3: Cluster Structuring in Chatwork and Update Strategies

Hello! I’m cw-ozaki from the SRE Group. This is a continuation of the Part 2 article. Assuming that migrating from EC2 to Kubernetes is fine, I will discuss how Chatwork’s Kubernetes clusters are structured and how the updates are strategi…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その3 〜ChatworkにおけるKubernetesクラスタの構成と更新戦略〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com creators-note.chatwork.com 今回はその2の続きで、EC2からKubernetesに移行するのは良いとして、そもそもChatworkのKubernetesクラスタの構成と更新戦略をどうしているのかというベース部分…

Migrating our PHP Legend System from EC2 to Kubernetes, Part 2: The ideas behind our migration strategy

Hello! This is cw-ozaki from the SRE department. This post will be a continuation of Part 1, and I will explain the strategy with which we migrated our system to Kubernetes. creators-note.chatwork.com Our strategy for migrating to Kubernet…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その2 〜移行戦略について考える〜

こんにちは!SRE部のcw-ozakiです。 creators-note.chatwork.com 今回はその1の続きとして実際にどのよう戦略を持ってKubernetesに移行したのかを解説します。

Migrating our PHP Legend System from EC2 to Kubernetes, Part 1

Why did Chatwork migrate from EC2 to Kubernetes? Issue 1: Deployment becomes unstable when the EC2 instance exceeds about 40 machines Issue 2: A rollback cannot be performed depending on the deployment status Kubernetes as a solution Kuber…

PHPのレジェンドシステムをEC2からKubernetesに移行する話 その1

こんにちは!SRE部のcw-ozakiです。 長らく携わっていたPHPのレジェントシステムをEC2からKubernetesに移行する作業がひと段落ついたので、どのようにこの移行を進めて行ったのかご紹介していきます。

Biryani プロジェクト(メッセージ検索機能のCloudSearchからElasticsearchへのリプレイス)について vol.3 - データマイグレーション編 -

HBaseからElasticsearchへのデータマイグレーションについて紹介します。約50億(昨年末時点)のメッセージを確実に、なおかつ出来るだけ速くマイグレーションするための戦略や細かな工夫をお伝えできればと思います。

Biryani プロジェクト(メッセージ検索機能のCloudSearchからElasticsearchへのリプレイス)について vol.2

こんにちわ、cw-tomitaです。 前回の記事に続いて、Biryaniプロジェクトに関して、あれこれと書いていきたいと思います。なお、この記事は、先日公開した以下の記事の続きとなりますので、こちらを未読の方は、是非vol.1からお読みいただければと! creators…

Biryani プロジェクト(メッセージ検索機能のCloudSearchからElasticsearchへのリプレイス)について vol.1

こんにちわ、SRE部のcw-tomitaです。 今回は、7/17(金)に行われた全社合宿で、プロジェクトとしては惜しくもベストPJ賞を逃したものの、オーディエンス賞を受賞(全社跨いで、半期の間に実施された数々のPJの中で厳選された3つのPJだけが賞をもらえる)し、ま…

Kubernetesをめぐる冒険、の後日譚

Chatwork 坂本です。 本ブログは2020年1月23日に行われた、下記のコンテナ支部での発表を補足する内容で、eksctlの設定ファイルとvariantの具体的な使い方に焦点を当てて書きたいと思います。 jawsug-container.connpass.com speakerdeck.com 目次 eksctlの…

variantdev/modとmergify.ioで始める依存パッケージの自動管理

SRE

こんにちは!SREのid:cw-ozakiです。 SREでは運用にあたって、できる限り利用しているコマンドをDockerizeするようにしています。 そうすることによって、メンバーのマシンやCIのように各環境に依存せずにコマンドを実行できるからです。 この活動を始めてか…

As a SRE at Chatwork

SRE

Introduction こんにちは。SRE 部の Vikas です。This seems to be my first blog post on Chatwork Creator's note, although after joining Chatwork for 6 months I have much more share as an experience. As I am new to the platform and to the user…

HBase upgrade on top of Event Sourcing and CQRS architecture in 3 weeks

TL;DR We used a blue-green deployment strategy for the HBase version upgrade on top of Event Sourcing and CQRS architecture system. The deployment approach worked quite well and took only 3 weeks in total to accomplish the project goal. Th…

3週間で出来たEvent SourcingでCQRSなアーキテクチャ上でのHBaseのupgrade

プロジェクトのリーダーである、cw-sakamotoがこの超重要プロジェクトを終え、軽い燃え尽き症候群になっているので、代わりにcw-tomitaが代筆しております。 マラソンガチ勢(ベストタイム3時間17分)であるcw-sakamotoによって、Carbon X(50マイルでの世界…

AWSの監査機能を使ってリソースを安全に守ろう

はじめに 初めまして!ブログでは初登場のSRE部の新沼です。 さっそくですが皆さんがお使いのAWSで作成したリソースは「いつ・誰が・どのような」操作を行ったの記録や脅威検知できていますか? 今回はそのようなAWSにおける監査機能について私たちが取り組…

SRE部が発足して1年半が経過しました

こんにちわ。SRE部のcw-tomitaです。 Qに一度実施しているSRE部の合宿を今回は鹿児島で開催していて、鹿児島でこの記事を書いています。 合宿を通して、内向きには定期的にやってきたこと、やっていくことを振り返れているとは思うのですが、外に向けてはま…

AWS DevDay Challengeに参加してきました(チーム関東)

こんにちわ。SRE部のcw-tomita です。 昨日のチーム吹田の記事に続いて、チーム関東として、先週行われたAWS DevDay Challengeという、1 day Hackathonイベントのことを書きたいと思います。

Prometheus形式で公開されたmetricsを、Datadog Prometheus Checkを利用して取得する

SRE部のcw-sakamotoです。 nginx-ingress on AWS で gRPC をロードバランスさせる検証 - ChatWork Creator's Noteにおいて、少しだけ言及しました、Datadog Prometheus Checkに関する内容です。 Kubernetesの監視と言えば、Prometheusのイメージが強い?です…

nginx-ingress on AWS で gRPC をロードバランスさせる検証

SRE部のcw-sakamotoです。 この記事では、nginx-ingressをk8s on AWSで動かして、さらにbackendにはgRPC serverを立てて、ロードバランスできるかどうかの検証を行いたいと思います。 アジェンダ 背景 環境 gRPC serverの起動 gRPCの各リソースの作成 grpcur…