タグ

ブックマーク / zenn.dev/shiguredo (8)

  • DataPacket 雑感

    10Gbps Unmetered Dedicated Servers | DataPacket.com を自社サービスに採用して 1 年以上過ぎたので振り返ってみます。 前提 著者は選定と調達を担当しています 著者は運用や構築に関して素人であり、実際の運用や構築は行っていません オープンになっていない価格については一切書きません 自社製品は Raft ベースのクラスター機能を持っています まとめ (2024-03-03 版) DataPacket の利用で不満は今のところない マシンとネットワークのコストパフォーマンスが大変良い プライベートネットワークに固定できないため DataPacket 間の通信は Tailscale の利用をやめた まとめ DataPacket の利用で不満は今のところない マシンとネットワークのコストパフォーマンスが大変良い Tailscale との組み合わせが

    DataPacket 雑感
  • 3rd Generation Intel® Xeon® Scalable Processors における暗号処理の高速化について

    3rd Generation Xeon において追加された Crypto Acceleration についてのまとめです。 おかしな部分等あれば指摘いただけると幸いです。 概要 3rd Generation Intel® Xeon® Scalable processors (と一部の第 10 世代 Core シリーズ)においては AVX512 系の命令がいくつか追加されており、それらの命令を利用することで暗号処理の高速化を実現することができます。 これらの高速化に関連する拡張命令は次の 4 つです。 AVX512F AVX512_IFMA 積和演算(fuse multiply add)のための命令 VAES VPCLMULQDQ (英語wikipediaより抜粋・翻訳) これらは AVX-512 の機能それ自体ではありません。AVX-512 とともに、GFNI、PCLMULQDQ、AE

    3rd Generation Intel® Xeon® Scalable Processors における暗号処理の高速化について
  • OnlineOrNot のススメ

    利用しているサービスに何か障害が起きたとき真っ先に見に行くのがステータスページですが、ステータスページ作るのはめんどくさいです。 そこで自社で利用しているステータスページサービスを簡単に紹介したいと思います。 OnlineOrNot - Free Status Pages and Uptime Monitoring - OnlineOrNot 仕組みとしては定期的に指定された URL をチェックしにいくというシンプルなものです。 ちなみに、時雨堂のサービスのステータスページは以下になります。 どんな感じかのイメージをつかんでもらえるといいかなと。 Shiguredo Inc. Status プラン 5 URL までは無料で使えます。カスタムドメインや URL を増やしたい場合は有料です。 さらにこれ Team プランだとプライベートステータスページも提供してくれるようです。 Plans &

    OnlineOrNot のススメ
  • サーバー間通信の暗号化を Tailscale に丸投げする

    まとめ Erlang/OTP の分散機能利用時のサーバー間通信はデフォルトでは暗号化されていない Erlang/OTP が提供する分散機能の暗号化は TLS を利用する Tailscale で P2P VPN をサーバー間で張って Erlang/OTP の分散機能オススメ Erlang 分散機能 時雨堂で開発しているミドルウェアソフトウェアは Erlang/OTP (以下 Erlang) を利用しています。 Erlang は分散機能が入っています。分散機能を簡単に説明すると、他のサーバーにある Erlang とやりとりができる仕組みです。 このときにサーバ間を利用する際に、暗号化が必要になりますが、Erlang が標準で提供為てる機能はサーバー間通信を TLS にする方法がありますが、Erlang に TLS 処理させるのは CPUべるしお勧めはできません。 Erlang -- Us

    サーバー間通信の暗号化を Tailscale に丸投げする
  • TimescaleDB 雑感

    TimescaleDB を自社サービスに採用して 1 年以上過ぎたので振り返ってみます。 前提 著者は SQL に関して TimescaleDB を採用を決めたタイミングから勉強した初心者です Managed Service for TimescaleDB を採用しています まとめ TimescaleDB の利用で不満は今のところない sqlc との組み合わせは最高 開発会社が提供するマネージドサービスは最高 なぜ TimescaleDB を採用したのか 統計情報のため込みと集計 自社製品であるミドルウェアパッケージソフトウェアのクラウド版を提供するにあたり、何よりも重視したのは統計情報の提供です。それもサーバーの統計情報ではなく接続単位での接続情報を顧客に提供することです。 自社製品はリアルタイムに音声や映像を配信する製品ということもあり、一定間隔での統計情報の収集が重要になります。ネッ

    TimescaleDB 雑感
  • Go の HTTP クライアントで mTLS を利用する

    mTLS を利用することで、クライアント・サーバー間で強固な認証の仕組みを簡単に導入することができます。 今回は Go で書いたバッチ処理の結果を Cloudflare Workers 経由でデータベースに保存した歳に、 Go から Cloudflare Workers へのアクセス制御に Cloudflare mTLS を採用したので、まとめておきました。 個人的に mTLS (Clouddflare mTLS) を流行らせたいという思いもあります。 Go のコード package main import ( "crypto/tls" "crypto/x509" "io" "log" "net/http" "net/url" "os" "time" ) const ( // mTLS を有効にして保護している URL // クライアント証明書が無い状態でアクセスするとエラーコード 102

    Go の HTTP クライアントで mTLS を利用する
  • docker compose でローカルに TimescaleDB と Meilisearch を用意する

    docker-compose.yml を用意して docker compose up で起動します docker compose down で終了します version: "3.9" services: # up -> down で毎回データベースの初期化されて、テスト用の初期データが入ります timescaledb: image: timescale/timescaledb:2.8.1-pg14 ports: - "5432:5432" environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=password - POSTGRES_DB=default volumes: # timescaledb 側で 001 と 002 があるのでその後に実行するために 100 からスタート # https://github.com/time

    docker compose でローカルに TimescaleDB と Meilisearch を用意する
  • dockertest のススメ

    概要 dockertest は go でテストを書く際に docker 経由で指定したコンテナを起動してくれてテストが終わったらコンテナを削除してくれる便利ライブラリです。 モチベーション 時雨堂では TimescaleDB という PostgreSQL に TSDB 拡張を追加した少し変わった RDBMS を利用しています。 TimescaleDB 専用の関数があったりするため、モックなどを使わずにテストを書くのが現実的です。 dockertest ory/dockertest: Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work. 基的には dockertest の README に書いてある内容を

    dockertest のススメ
  • 1