DevOps BootCamp/마이크로서비스 12

서버리스

서버리스 등장 배경 및 소개 웹 애플리케이션을 적은 예산 빠르게 확장 가능 관리와 운영은 쉽게 -> 이것을 혼자 할 수 있을까? = 당연히 불가능 -> 하지만 여기에도 답은 있다. 바로 '서버리스'이다 서버리스의 정의 > 서버가 없는 게 아니라, 서버에 대한 고민을 안 하는 것 컴퓨팅의 진화 과정 > 오래전에는 애플리케이션을 배포하려면 직접 하드웨어 서버를 구매해서 구성, 이때는 하드웨어와 소프트웨어 둘 다 관리를 했어야 했다. > 이런 서버의 하드웨어 관리의 어려움을 해결해 준 것이 AWS 클라우드 컴퓨팅 서비스 EC2였다 -> 하드웨어 관리의 불안감을 덜 수 있게 됨 > 하지만 빌려서 구성한 서버의 소프트웨어도 보안, 업데이트, 백업과 같은 많은 관리 과정이 필요 > 이런 서버의 소프트웨어 관리의 어..

마이크로서비스 아키텍처의 정의

다음 특징을 갖는 서비스들의 조합으로 이뤄진 설계 유지보수에 유리하고, 테스트 가능해야 함 느슨하게 결합되어야 함 독립적으로 배포 가능함 비즈니스 역량을 중심으로 구성해야 함 작은 팀에 의해 소유됨 서비스로서의 컴포넌트화 컴포넌트: 독립적으로 대체하거나 업그레이드 가능한 소프트웨어 단위 컴포넌트화: 시스템을 구성 요소(Component)를 나누고 이를 연결하여 구축하는 것 컴포넌트화는 어떻게?: 소프트웨어를 여러 서비스로 분리하는 것 라이브러리 vs. 서비스 비즈니스 수행에 따른 구성, 프로젝트가 아니라 제품 before: 기술적 계층에 따른 팀 분류 예) UI팀, business 팀, 데이터베이스 팀 > 단순한 변경이 필요한 경우에도 팀 간의 협업 비용이 증가함 after: 비즈니스 수행 능력(업무 도..