Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active March 15, 2025 00:17
Show Gist options
  • Save voluntas/6308998 to your computer and use it in GitHub Desktop.
Save voluntas/6308998 to your computer and use it in GitHub Desktop.
時雨堂を支える技術

時雨堂を支える技術

日時:2025-03-15
作:時雨堂
バージョン:2025.2
URL:https://shiguredo.jp/

時雨堂クラウドサービスを支える技術

Zenn のスクラップで頻繁に更新しています。

時雨堂クラウドサービスを支える技術 v1

言語

Erlang/OTP

バージョン:最新版

時雨堂の主力製品である WebRTC SFU Sora を開発するのに利用しています。 C/C++ 拡張である NIF は現在利用していません。

利用している OSS

TypeScript

自社製品の JavaScript SDK や開発ツール、自社サービスにて利用しています。

主要な利用ライブラリ

CSS

Rust

バージョン:最新版

C++ から Rust へ移行中です。自社製品 SDK やツールを開発するのに利用しています。

Go

バージョン:最新版

自社サービスのバックエンドや自社 OSS のサーバー製品を開発するのに利用しています。

主要な利用ライブラリ

Swift

バージョン:できるだけ最新版

自社製品の iOS/iPad/macOS 向けの SDK 開発のために利用しています。

Kotlin

バージョン:できるだけ最新版

自社製品の Android SDK 開発のために利用しています。

C++

主に SDK やクライアント、ツールを開発するために利用しています。 今後は Rust へ移行していく予定です。

Python

バージョン:最新版

主に SDK や E2E テストに利用しています。テストランナーは pytest を利用しています。

reStructuredText

頻繁に更新される記事やクローズドソースの README.rst など

Sphinx を製品ドキュメントとして利用しています。

時雨堂 Sphinx テーマ も開発しています。

基本的には GitHub の自動レンダリングで足りてます。

Markdown

一回だけしか更新されない記事や OSS の README.md など

GitHub や Kibela は markdown だったりするので。

rst と md はどちらも書けて損はないというスタンスです。

formatter/linter は DavidAnson/markdownlint: A Node.js style checker and lint tool for Markdown/CommonMark files. を利用しています。

その他

Linux

最新の Ubuntu TLS を利用しています。

Git

GitHub を採用しています。

基本的には git-flow 、ドキュメントやサンプルは github-flow っぽい独自方式を利用しています。

Docker

主にビルドやテスト、パッケージ作成環境に使用しています。

VictoriaMetrics

URL:https://victoriametrics.com/

監視データのため込みに利用しています。

Grafana

URL:https://grafana.com/

VictoriaMetrics や `Grafana DuckDB Data Source Plugin <https://github.com/motherduckdb/grafana-duckdb-datasource> を利用した解析のために利用しています。

Meilisearch

URL:https://www.meilisearch.com/

オンラインドキュメントの全文検索に利用しています。

DuckDB

URL:https://duckdb.org/

S3 互換オブジェクトストレージと連携して可視化ツールとして利用しています。

また `DuckDB-Wasm < https://duckdb.org/docs/api/wasm/overview.html>`_ も利用しています。

なぜ DuckDB を採用したのか

サービス

Google Workspace

URL:https://workspace.google.com/
費用:1600 円 x 人数分 / 月
プラン:Business Standard
  • GMail
  • Google Group
  • Google Calendar
  • Google Drive
  • Google NotebookLM
  • Google Gemini

このあたりを主に使っています。

Discord

URL:https://discord.com/
費用:約 64000 円

自社製品のコミュニティの場としてサーバーブーストで最大レベルにして利用しています。

https://discord.gg/shiguredo

GitHub Enterprise

URL:https://github.com/enterprise/
費用:$ 21 x 人数分 / 月

すべてのリポジトリを GitHub で管理しています。

  • タスク管理には GitHub Issues と GitHub Project を利用しています
  • GitHub Actions と GitHub Packages もがっつり使ってます

GitHub Copilot Enterprise

費用:$ 39 x 人数分 / 月

従業員だけでなく、フルタイムでのお手伝いしてくれている人にも払い出しています。

ChatGPT Team

費用:$ 300 x 人数分 / 年

従業員だけでなく、フルタイムでのお手伝いしてくれている人にも払い出しています。

従業員は API が自由に使えます。

Akamai Connected Cloud (Linode)

URL:https://www.linode.com/

メインで利用しています。

  • Linode
  • NodeBalancers
  • Volumes
  • VPC
  • VLAN
  • Firewalls
  • StackScripts
  • Placement Group
  • Object Storage
  • Managed PostgreSQL

Vultr

URL:https://www.vultr.com/

Akamai Connected Cloud ではない別クラウドとして監視サーバなどで利用しています。

Kibela

URL:https://kibe.la/
費用:社員数 x 540 円 / 月

無料プランへ移行予定です。

board

URL:https://the-board.jp/
費用:Basic (1,980/月) の 20% オフ(βユーザ割引) + 5% オフ(セキュリティ割引)な価格

Slack Pro

URL:https://slack.com/
料金:850 円 / 月 x 人数分 (年契約)

Ghost

料金:$25 / 月 (年契約)
URL:https://ghost.org/

Medium から以降を機に独自ドメインを設定しました。

https://blog.shiguredo.jp/

Zenn Publication

料金:無料

自社のアピール用です。ちょっとした技術について書いています。

https://zenn.dev/p/shiguredo

Dropbox Business

費用:1500 円 / 月 x 人数分 (年契約)
プラン:Standard

Office365

費用:900 円 / 月 x 人数分

お客様からくる契約書やらのワード、税理士とのやり取り用のエクセル、事務系には必須ツール。

1Password Teams

費用:$47.88 / 月 x 人数分 (年契約)

チーム用の最も安全なパスワードマネージャー | 1Password

Tailscale

URL:https://tailscale.com/
費用:$ 6 / 月 x 人数 (年契約)
プラン:Starter plan

Tailscale はマルチクラウドのサーバ間通信と社内サーバへの外部からのアクセスへ利用しています。

本当に便利です。 事例載ってます。

ベアメタルサーバーを利用したクラウドサービスで発生する課題を Tailscale で解決する · Tailscale

Figma

費用:1800 円 / 月 x 人数 (年契約)

プロフェッショナルチームを契約して利用しています。 デザインだけでなく、図を作るのにも利用しています。

Mermaid Chart

URL:https://www.mermaidchart.com/
費用:$80 / 年

Pro プランを契約して利用しています。プロジェクト毎に共有できて便利です。

Open Collective

OSS のスポンサーをする手段として利用しています。透明性が素晴らしいです。

https://opencollective.com/shiguredo

Cloudflare

徐々に依存を減らしています

費用:Cloudflare Workers + Advanced Certificate Manager
  • DNS に Cloudflare を利用しています
  • 自社サービスの Edge 証明書を追加するため Advanced Certificate Manager を契約しています
  • 自社サイトは Cloudflare Pages を利用しています
  • 自社サイトのプレビュー向けに Cloudflare Zero Trust を利用してます
  • 自社サービスで Cloudflare Workers を利用しています
  • 自社サービスの管理画面向けに Cloudflare Zero Trust を利用してます

時雨堂を支えていた技術

解約したサービスや、使わなくなった技術は別にまとめています。

時雨堂を支えていた技術

Medium

料金:無料分のみ
URL:https://medium.com/shiguredo

自社のアピール用です。自社製品や自社が扱ってる技術について書いています。

Managed Service for TimescaleDB

Akamai Connected Cloud の Managed Postgres へ一部移行済みで、残りも移行中です

URL:https://www.timescale.com/

宣伝

WebRTC SFU Sora

発売中です

URL:http://sora.shiguredo.jp/

時雨堂 WebRTC SFU Sora 開発ログ

Sora Cloud

提供中です

URL:https://sora-cloud.shiguredo.jp/

時雨堂 Sora Cloud 開発ログ

WebRTC Native Client Momo

オープンソースにて提供中です

URL:https://github.com/shiguredo/momo

OpenMomo プロジェクト

WebRTC Signaling Server Ayame

オープンソースにて提供中です

URL:https://github.com/shiguredo/ayame

OpenAyame プロジェクト

参考

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment