はてなの技術スタックをサービス・部門ごとにご紹介します。
2015年にリライトプロジェクトを立ちあげ、マイクロサービス化を行いました。主要な機能はScala、表示部分にPerl、機械学習についてはPythonとそれぞれの言語の強みを活かしながら開発をしています。
言語/フレームワーク | Scala / Perl / Go / Python / TypeScript |
---|---|
モバイルアプリ | Swift / Kotlin / fastlane |
ミドルウェア | MySQL / Valkey / Elasticsearch / Fireworq |
クラウドサービス / SaaS | AWS (ECS Fargate, CloudFront, ElastiCache, OpenSearch Service, Aurora) / Google Cloud (BigQuery) / Firebase / CircleCI / GitHub Actions |
「はてなブログ」及び法人向けノーコードCMS「はてなCMS」の開発・運用を行っています。「はてなブログ」ではPerl、「はてなCMS」ではNext.jsを利用しています。サービスの歴史や特性と向き合いながら多様な技術選定を行っています。
言語/フレームワーク | TypeScript / Next.js (App Router) / Perl / Go / Scala |
---|---|
ミドルウェア | MySQL / Redis / Elasticsearch / Varnish |
クラウドサービスなど | AWS (ECS Fargate, CloudFront) / Google Cloud (BigQuery) / Let’s Encrypt |
エンジニアをワクワクさせる直感的サーバー監視サービスの「Mackerel」では、主要な開発言語としてScalaを採用し、サブシステムやOSSとして公開しているエージェントにはGoを利用しています。フロントエンドは現在、全面React化を進めているところです。
言語/フレームワーク | Scala / Go / TypeScript / Python |
---|---|
ミドルウェア | PostgreSQL / Redis |
時系列データベース | Amazon DynamoDB / Amazon Kinesis / AWS Lambda / Amazon S3 |
クラウドサービス | Amazon ECS / Amazon ElastiCache |
「少年ジャンプ+」や「となりのヤングジャンプ」(株式会社集英社)、マガポケ(株式会社講談社)などに採用されているマンガビューワ(GigaViewer)、「コミックガルド+」(株式会社オーバーラップ・プラス)や「少年ジャンプ+」(株式会社集英社)に採用されているアプリ向けマンガビューワ(GigaViewer for Apps)の開発・運用をしています。よりよいマンガ体験を提供するため最新技術を積極的に取り入れた開発もしています。
使用技術 | Perl / Go / TypeScript / Next.js / React / GraphQL / Aurora for MySQL / Elasticache for Valkey / DynamoDB / BigQuery / Athena / ECS Fargate / Lambda / CloudFront / nginx / Fluentd / Mackerel / Sentry / GitHub Actions / Terraform / CDK / fujiwara-ware |
---|
言語/フレームワーク | Android: Kotlin / Jetpack Compose / Kotlin Coroutines iOS: Swift / SwiftUI / UIKit / Swift Concurrency / Combine |
---|---|
主要ライブラリ・ツール | Android: Apollo Kotlin / Dagger Hilt / Room / DataStore iOS: Apollo iOS / swift-dependencies / Needle / Realm Swift / Swift Package Manager / CocoaPods |
クラウドサービス / SaaS | CircleCI / GitHub Actions |
マンガ投稿プラットフォームの「ジャンプルーキー!」(株式会社集英社)や「マンガノ」(株式会社集英社と協業)の開発・運用を通じて、作家の多様な創作活動を支援しています。
言語/フレームワーク | Go / Perl / TypeScript / React / Next.js / GraphQL |
---|---|
ミドルウェア | MySQL / Redis / Varnish / Nginx |
クラウドサービス / SaaS | AWS / Firebase / Google Cloud / GitHub |
株式会社KADOKAWAが提供する小説投稿サイト「カクヨム」の開発と運用を通じて、創作する人を支えるプラットフォームを作っています。
言語/フレームワーク | Perl / TypeScript / React, Next.js / GraphQL / Go / OpenAPI |
---|---|
モバイルアプリ | Swift / SwiftUI / Kotlin / Jetpack Compose / GraphQL |
クラウドサービス | AWS (ECS Fargate, CloudFront) / Google Cloud (BigQuery) / GitHub Actions |
はてなのサービスおよび事業を支える基盤を開発・運用するチーム。はてなのコンテンツプラットフォームのよりよい体験を長く支えていくための、多くのサービスやソフトウェアを担当しています。
言語/フレームワーク | Perl / Go / TypeScript / React / Apollo / GraphQL |
---|---|
ミドルウェア | Kubernetes / Amazon Aurora / MySQL / Elasticsearch / Redis / Argo CD / Fluentd / Fluent Bit |
クラウドサービス | Amazon EKS / Google Cloud Vision / Google Cloud Functions / Google App Engine |
各サービス開発チームへの技術的な支援を行うことをミッションとし、サービス基盤の共通部分の運用と開発を担う部署です。現在は共通基盤の刷新を主に行っています。
ツール/ミドルウェア | Chef / Ansible / Apache HTTPd / nginx / Squid / Varnish Cache / memcached / MySQL / MHA / Redis / fluentd / ElasticSearch / Keepalived / LVS / Postfix |
---|---|
クラウドサービス / SaaS | Mackerel / AWS CloudFormation / AWS CDK / AWS Lambda / AWS RDS for MySQL / Amazon Aurora / AWS ECS / AWS CloudFront / AWS Route 53 / Elastic Load Balancing / AWS CloudWatch |
プログラミング言語 | Perl / JavaScript / TypeScript / Ruby / Python / Go |
技術レイヤー | 基礎的なネットワークの知識 (TCP/IP) / 基礎的なHTTP通信の知識 / Debian / サーバ仮想化 (Xen) / DNSの知識 / Docker |
「toitta」はインタビュー分析を支援するマルチテナント SaaS です。インタビューの分析には ML・AI を利用しており、分析内容に合わせて適したモデルを採用しています。インフラ環境の構築には Google Cloud を利用し、セキュアなサービス提供を実現しています。
言語 / フレームワーク / ミドルウェア | TypeScript / React, Next.js / Python / PostgreSQL |
---|---|
機械学習 / AI | Whisper / Azure OpenAI API (GPT) / Vertex AI (Gemini) |
クラウドサービス / SaaS | Google Cloud (Cloud Run, Cloud SQL, Cloud Storage, BigQuery) |