
AWS시리즈의 목적은 클라우드와 DevOps를 이해하는 것을 목표로 하고 있습니다.

하나의 컴퓨터에서 여러개의 운영체제를 가동시킬 수 있도록 하는 소프트웨어 기술 ex) VM
프로그램들이 서로 상호작용하는 것을 도와주는 매개체
특정 목적을 가진 API들로 나눠서 만들고 책인 관리가 용이함
기본적인 HTTP프로토콜을 사용함으로 모든 언어와 플랫폼에서 사용 가능
API가 어떤 동작을 하는 지 쉽게 문서화 하여 관리가 용이함
표준이 존재하지 않음
한번 정의한 API는 지속적으로 지원을 해야 함으로 여러버전의 API를 지원해야 하는 불편함이 있음
--1개의 서비스를 위해 존재하는 수천개의 Microservice--

아마존을 예를 들면 'TOP DEAL', 'Gaming accessories', 'Shop deals in Fashion'은 서로 독립적으로 배포 중
클라우드 서비스는 미리 준비된 물리적 환경을 토대로 사용자가 원하는 규모의 서비스를 맞춤형을 제공
온디맨드(요구가 있을 때 언제든지) 기반으로 확장
현재 구성된 환경의 자원 점유율에 대한 모니터링 및 조건 설정을 통해 실시간성 대응이 가능하며 효율적인 사용 비용 관리 가능
Two Pizza Team🍕
– CI/CD 파이프라인 연계
– 자동화 된 테스트, 배포, QA (이를 위한 클라우드, 컨테이너 사용)
– 자동화 된 티켓팅 시스템
– MSA 조직 형태로 운영
다만, 실제 현실에서는 적절한 수준의 기술을 차용하는 전략이 더욱 적합한 경우가 많음
• 한 서비스가 Two Pizza Team으로 꼭 구성되는 경우가 많지 않을 때도 있고, 복잡한 과정을 자동화 하다 보니 툴과 서비스로 도배
• DevOps의 어떤 형태를 클라우드 환경에서는 적용하고 있지만 전통적인 조직구조를 가져가는 경우, MSA 구성 등이 쉽지 않은 경우가 발생한다. 이러한 상황에서는 여전히 서비스 조직과 인프라 조직이 구분되며,
근래에는 SRE(Site Reliability Engineer) 라는 직군이 새로 등장하기에 이른 상태

MSA, CI/CD(지속적 통합과 배포), DevOps, 컨테이너 기술이 유기적으로 돌아갈 수 있도록 구성하는 것을 클라우드 네이티브라고 함
각각이 세부적인 기술 모두 개별적으로 이해하고 구현하는데 많은 시간을 요하지만, 전반적으로 현업의 프로젝트에서 Source: Ethicalhat Cloud Native라는 이야기를 흔하게 통칭