AWS 기반 프로젝트

현대적 웹 애플리케이션 구축

웹 애플리케이션 배포, 데이터베이스 연결 및 사용자 행동 분석

소개: Python으로 현대적 웹 애플리케이션 구축

단계별 지침을 따라 첫 번째 현대적 애플리케이션을 구축하십시오.

개요

이 자습서는 AWS에서 처음으로 현대적 애플리케이션을 구축하는 방법을 소개합니다. 현대적 애플리케이션은 비즈니스 로직을 격리하고, 재사용 및 반복을 최적화하며, 가능한 모든 곳에서 오버헤드를 제거합니다. 현대적 앱은 인프라 유지 관리 작업을 자동화하면서 코드 작성에 집중할 수 있게 해주는 서비스를 사용하여 구축됩니다.

방문자가 판타지 속의 피조물(mysfit)을 반려동물로 입양할 수 있는 Mythical Mysfits라는 샘플 웹 사이트를 구축합니다. www.mythicalmysfits.com에서 이 웹 사이트의 작동 샘플을 볼 수 있습니다.

이 자습서 버전은 Python 언어 버전의 자습서와 일치합니다. 다른 언어로 자습서를 시험해보고 싶다면 메인 브랜치에서 원하는 프로그래밍 언어를 선택하십시오(페이지 하단으로 스크롤).

배우게 될 내용

이 자습서에서는 위에서 설명한 것과 같은 잘 구성된 샘플 웹 애플리케이션을 생성하는 방법을 단계별로 설명합니다. 이 웹 애플리케이션을 프런트 엔드 웹 서버에서 호스팅하고 백 엔드 데이터베이스에 연결하는 방법도 알아봅니다. 또한 사용자 인증 설정 방법과 사용자 행동을 수집 및 분석하는 방법을 알아봅니다.

이 사이트에서는 가장 마음에 드는 mysfit을 찾아 ‘좋아요’를 누르고 선택한 mysfit을 입양 예약하는 등의 기본적인 기능을 제공합니다. 또한 향후 분석을 위해 사용자 행동에 대한 통찰력을 수집할 수 있습니다.

애플리케이션 아키텍처

이 애플리케이션 아키텍처 다이어그램은 Mythical Mysfits를 구성하는 서비스와 이러한 서비스 간의 상호 작용 방식을 구조적으로 나타냅니다. 아래 언급된 서비스 및 기능에 대해 잘 모르더라도 걱정하지 마십시오. 자습서를 진행하면서 서비스에 대해 자세히 설명하고 서비스 속도를 높이는 데 도움이 되는 리소스를 소개할 것입니다.

전체 애플리케이션 아키텍처

모듈

이 애플리케이션 아키텍처 다이어그램은 Mythical Mysfits를 구성하는 서비스와 이러한 서비스 간의 상호 작용 방식을 구조적으로 나타냅니다. 아래 언급된 서비스 및 기능에 대해 잘 모르더라도 걱정하지 마십시오. 자습서를 진행하면서 서비스에 대해 자세히 설명하고 서비스 속도를 높이는 데 도움이 되는 리소스를 소개할 것입니다.

Mythical Mysfits를 구현하는 데 사용하는 모듈은 다음과 같습니다.

  1. 정적 웹 사이트 생성 웹 사이트에 정적 콘텐츠(이미지, 정적 텍스트 등)를 제공하는 Amazon Simple Storage Service(S3)를 사용하여 정적 웹 사이트를 구축합니다.
  2. 동적 웹 사이트 구축 AWS Fargate를 통해 컨테이너로 배포되는 API 백엔드 마이크로서비스를 사용하여 웹 서버에서 애플리케이션 로직을 호스팅합니다.
  3. Mysfit 데이터 저장 모든 mysfit 데이터를 외부화하여 Amazon DynamoDB에서 제공하는 관리형 NoSQL 데이터베이스에 유지합니다.
  4. 사용자 등록 추가 Mythical Mysfits 방문자가 마음에 드는 mysfit을 찾아 입양할 수 있도록 사용자 등록, 인증 및 권한 부여를 활성화합니다. 이는 AWS API Gateway와 Amazon Cognito 및 AWS API Gateway의 통합을 통해 지원됩니다.
  5. 사용자 클릭 캡처 AWS Lambda와 Amazon Kinesis Firehose를 사용하여 웹 사이트에서의 클릭을 기록하고 분석하는 클릭 스트림 분석 마이크로서비스로 사용자 행동을 캡처합니다. 

이 애플리케이션에 대한 변경 사항 작성 및 배포는 완전히 프로그래밍 방식으로 수행합니다. 여기서는 AWS 명령줄 인터페이스를 사용하여 AWS CodeCommit, CodeBuild 및 CodePipeline을 활용하는 완전관리형 CI/CD 스택이 포함된 필수 인프라 구성 요소를 생성하는 명령을 실행합니다. 마지막으로, 클라우드 기반 IDE인 AWS Cloud9을 사용하여 브라우저 내에서 필요한 모든 개발 작업을 완료합니다.

 AWS 경험

초보자

 소요 시간

2~3시간

 완료 비용

사용되는 서비스 중 다수는 AWS 프리 티어에 포함되어 있습니다. 그렇지 않은 서비스의 경우 샘플 애플리케이션에서 발생하는 총 비용은 하루 1 USD 미만입니다.

 자습서 선행 조건

이 학습 경로를 완료하려면 다음이 필요합니다.
✓ AWS 계정과 관리자 수준의 계정 액세스 권한**

 

*자습서를 진행하는 동안 권장 구성에 따르고 모든 리소스를 24시간 이내에 종료한다고 가정한 경우의 추정치입니다.

**생성된 지 24시간이 지나지 않은 계정은 이 학습을 완료하는 데 필요한 리소스에 액세스할 권한이 아직 없을 수 있습니다.

 Github에서 사용해보기

정적 웹 사이트 구축: Mythical Mysfits