はてなの技術スタックをサービス・部門ごとにご紹介します。
2015年にリライトプロジェクトを立ちあげ、マイクロサービス化を行いました。主要な機能はScala、表示部分にPerl、機械学習についてはPythonとそれぞれの言語の強みを活かしながら開発をしています。
言語/フレームワーク | Scala / Perl / Go / Python / TypeScript |
---|---|
モバイルアプリ | Swift / Kotlin / fastlane |
ミドルウェア | MySQL / Redis / Elasticsearch / Fireworq |
クラウドサービス / SaaS | Firebase / Bitrise |
「はてなブログ」のサーバサイドはPerlを、編集管理画面などのフロントエンドには一部TypeScriptを採用しています。SSL証明書を更新するサブシステムはGo、決済システムはScala、はてなブログ タグはTypeScriptとGoなど、機能やサービスごとの特性を見て言語を選んでいます。
言語/フレームワーク | 本体: Perl / TypeScript / React サブシステム: Go / Scala / GraphQL / Apollo |
---|---|
ミドルウェア | 本体: MySQL / Redis / Elasticsearch サブシステム: Envoy / ngx_mruby |
クラウドサービスなど | Amazon ECS / AWS Step Functions / Amazon DynamoDB / 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)の開発・運用をしています。よりよいマンガ体験を提供するため、ブラウザの最新技術を積極的に取り入れた開発もしています。
言語/フレームワーク | Perl / Go / TypeScript |
---|---|
モバイルアプリ | Swift / RxSwift / Firebase / Kotlin / Jetpack / fastlane / Danger |
ミドルウェア | MySQL / Redis / Varnish |
クラウドサービス / SaaS | Bitrise |
株式会社KADOKAWAが提供する小説投稿サイト「カクヨム」の開発と運用を通じて、創作する人を支えるプラットフォームを作っています。
言語/フレームワーク | Perl / TypeScript / React / GraphQL / Next.js / Apollo |
---|---|
モバイルアプリ | Swift / RxSwift / Kotlin / React Native / Firebase |
クラウドサービス | Amazon ECS / AWS Batch / AWS Step Functions |
はてなのサービスおよび事業を支える基盤を開発・運用するチーム。はてなのコンテンツプラットフォームのよりよい体験を長く支えていくための、多くのサービスやソフトウェアを担当しています。
言語/フレームワーク | 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 |