Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active September 7, 2024 17:12
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.
時雨堂を支える技術

時雨堂を支える技術

日時:2024-09-11
作:時雨堂
バージョン:2024.4
URL:https://shiguredo.jp/

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

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

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

言語

Erlang/OTP

バージョン:最新版

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

利用している OSS

TypeScript

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

CSS

Go

バージョン:最新版

自社クラウドサービスや WebRTC P2P 向けシグナリングサーバ、自社製品向けゲートウェイ、E2EE ライブラリを開発するのに利用しています。

主な利用ライブラリは ... 。

Swift

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

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

Kotlin

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

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

C++

主に SDK やクライアント、ツールを開発するために利用しています。

Python

バージョン:最新版

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

reStructuredText

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

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

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

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

Markdown

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

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

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

その他

Linux

基本的には Ubuntu TLS を利用しており、 Ubuntu 22.04 を利用しています。

クラウドサービスで利用しているベアメタルサーバーでは Ubuntu Pro を契約して利用しています。

Git

GitHub を採用しています。

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

Docker

バージョン:最新版

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

Docker Team を契約して利用しています。

VictoriaMetrics

URL:https://victoriametrics.com/

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

ログデータのため込みに VictoriaLogs を利用していく予定です。

Grafana

URL:https://grafana.com/

VictoriaMetrics や TimescaleDB を利用した解析のために利用しています。

Meilisearch

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

オンラインドキュメントの全文検索や、自社サービスでの検索機能に利用しています。

DuckDB

URL:https://duckdb.org/

S3 互換オブジェクトストレージと連携して利用していく予定です。 主に顧客向けの可視化ツールとして利用していきます。

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

サービス

Google Workspace

費用:680 円 x 人数分 / 月

Business Starter に入っています

  • GMail
  • Google Group
  • Google Calendar
  • Google Drive
  • Google Domain

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

GitHub Enterprise

費用:$ 21 x 人数分 / 月

ローカルリポジトリとかは無くすべてのリポジトリを GitHub で管理しています。

GitHub の連携は通知とビルドです。GitHub Issues と GitHub Project を利用しています。

GitHub Actions もがっつり使ってます。

GitHub Copilot Enterprise

費用:$ 39 x 人数分 / 月

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

ChatGPT Team

費用:$ 300 x 人数分 / 年

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

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

Akamai Connected Cloud (Linode)

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

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

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

Vultr

主に外形監視目的で利用しています

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

日本リージョンがあり、シンプルで使いやすいです。

Kibela

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

board

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

Slack Pro

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

Docker Hub Team

料金:$ 9 / 月 x 人数分 (年契約)
URL:https://hub.docker.com/

プライベートリポジトリを利用するため Team プランを契約しています。

https://registry.hub.docker.com/repos/shiguredo/

Medium

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

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

Zenn Publication

料金:無料
URL:https://zenn.dev/p/shiguredo

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

Dropbox Business

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

Office365

費用:900 円 / 月 x 人数分

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

1Password Teams

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

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

Tailscale

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

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

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

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

Figma

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

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

Mermaid Chart

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

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

Open Collective

URL:https://opencollective.com/shiguredo

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

Cloudflare

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

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

Managed Service for TimescaleDB

将来的に Akamai Connected Cloud の Postgres へ移行予定です

URL:https://docs.timescale.com/mst/latest/

自前でのデータベース運用はつらいので ... 。

時雨堂を支えていた技術

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

時雨堂を支えていた技術

宣伝

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