• 2024年版 Colorkrew 自社サービスのインフラ業務の現状

    こんにちは。Azure Cloud Solution Architect 兼 DevOps Engineer の秋山です。 自社サービスのインフラリードを担当しています。 前回書いたブログが2年前になってしまいましたので、ここで最近のインフラの状況についてまとめてみます。 自社サービス Mamoru Biz で AKS 導入1周年で振り返る プロダクト開発チームの増加に伴う効率化 最も大きい変化はこれです。 2年前は自社サービスイコール Mamoru Biz(現在の Colorkrew Biz) でしたが、現在は「Colorkrew ID」「Colorkrew Intra」「AI Chatシステム」や開発中のプロダクトなど多岐にわたります。 いずれの製品もクラウドインフラを活用しているため、新しいシステムのインフラ構築を効率的に行う必要があります。 自社サービスのインフラチームは私を含めて現在4人、全員受託案件など他の業務と兼任しています。 直近の1,2年ではおおまかに以下の内容を進めることで、インフラ業務が滞らない状況を作り上げてきました。 プロダクト開発チームからの依頼テンプレート化 インフラ・デプロイコードのモジュール化 最新技術のトライアンドエラーとフィードバック 本エントリではこれらを順に説明します。 プロダクト開発チームからの依頼テンプレート化 弊社ではソースコード管理に GitHub を利用しています。 新しいプロダクトの開発が始まるタイミングや既存プロダクトで新たなクラウドインフラが必要になったときに、GitHub Issue に内容をインフラチームが自身でまとめるようにしました。 そしてそれが大体パターン化されてきたため、 Issue テンプレートを用意して、プロダクト開発チームに記載してもらうようにしました。 ref: リポジトリ用に Issue テンプレートを設定する 内容は以下です 必要なクラウドインフラリソース(DB, Storage, …etc) Kubernetes リソース(Pod, CronJob, …etc) デプロイフロー 環境別の期日(Debug は ASAP, Prod は2か月後, …etc) チャットのラリーで必要な情報を埋めていくのは非効率なため、一度で大半の情報を網羅できるのは効率的です。 また、プロダクト開発チームは別のプロダクトのインフラ依頼内容を参考にすることで、サイロ化を防ぎ横のつながりや理解にもわずかながらつながるという副次的な効果も見えています。
    ...
  • 自社サービス Mamoru Biz で AKS 導入1周年で振り返る

    こんにちは。Azure Cloud Solution Architect の秋山です。 今回の記事では自社サービスで AKS 導入を始めて1年が経ち、どうやってきたか、何が変化したのかについて書きます。 1年前に書いた Azure Kubenetes Service(以下 AKS) 移行の記事は以下です。 Vol.1 App Service から AKS へ移行の決断 Vol.2 AKS(k8s) 移行の下準備 Vol.3 AKS(k8s) 移行 AKS クラスターバージョンの更新管理 AKS では最新バージョンから2世代前までのマイナーバージョンをサポート対象としているため、 4-5カ月周期でリリースされるマイナーバージョンをキャッチアップする必要があります。 参考:AKS Kubernetes リリース予定表 Mamoru Biz では AKS クラスターをインプレースアップグレードと呼ばれる手法で更新しています。 システムが利用中のクラスターのバージョンをアップグレードし、ノードを順にアップグレードする方法です。 参考:Azure Kubernetes Service (AKS) クラスターのアップグレード もう一つ Blue/Green デプロイメントと呼ばれる手法も検討しましたが、利用していません。 下の図のように、現行クラスターに加えて新バージョンのクラスターを用意し、Front Door や Traffic Manager などで切り替える方法です。
    ...
  • 自社サービスで Azure App Service から Azure Kubernetes Service に移行した話 vol.3

    こんにちは。 Azure Cloud Solution Architect の秋山です。 今回は前回に引き続き弊社の Mamoru Biz で k8s に移行した話について書きます。 Vol.1 App Service から AKS へ移行の決断 Vol.2 AKS(k8s) 移行の下準備 Vol.3 AKS(k8s) 移行 <- 本記事 移行をどのように進めたかについて書きます。 まずは移行のスコープの検討です。 移行の進め方 今回の移行では Azure インフラの置き換えが主であり、例えばアプリケーションが動作している Docker コンテナについてはこれまでのものをそのまま k8s 上で動かすことにしました。 (Mamoru Biz では Docker イメージを管理しているのは基本的にアプリケーションエンジニアです。) これは、できる限りインフラエンジニアがコントロール可能な範囲で移行を進めるための措置です。 (実際には k8s 上で動くようになった後に App Service 向けにカスタマイズしていた Docker コンテナを修正する、ということも追って対応しました。)
    ...
  • 自社サービスで Azure App Service から Azure Kubernetes Service に移行した話 vol.2

    こんにちは。 Azure Cloud Solution Architect の秋山です。 今回は前回に引き続き弊社の Mamoru Biz で k8s に移行した話について書きます。 Vol.1 App Service から AKS へ移行の決断 Vol.2 AKS(k8s) 移行の下準備 <- 本記事 Vol.3 AKS(k8s) 移行 Vol.2 AKS(k8s) 移行の下準備 前回の記事 で移行することは決めました。 次のステップは移行を始めるためのリソースの確保とチームへの説明です。 リソース確保 前回の記事に書いたとおり、インフラエンジニアは兼任です。 Azure のレイヤーは自分でどうにかするとして、 k8s, DevOps レイヤーを実装できるメンバが必要でした。 このプロジェクトでは、 DevOps 領域で仕事をしている ジェホ さんとともに取り組むことにしました。 AKS(k8s) 移行のようなプロジェクトでは DevOps 環境の整備はマストです。 自社の SaaS ビジネスとはいえ受託ビジネスのくらまねとやることは大差ありません。 参考: サーバーレス/コンテナ導入支援 | くらまね
    ...
  • 自社サービスで Azure App Service から Azure Kubernetes Service に移行した話 vol.1

    こんにちは。 Azure Cloud Solution Architect の秋山です。 今回は弊社の Mamoru Biz で k8s に移行した話について書きます。 思ったよりも長くなりそうなので以下のように記事を分けます。 Vol.1 App Service から AKS へ移行の決断 <- 本記事 Vol.2 AKS(k8s) 移行の下準備 Vol.3 AKS(k8s) 移行 App Service 移行した話の前に、 Mamoru Biz チームと App Service の関係について書きます。 Microsoft の App Service は簡単に Web アプリを公開できる、スタートアップに適したサービスです。 Mamoru Biz を始めた頃はまさにスタートアップで、私が受託ビジネス くらまね の片手間に短時間でインフラ構築をする必要があり、経験のある App Service を導入しました。
    ...