Today, I am going to explain Infrastructure Design in AWS and Firebase.
Purposes of this article creation
- To be able to design Infrastructure in AWS and Firebase on my own.
- To be able to create Infrastructure Design Document.
Infrastructure Design Process
In this case, I will create Infrastructure Design Document for a SNS task management application on Cacoo as a deliverable.
【What is Infrastructure Design?】
- To create the necessary environment for the business by using IT systems.
- To create the appropriate system configuration and network configuration from the application side requirements.
【Process】
- Determine what language/framework will be used on the back-end and front-end
- Requirements Definition
- Design the back-end infrastructure
- Design the front-end infrastructure
- Other Design Items
- Building infrastructure
Determine what language/framework will be used on the back-end and front-end
Trend
-
Separate front-end and back-end development.
- Can be released to the outside world as an API.
- Clarification of developer responsibilities / division of labor.
- Easy to scale/prevent debt.
-
Mainstream back-end skills
- Dynamically-Typed: PHP, Python, Ruby
- Statically-Typed: Go
-
Mainstream front-end skills
- SPA: React, Vue.js
- SSR: Next.js, Nuxt.js
Selecting the technology for the service you want to create
【Service to be created】
- Task management SNS.
【Deliverable】
- back-end: Ruby, Ruby on Rails.
- front-end: JavaScript, React.
Requirements Definition
- Cheapest price possible.
- Configuration that allows you to focus on development.
- Not too much time is spent on infrastructure management.
Design the back-end infrastructure
【Items to consider】
- Network: VPC
- Hosting: Beanstalk
- API: API Gateway
- DB: RDS
- Domain: Route 53
- Operation Monitoring/Analysis: CloudWatch
Design the front-end infrastructure
【Items to consider】
- Hosting: Firebase Hosting
- Authentication: Firebase Authentication
- Domain: Google Domains
Other Design Items
- CI/CD: GitHub Actions
Building infrastructure
※「Building AWS Infrastructure」is here.
※「Building Firebase Infrastructure」is here.
Deliverable
URL: NONE.
References
[Web Front End Trends]
- 「ようこそ!2020年、Webフロントエンドの世界へ」:https://www.cresco.co.jp/blog/entry/11716/
- 「SPAを用いたWeb開発が業務アプリに最適な理由」:https://qiita.com/goofmint/items/54645af6ffbfc1414b3b
- 「React・Vueのフロントエンドで利用できるバックエンドサービスを整理する」:https://www.hexabase.com/column/backend-service-for-frontend/#qiita
- 「2022年におけるフロントエンド開発のベースライン」:https://engineering.linecorp.com/ja/blog/uit-baseline-for-front-end-development-in-2022
[Knowledge required for Infrastructure Engineer]
- 「インフラエンジニアとして活躍するために身に付けておきたい知識とは」:https://mynavi-creator.jp/blog/article/basic-knowledge-of-infrastructure-engineer
- 「インフラエンジニアに必要な勉強方法5選|役立つ知識も網羅」:https://www.netvisionacademy.com/magazine/3256/
- 「インフラエンジニア必須のスキルを完全網羅!スキルチェックシート付き」:https://www.sejuku.net/blog/125159
Word Explanation
NONE.
Summary/What I learned this time
【Summary】
※This article may be updated in the future.
【What I learned this time】
NONE.