Safie Engineers' Blog!

Safieのエンジニアが書くブログです

サーバー・インフラ

マイクロサービスアーキテクチャ輪読会を実施してみた

マイクロサービスアーキテクチャの理解を深めるための社内輪読会の実践例を紹介。組織の課題解決から実施方法、得られた成果まで詳しく解説します。

Kinesis Client Library(v2) for Python で躓きそうなポイント

この記事は Safie Engineers' Blog! Advent Calendar 23日目の記事です はじめに はじめまして、サーバーチームの城山です。 弊社の一部サービスで Kinesis Client Library(v2) for Python を利用しており、私なりに感じた躓きやすいポイントについてお話し…

Stream Processing with AWS Kinesis and Apache Flink

Stream Processing with AWS Kinesis and Apache Flink.

CPythonのガベージコレクションの実装解説

はじめに この記事はSafie Engineers' Blog! Advent Calendar 16日目の記事です セーフィーのサーバーサイドエンジニアの三村です。 セーフィーのサーバーサイドでは箇所によって色々な言語(Python, Go, Java…)が用いられていますが、コードベースの大部分…

2024年新卒エンジニア研修-インフラ構築編

セーフィーの2024年新卒エンジニア研修で実施したインフラ構築について、実践的な知見を共有します。AWS上でTerraformを使用したIaCの導入から、Multi AZ構成の採用、定期実行タスクの実装、本番環境でのバージョン管理やメンテナンス対応まで、実際に直面し…

2024年新卒エンジニア研修-isai connect開発のアウトプット_サーバーサイド

この記事は Safie Engineers' Blog! Advent Calendar 4日目の記事です。 はじめに こんにちは。第3開発部でエンジニアをしている伊東です。今回は2024年新卒エンジニア研修における、バックエンド分野の開発についてお話しします。 はじめに セーフィーでの2…

LLMチャットツール(Amazon Bedrockおよび Bedrock Claude Chat)の社内導入

近年大規模言語モデル (LLM) 技術の発達に伴い、社内でもGitHub Copilotをはじめとする各種AIツールの導入が進んでいます。 本件ではLLM技術を用いたAIチャットツールとして Amazon Bedrock および Bedrock Claude Chat を導入した経緯について紹介します。

AWS Startersに参加しました

AWS Startersハンズオンを通じて、VPC、EC2、RDS等の基本サービスを実践的に学び、拡張性のあるWordPress環境を構築した体験をレポートします。

カメラ映像録画サーバのデプロイを改善した話

セーフィーのバックエンドシステムとして、カメラから映像を常時受け取りストレージに保存するアプリケーション(カメラサーバ)が稼働しています。カメラサーバはJava、動画配信アプリケーションはGolangで実装されています。 このセーフィーのシステムでカ…

タイムゾーンと、Pythonでのその扱い方の注意点

セーフィーでは海外への事業展開に伴って、サービスの多言語化対応や日本標準時以外のタイムゾーン対応を行ってきました。 サーバーチームで特に苦労したタイムゾーン対応について、実装で得た知見を紹介します。 タイムゾーンの概略と、Pythonでタイムゾー…

セーフィーで取り組むマイクロサービス化について

セーフィー株式会社は創業から9年経過し、サービスの拡大と開発者の増加に伴う開発生産性の問題に直面しています。この問題の解消のため、職能横断型チームの再編成とコードベースの分割によるマイクロサービス化を進めています。

ChatGPTの助けを借りて、FastAPIで画像ビューアーを作ってみた

Stable Diffusionで生成した画像とプロンプトを一緒に表示できるツールが欲しくなり、ChatGPT(GPT-4)の助けを借りて簡単なものを作成しました。また、セーフィーのサービスの一部で使用しているFastAPIフレームワークの基礎を学ぶ良い機会でもあったので、こ…

tblsのViewPoint機能を用いたGithub Actions上でのDBドキュメントの自動生成

tblsのViewPoint機能を用いたGithub Actions上でのDBドキュメントの自動生成の仕組みついて、ご紹介します

wscatでcurlみたいにWebSocketの動作確認をする

WebSocketを用いているサーバ側のアプリケーションの動作確認にwscatというツールが便利だったよという話をします。

AWS Summit Tokyo 2023 で登壇してきました

AWS Summit Tokyoで「18万台のカメラが接続するSafieのモダナイゼーションへの取り組み」というテーマで登壇しました。サービスの成長に伴うトイル(日常的な運用作業)の増加に対し、チームで取り組んだ改善策を紹介いたします。

FastAPI で Pydantic v2を使うと性能向上!

FastAPIでPydantic v2を使った場合の性能について、実際にv1とv2それぞれを利用した実装例を示しながら性能比較し検証しました!

SCIMを用いたディレクトリ連携機能を実装する

ディレクトリ連携機能について、SCIMプロトコルを中心にご紹介します。エンタープライズ向けの効率的なユーザー管理を実現する技術について、開発者の視点から具体的な事例を交えて解説します。

Amazon Aurora MySQL をバージョンアップグレード (5.6 -> 5.7) しました

Amazon Aurora MySQL をバージョンアップグレード (5.6 -> 5.7) する方法について、実例を交えてまとめました。レプリケーション & DNS切り替え方式を採用しており、インプレースアップグレード方式よりもダウンタイムは短く抑えられています

driftctlによるIaC化推進に向けた取り組み

セーフィーにおける driftctl というツールを活用したIaC化推進に向けた取り組みについてご紹介します

AWS Cost Categories でコスト集計作業を効率化

AWS Cost Categories とは何か、どのようなシーンで活用できるのか、実際の設定方法、気をつけるポイントについて書いていきたいと思います。

セーフィーではなぜフレームワークにFastAPIを採用することになったのか

セーフィーでは、バックエンドAPI開発にFastAPIを採用しました。高速な処理や自動ドキュメント生成、型による堅牢性が導入の決め手です。実際の開発でも効率が向上し、特にドキュメント機能が大きな助けとなっています。

FastAPI StreamingResponse の使い方

Safieでは画像など大きなオブジェクトを扱うAPI開発にFastAPIを活用しています。特にStreamingResponseは効率的なダウンロードに便利ですが、情報が少ないため、S3や他サービスからの応答例、同期・非同期比較、テスト実装などを紹介します。

インフラからサーバサイド開発に転向した話

インフラエンジニアとして入社後、サーバサイド開発へ転向しました。入社から転向にいたる経緯、チャレンジしてみてどうだったかを振り返ります!

SAML認証を用いたSSO(シングルサインオン)を実装する

リリースされたばかりのSafie Managerの新機能「シングルサインオン(以下SSO)」と、それを実現させる仕組み「SAML認証」について解説させていただきます。

セーフィーにはどんな種類のエンジニアがいるの?職種別にエンジニアを紹介!

セーフィーのクラウド録画サービスを支える技術とエンジニアの仕事内容をご紹介します。カメラからサーバー、AI、アプリまで、各領域を担うエンジニアの具体的な役割と使用技術を、システムの全体像と共にお伝えします。

Athenaを活用した社内問い合わせ対応について紹介します

ユーザーより問い合わせを受け、システム内を調べなければならないとき、サーバーサイドはどのように対応しているのか!その一例を紹介したいと思います。

GitHub Actions で小さな不便を解消してみた

【クラウド録画サービス、Safie( セーフィー) 】GitHub Actions で小さな不便を解消してみました。

© Safie Inc.