Developer Specialist SA
<1> 현대적 애플리케이션
<2> 애플리케이션 체크 리스트
<3> 실습 목표
<4> MVP 만들기
<5> 단계 1 : 프런트엔드 호스팅?
<6> 단계 2 : 서비스 생성
<7> 단계 3 : 애플리케이션 배포 자동화
<8> 단계 4 : 데이터 추가
<9> 단계 5 : 사용자 관리 추가, API 기능 추가
<10> 단계 6 : 사용자 행동 분석
<11> 실습
<1> 현대적 애플리케이션
애플리케이션?
신속하게 확장
글로벌 가용성 보장
페타, 엑사 수준의 데이터 관리
밀리초 단위 응답
비즈니스?
빠른 속도
빠르고 안정하게
위험과 비용 감소
비즈니스에서 경쟁 우위 선점
<2> 애플리케이션 체크 리스트
CI/CD로 신속하게 출시
코드를 사용하여 재활용
서버리스 기술로 로직에 집중 - 간소화
마이크로 서비스로 유연하게 대처
모니터링을 통해 통찰력 확보- 가시성 확보
<3> 실습 목표
https://www.mythicalmysfits.com/
어떤 요구사항?
어떤 기능?
어떤 서비스 및 도구?
어떻게 활용?
<4> MVP 만들기
1
3가지?
개발환경 구성
정정 웹 호스트 구성
코드형 인프라를 통해 코드화, 자동화
2
자동화 2가지?
인프라 구성 자동화
애플리케이션 배포 자동화
3
AWS 코드형 인프라 2 가지?
클라우드 포메이션 - AWS 제공하는 포맷 사용
CDK - 개발자가 익숙한 프로그래밍 언어로 사용하여 인프라 룰 구성, 파이썬, 자바 등 지원
4
CDK 앱 개발 워크 플로?
cdk init
npm run build
cdk synth
cdk diff
cdk deploy
<5> 단계 1 : 프런트엔드 호스팅?
1
CDN
S3 사용
2
s3를 정적 홍페이지로 만들기
사용자는 cloudformation 접속하도록 하고 , S3를 오리진으로 한다.
3
클라우드 기반 개방을 위한 IDE
<6> 단계 2 : 서비스 생성
1
실제로 기능이 동작하도록 백엔드 추가
2
백엔드 서비스 구성 방법 3가지?
EC2
컨테이너
서버리스
3
컨테이너 서비스?
ECS , EKS
EC2 사용? AWS가 관리하는 Fargate사용( ECS, EKS)
이미지 관리를 위해서는 ECR 사용
4
Fargate사용?
서버리스를 사용
애플리케이션을 컨테이너로 만들고, ECS에 배포, Fargate로 동작하도록 설정
5
NLB 사용함
<7> 단계 3 : 애플리케이션 배포 자동화
1
소프트웨어 릴리즈 단계?
소스, 빌드, 테스트, 디플로이, 모니터링
AWS CodeCommit , AWS CodeBuild, AWS CodeBuild+trird party + AWS CodeDeploy , AWS X-Ray/ Amazon CloudWatch
AWS CodePipeline - 파이프라인 모델링
2
Cloud9에서 코드 수정 - 코드 커밋 - ECR에 push - Codepileline - deploy
<8> 단계 4 : 데이터 추가
1
데이터 베이스
https://www.youtube.com/watch?v=K9KgiDRGXpc
2
RDS 또는 NoSQL 중 선택
3
10ms 이내 응답
AWS DynamoDB 사용
파티션 키나 세컨더리 인덱스 잘 사용 필요
4
파 게이트에서 데이터 베이스 접근해 사용
<9> 단계 5 : 사용자 관리 추가, API 기능 추가
1
미등록 사용자에 대한 접근 제한
2
Amazon Cognito 사용자 풀을 생성
3
API Gateway
API를 정의하고 백엔드를 연결 지은 후 스테이지에 배포
4
동작?
코그니토에 사용자 등록
사용자는 API Gateway 호출 ----- 로드 밸런서 ---- Fatgate 애플리케이션 사용
<10> 단계 6 : 사용자 행동 분석
1
AWS Kinesis Data Firehose
실시간으로 데이터 전송받아 일정기간 저장
2
동작?
사용자는 API GW 접속 -- 사용자 클릭 데이터는 키네시스로 전송 , 람다로 처리 ---- S3 버킷에 저장됨- 데이터 레이크 구축
<11> 실습
1
https://github.com/kpiljoong/aws-modern-application-workshop
2
실습 자습서
https://aws.amazon.com/build-modern-app
다음 과정
https://brunch.co.kr/@topasvga/2685
https://brunch.co.kr/@topasvga/2678
감사합니다.