はじめに

はじめまして。 CTOの山田です。この記事では、ispecが様々なパートナー様とプロジェクトを行う上で、どのような技術を使っているのかを解説していきたいと思います。

ispecは、パートナー様の新規事業の立ち上げの際に、開発・データ分析・デザインなどのアセットをご提供させていただいています。その中でも開発は、トレンドが目まぐるしく変化する中で、そのトレンドをキャッチアップし、追従していくことで、よりクオリティの高いものをパートナー様、ユーザー様に届けることを目指しています。

プログラミング言語

バックエンドは主にGoRubyで開発を行っています。基本的にはGoで開発をすることが多いのですが、Rubyの柔軟性を活用したい場合はRubyを採用することもあります。

Webフロントエンドは、TypeScriptを利用しており、iOSアプリにはIonic FrameworkかSwiftを採用しています。

システム設計


Distributed Monolith / Modular Monolith

ispecが設計するソフトウェアは、基本的に

を採用しています。

複数人でゼロイチの開発を素早く行うためには、アプリケーションやモジュールを素結合に保ってお互いの作業に影響がでないようにすることが必要です。そのため、このようなアーキテクチャを採用しています。

インフラ


Terraform

基本的にはIaCのデファクトツールであるTerraformを用いてインフラを構築しています。

PRのタイミングでplanが走り、マージのタイミングでapplyが走るGitHub Actionsが社内で共有されており、それを活用しながら開発しています。

Amazon EKS / ECS