LoginSignup
0
0

スタートアップ/自社開発企業のWeb&データインフラ基盤でありそうな構成

Posted at

はじめに

スタートアップや自社開発企業でインフラ環境を0から構築する際、よくある構成を列挙してみました。
※この記事は個人の見解に基づいています。もし偏見があるように感じられたら、申し訳ございません。
※クラウドは、AWS前提とさせてください。

全体構成図

ざっくり、こんな感じかなと思いました。
スクリーンショット 2024-05-19 15.07.12.png

環境構成

dev, prod用のAWSアカウントが必要なので、二つあるといいかなと思いました。
理想は、金銭的に余裕があればですが、stg用のアカウントも欲しいです。

IaC

Terraformが使いやすく、いいかなと思いました。
手動で実行した方が早いので、スキルさえあればそんなにヒューマンエラーが発生するものでもないです。
そのため、最初のうちは無理してGitHub Actionsなど使って自動化する必要はないかなと思ってます。

コンテナリポジトリ

ECRがいいかなと思いました。
タグはlatestで管理せずに、GitHub ActionsのHash値で設定することで、障害対策やロールバックがしやすくなります。

フロントエンドサーバー

静的サイトやSEOを検討しない構成であればS3+CloudFront、SSRやSEOを考慮する場合は、Fargateがいいかなと思いました。
他のサードパーティツールも良いですが、AWS内で完結する方が作業しやすいです。
GitHub Actionsから自動でCI/CDを行うのが良いと思います。

バックエンドサーバー

ECS Fargateがいいかなと思いました。
GitHub Actionsから自動でCI/CDを行うのが良いと思います。

認証サーバー

Amazon Cognitoでいいかなと思いました。
Auth0などの方が色々できてメリットが大きいという話を聞いたことがありますが、結構高いです。

Git

GitHubがいいかなと思いました。
AWSにCode4兄弟のサービスなどありますが、フロント・バックエンドエンジニアは、基本GitHubを使っているためです。

CI/CD

GitHub Actionsがいいかなと思いました。
AWSにCode4系のサービスなどありますが、フロント・バックエンドエンジニアは、基本GitHubを使っているためです。

データベース

Auroraがいいかなと思いました。
RDSと比べて、性能や耐久性が良いためです。
Aurora Serverlessを利用すると、自動スケーリングしてくれます。
ライターエンドポイント、リーダーエンドポイントは使い分けて、開発する方が将来的にスケーリングなどに役立ちます。

NoSQL

DynamoDBのオンデマンドモードでいいかなと思いました。
インフラ的な運用保守がほぼ発生せず、開発しやすいです。

データレイク基盤

S3でいいかなと思いました。
Athenaを用いて、SQLを実行します。
DBからデータをS3へ転送する仕組みをつくればよさそうです。

DWH基盤

特に希望がなければ、S3(Athenaを利用)、データサイエンティストの好みで、Redshift/Bigquery/Snowflakeがいいかなと思いました。
データ分析の環境は、特に正解・不正解がないので、どのサービスを選んでも正解だと思ってます。
そのため、データサイエンティストの好みで良いです。

ETLツール

バッチ処理はGlueやAthane、ストリーミング処理はLambdaやKinesisを使うのがいいかなと思いました。

BIツール

データサイエンティストの好みで決めればいいかなと思います。
AWSならQuickSight、サードパーティであれば、TablauやLookerなど。
データ分析の環境は、特に正解・不正解がないので、どのサービスを選んでも正解だと思ってます。
そのため、データサイエンティストの好みで良いです。

生成AI

BedrockやSageMakerを利用するのがいいかなと思いました。
金額がめちゃくちゃ高いので、リザーブドインスタンスやAWSの営業さんとの相談は必須かと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0