본문 바로가기

Cloud/MSA6

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) 클라우드 클럽 3기에서 Spring Cloud로 개발하는 MSA 스터디를 주최하고 운영해보았다. MSA가 궁금한데 쿠버네티스는 너무 어렵고, 그나마 익숙한게 Spring이어서 Spring Cloud 제품을 사용해보고 싶었다. 마침 클라우드 클럽 멤버들 중 스프링 사용자들이 있어서 이 분들과 함께 스프링 클라우드와 마이크로서비스를 공부해보고자 스터디를 열었다. 모집하고 보니 스프링을 사용해보지 않으신 분들도 계셔서 복습했는데, RESTful API 구현하면서 HATEOAS라는 것도 알게 되었다. 스터디가 끝난 후 회고하면서, 다소 아쉬운 부분도 있었지만(후반부에 참여율이 떨어짐) MSA 입문은 성공적으로 한 것 같아 기쁘다. 기본 철학은 모듈화를 분산 환경에 적용하는 것이고, 변경 사항을 유연하고 빠르게 .. 2024. 1. 18.
마이크로서비스의 실패 사례와 모듈형 모놀리스 제안! 우아한 모놀리스 세미나 마이크로서비스 → 모놀리스 ?! 😱 본질은 “얼마나 빨리 변경을 수용해 고객에게 비즈니스적 영향을 전달할 수 있는가?” 충분한 도메인 분석과 관리 인력이 뒷받침해주지 않으면 마이크로서비스가 비즈니스 민첩성의 발목을 잡을 수 있다. 처음 만드는 시스템이라면, 모듈화된 모놀리스 서비스로 출발해 트래픽 변동에 따라 유연하게 분리하고 통합하는 방법을 시도해볼 것을 권장한다. 얼마 전 클라우드 커뮤니티 세미나에서 DDD 발표하신 분이 계셨다. 현업에서는 MSA를 어떻게 사용하고 있나 궁금해서 이것저것 질문했더니 코드 일부분을 보여주셨는데, 너무 복잡해서 깜짝 놀랐다. 코드가 더러워지기 딱 좋아보이고, 인프라 관리도 굉장히 복잡해보였다. 발표자분께서도 복잡성에 대해서 인정하셨고, 그 부분이 관건이라고 하셨다. 복잡.. 2024. 1. 17.
도메인 주도 설계로 시작하는 마이크로서비스 개발 거의 1년만에 완독했다..! 실습 Jhipster 사용하는 부분에서 오류가 많이 나서 반만 성공했다. 😅 내용이 궁금하다면 정리한 노션을 참고해주시기를 도메인 주도 설계로 시작하는 마이크로서비스 개발 | Notion 도메인 주도 설계로 시작하는 마이크로서비스 개발 - 이론 uncovered-chocolate-cea.notion.site 클라우드 클럽에서 마이크로서비스라는 주제에 관심을 가지고 공부를 해봤다. 처음에는 그저 인프라와 관련된 방법론이겠거니.. 라고 생각했는데 이 책을 읽으면서 도메인 주도 설계나 헥사고날 아키텍처 같은 소프트웨어 아키텍처 방법론, 분산 환경에서 트랜잭션 관리와 실패 복구 방법 등을 보면서 굉장히 다루는 분야가 넓다고 생각했다. 특히 2장의 아키텍처 별 패턴을 볼 때 분산환경에.. 2024. 1. 17.
카프카 니 도대체 뭔데 MSA 실습을 듣다가 카프카가 너무 어려워서 데브원영 님의 카프카 재생목록을 추가로 듣고 요약해보았다. 데브원영님 감사합니다 🥹 📝강의 - 아파치 카프카 📝강의 - 아파치 카프카 빅데이터에서 가장 많이 쓰이는 아파치 카프카에 대한 강의입니다. [아파치 카프카 애플리케이션 프로그래밍 with 자바] 책 구매하러가기 👉http://www.yes24.com/Product/Goods/99122569 www.youtube.com 목차 - What is Apache Kafka? - Topic - Producer - 고가용성 - Consumer - Consumer Lag - Partitioner - Kafka Streams - Kafka Connect What is Apache Kakfa? 소스 애플리케이션과 타깃 .. 2023. 7. 1.
클라우드 네이티브 컴퓨팅과 MSA CNCF가 정한 클라우드 네이티브 컴퓨팅의 3대 요소에 MSA가 포함된다. 클라우드 네이티브 컴퓨팅이 무엇인지, MSA가 어떤 이유로 클라우드 네이티브 컴퓨팅에 필요한지 살펴보자. 우선 클라우드 컴퓨팅이 무엇인지부터 알아보자. 클라우드 컴퓨팅 클라우드 컴퓨팅이란 인터넷을 통해 서비스나 인프라, 리소스 등을 제공하는 것을 말한다. 클라우드 컴퓨팅은 2000년대 초반에 등장하여 다음과 같이 발전했다. 2000년대 : SaaS 2010년대 : IaaS 2020년대 : PaaS 그외 : CI/CD, Devops, Agile SaaS는 소프트웨어 자체를 인터넷을 통해 제공하는 것이다. REST 프로토콜이 HTTP의 난해한 사용 환경을 표준화했다. IaaS는 서버, 네트워크, 저장소 등을 가상으로 제공하는 것이다... 2023. 4. 27.
DX(디지털 전환) : MSA가 중요해진 배경 왜 소프트웨어나 시스템 설계는 유연하고 확장 가능한 구조를 추구할까? 애자일 개발론에 따르면 그 이유는 요구사항이 항상 변화하기 때문이다. 그렇다면 요구사항은 왜 항상 변화하는가? 바뀌지 않는 유일한 것은 바뀌지 않는 것이 없다는 사실이라서? 물론 이런 철학적인 이야기도 답이 될 수 있지만, 2010년대부터 유구히 강조되는 확장 가능한 구조에 대한 답이 되기는 어려워보인다. 적절한 답변을 디지털 전환(DX)에서 찾았다. DX는 디지털 전환의 약어로, 비즈니스 주체를 IT에 맡겨서 비즈니스를 근본적으로 혁신하는 것을 말한다. DX 이전의 비즈니스 주체는 사람이 담당하는 사업 부서였고 시장에 상품과 서비스를 지원하는 역할을 이들이 담당했다. 하지만 디지털 기술이 사회와 경제에 보급되면서 많은 기술이 자동화 .. 2023. 4. 27.