AWS AppSync
- AppSync는 모바일 및 웹 애플리케이션을 위한 백엔드를 구축하는 것이다.
- 실시간으로 데이터를 저장하고 동기화하는 것으로 Facebook의 GraphQL 기술을 활용한다.
- GraphQL 덕분에
- API의 클라이언트 코드가 자동으로 생성될 수 있음
- 실시간 구독을 통해 웹 및 모바일 애플리케이션에 대해 실시간 데이터 업데이트를 할 수 있고 필요한 경우 오프라인 데이터 동기화도 가능
- GraphQL 백엔드 구축 시 AppSync 덕분에 DynamoDB 및 Lambda와 통합할 수 있다.
- 보안 기능이 내장되어 있다.
- AWS Amplify라는 프레임워크가 있어서 백그라운드에서 AppSync를 활용할 수 있다.
AppSync는 GraphQL을 사용하여 모바일 및 웹 애플리케이션의 데이터를 저장한다
AWS Amplify
- 규모 조정 가능 풀스택 웹/모바일 애플리케이션을 개발하고 배포하는 것을 돕는 도구와 서비스의 모음이다.
- Amplify를 통해서 다음과 같은 것들을 모두 관리할 수 있다.
- 인증
- 저장
- API (REST API / GraphQL API)
- CI/CD
- Pub/Sub
- 분석
- 머신러닝
- 모니터링
- 소스코드
- 웹과 모바일 애플리케이션을 위한 Elastic Beanstalk라고 볼 수 있다.

- 핵심 내용은 Amplify 내 Amplify Studio 내부에서 필요한 모든 것을 설정할 수 있다.
- Amplify는 보이지 않는 곳에서 AWS의 기존 서비스들을 활용한 Amplify 백엔드를 설정한다.
Amplify의 목적은 모바일 애플리케이션의 백엔드를 구축하는 것을 돕기 위함이다
AWS Application Composer
- AWS에서 서버리스 애플리케이션을 시각적으로 빠르게 설계하고 빌드할 수 있게 해준다.
- 콘솔에서 드래그 앤 드롭으로 템플릿을 시각적으로 구축할 수 있는 인터페이스가 있어서 AWS 전문가가 아니어도 코드형 인프라(
Infrastructure as a Code)를 빠르게 생성할 수 있다.
- 따라서 CloudFormation에서 가져온 코드 템플릿으로 인프라를 구성하는 대신 CloudFormation 또는 SAM 템플릿을 가져와서 시각화할 수도 있다.
CloudFormation 템플릿과 서버리스 애플리케이션을 시각적으로 구축할 수 있는 매우 좋은 방법이다
AWS Device Farm
- 웹과 모바일 애플리케이션을 실제 데스크톱 브라우저와 실제 기기와 태블릿과 비교해 테스트하는 완전 관리형 서비스이다.
- 여러 가지 기기에서 테스트를 진행해서 전체 테스트의 실행 속도를 높일 수 있다.
- GPS나 언어 설정, WiFi와 블루투스 등을 원하는 대로 설정할 수 있다.

- Device Farm의 사용자가 실제 기기에 애플리케이션을 테스트한다.
- 이때 모두 다른 기기에서 제대로 작동하는지 Device Farm으로 테스트하고 미리 버그를 찾을 수 있다.
- 해당 기기들과 상호 작용할 수도 있고, 보고서, 로그, 스크린샷을 보낸다.
Device Farm은 다양한 기기에 대해 미리 버그를 처리하도록 해서 유용하다
AWS Backup
- 중앙에서 관리하는 완전 관리형 서비스이며 AWS 서비스 전반에 자동으로 백업한다.
- 온디밴드와 예약된 백업을 실행한다.
- 시점 복구(
PITR: Point-in-time-Recovery)를 지원한다.
- 수명 주기 관리와 백업 정책 기간 등을 정의할 수 있다.
- AWS Organization에서 지원하는 리전 간 백업이나 계정 간 백업도 할 수 있다.

- 백업 서비스를 사용하면 백업 계획을 생성해야 한다.
- 계획 생성 후 백업 서비스에서 백업할 리소스를 할당한다.
- 모든 서비스는 백업 계획에 따라 S3에 자동으로 백업된다.
백업이 시험에 나오면 AWS Backup을 생각하자
Disaster Recovery Strategies
시험에서는 가장 저렴한 것과 가장 비싼 것의 이유를 기억하자
백업과 복원

- 클라우드에 데이터가 백업되는 것으로 재해가 발생한 경우 다른 곳에서 복원해서 애플리케이션을 다시 실행하는 것이다.
- 데이터가 백업 중에는 애플리케이션이 실행되지 않고, 원하는 위치에 복원됐을 때만 애플리케이션이 실행된다.
- 시간이 지남에 따라 백업하기 때문에 최소 비용이 발생한다.
Pilot Light

- 애플리케이션의 핵심 기능을 클라우드에서 실행하는 것
- 클라우드에 데이터베이스가 있고 확장 준비가 됐지만 최소한의 설정만 있어 완전히 확장되지 않고 애플리케이션 서버도 없이 Pilot Light만 있는 것이다.
- 애플리케이션의 최소 설정과 핵심 기능이 클라우드에 있어 백업과 복원보다 조금 비싸다.
- 재해 복구 전략을 실행해야 하는 경우, 데이터베이스 유형을 업그레이드하고 애플리케이션 서버를 시작하게 되지만 애플리케이션의 최소 핵심 기능은 사용할 수 있다.
Warm Standby

- 클라우드에 전체 버전의 애플리케이션이 있지만 최소 크기이다.
- 이때 재해 복구 전략을 실행하려면 애플리케이션의 크기를 늘리면 된다.
- 비용이 Pilot Light보다 비싸다.
Multi-Site/Hot-Site

- 무조건 사용할 수 있는 전체 크기의 전체 버전 애플리케이션이 있는 위치이다.
- 재해가 발생하면 바로 배포할 준비가 됐기 때문에 최대 비용이 발생한다.
클라우드 재해 복구

- 다중 리전을 통한 재해 복구 방법이다.
us-east-1 에 인스턴스가 있고 us-east-1 에 재해가 발생했을 경우 다른 리전으로 모든 트래픽을 장애 조치할 수 있다.
References