Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring Cloud를 어떻게 사용하는지, 구성을 어떻게 하는지에 대해 배울 수 있는 강의입니다.
이런 걸
배워요!
Spring Cloud
Spring Boot
Cloud Native Application
Microservice Architecture
MSA Application
스프링 부트
스프링 클라우드
마이크로서비스
클라우드 네이티브 아키텍처를 구축하고,
마이크로서비스 앱 개발에 도전하세요! 🚧
IT 시스템에는 매년 수많은 기술이 생겨나고, 사라지고 있습니다. 새롭게 출시된 개념이나, 기술, 방법론들이 수많은 레퍼런스를 거쳐 안정화된 시스템으로 자리잡기까지는 오랜 시간이 필요합니다.
1960~1980년대
1990~2000년대
2010년 이후~현재
Cloud(클라우드) 기술이 IT 환경에 필수로 여겨지고 있습니다. 이러한 Cloud 환경에서 IT 시스템을 구축하는 것을 Cloud Native Architecture(클라우드 네이티브 아키텍처)라 볼 수 있으며, Cloud 환경에서 기동되는 애플리케이션을 Cloud Native Application(클라우드 네이티브 애플리케이션)이라고 할 수 있습니다.
Linux 산하 단체인 CNCF(Cloud Native Computing Foundation)에는 Cloud Native Application의 주요 구성 요소로 다음 4가지를 언급하였습니다.
• CI/CD • DevOps • Microservices • Containers
이 중 Cloud Native Application의 핵심이자 비즈니스 도메인의 서비스 로직을 구현하는 것이 Microservice입니다. Microservice Architecture는 기존에 단일 시스템 환경에서 Front-end, Back-end, Database 등의 구성요소를 모두 포함하여 배포하는 모놀리스 방식과 대변되는 개발 방식으로 애플리케이션이 구성하는 잘 나뉘어진 경계에 의해 서비스들을 분리하여 개발하고 운영하기 위한 Architecture를 말합니다. Microservice Architecture를 기반으로 개발되는 애플리케이션을 위해 Java(자바)와 Spring Framework, Spring Cloud라는 기술을 사용할 수 있습니다.
Spring Cloud는 분산 시스템 구성과 애플리케이션을 개발하기 위해 필요한 개발 환경과 서비스, 그리고 개발이나 구성에 관련된 패턴을 제공함으로써 Cloud Native Architecture를 위한 Microservice 애플리케이션을 빠르게 개발할 수 있도록 제공하는 개발 도구이자, 개발 Platform입니다.
Microservice 애플리케이션을 위한 구성 관리, 서비스 검색, 회로 차단기, 지능형 라우팅, 마이크로 프록시, 제어 버스, 일회성 토큰, 글로벌 잠금, 리더십 선택, 분산 등의 기술을 쉽게 사용할 수 있도록 기본적인 보일러 플레이트 패턴을 제공하며, 개발 된 애플리케이션과 서비스는 개발자의 로컬 환경의 노트북, 베어 메탈 데이터 센터 및 Cloud Foundry와 같은 관리 플랫폼을 포함한 모든 분산 환경에서 잘 작동될 수 있도록 뛰어난 호환성을 유지합니다.
스프링 부트 + 스프링 클라우드를 이용해서
마이크로서비스 아키텍처로 설계된 앱을
설계하고, 개발하는 것입니다.
이번 강의에서는 Spring Cloud의 제품(하위 프로젝트)로 Microservice 애플리케이션을 개발하고, 운영환경을 구축하는 방법에 대해 학습하는 과정입니다. Microservice Architecture를 구성하는 Gateway, Service Mesh, Runtime을 구성하는 방법과 운영을 위해 빌드하고 배포하는 과정에 대해서도 학습할 예정입니다.
본 강의를 수강하신 분들은 기본적인 Microservice Architecture의 이해와 Java의 통합 개발환경인 IntelliJ를 이용하여 Spring Boot, Spring Cloud 애플리케이션을 개발하실 수 있고, 로컬 환경과 컨테이너 가상화에 배포하여 운영하는 방법에 대해서 실습하실 수 있습니다.
강의에 사용 된 실습 예제는 아래에서 확인해 보실 수 있습니다.
학습 대상은
누구일까요?
Spring Cloud 제품군을 이용한 마이크로서비스 애플리케이션을 개발하고 싶은 사람
Cloud Native Architecure와 Application에 대해 이해하고 애플리케이션을 구축하고 싶은 개발자
선수 지식,
필요할까요?
Java
Spring framework
저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.
직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다.
최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.
머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.
전체
170개 ∙ (32시간 5분)
가 제공되는 강의입니다.
강의를 시작하며
02:18
목차
01:22
소프트웨어 아키텍처
06:32
12 Factors
07:55
SOA vs. MSA
17:27
Spring Cloud란?
10:00
섹션 소개
00:56
User Service - 등록
21:16
섹션 소개
01:05
API Gateway 란?
12:54