본문 바로가기

Cloud Journey

(5)
The 6 R's (6 Application Migration Strategies from AWS) Re-Host (Referred to as a "Lift and Shift") - 재호스팅(리프트 앤 시프트) - 변경없이 애플리케이션 이동 - 빠르게 이동 - 재호스팅 툴 사용 (AWS VM Import / Export)하여 자동화 가능 - 클라우드로 마이그레이션 후 최적화 및 재설계 고려 Re-Platform (Referred to as "Lift, Tinker, and Shift") - 플랫폼 재구축(리프트, 땜질, 시프트) - 애플리케이션 핵심 아키텍처는 무변경 - 서버리스, 관리형서비스에 마이그레이션 - 고가의 라이선스가 필요한 Java 애플리케이션 컨테이너에서 오픈소스인 Apache Tomcat 으로 이동 Re-Factor / Re-Architect - 리팩토링 / 리 아키텍트 - 클라우드 네..
CQRS(Command Query Responsibility Segregation) 마이크로서비스의 핵심 설계 철학, CQRS(명령 조회 책임 분리 패턴) - 데이터 저장소에 대한 Read와 Update 작업을 분리하는 설계 패턴 - 구현 시 성능, 확장성, 보안을 최대화 가능 - Update 명령으로 인해 도메인 수준에서 병합 충돌 발생 방지 가능 배경 - 일반적 DB 트랜잭션은 DB로 부터 데이터를 읽어 화면에 출력 (읽는 시점과 출력 시점이 상이함) - 따라서, CRUD중 R과 CUD의 공존은 무의미하며, R의 출력물은 정도의 차이가 있을뿐 실제 데이터와 상이하니, 캐쉬를 사용하여 더욱 빠르게 EndUser가 R할 수 있도록 구현하고, CUD는 메시지 큐를 통해 실제 데이터를 변경시키며, 그 변경이 일어나는 시점에 이벤트를 발생시켜서 캐쉬를 업데이트하는 방식으로 진행 기존 DB트랜..
마이크로서비스의 도입을 위한 고민 마이크로 서비스가 무엇인지? As-Is 시스템의 결합도와 응집도에 대해 정확한 측정이 가능한가? 어렵고 어려운 마이그레이션 계획수립 클라우드 네이티브 기술요소의 선정 조직과 문화의 변화는 Top-Down? 모놀리틱의 분활언 어떻게? 디자인 패턴 데이터와 데이터베이스 도입과정에서의 무수하게 직면하는 문제와 해법찾기 모톨리틱 시스템의 클라우드로의 전환을 위해서는 단순히 Lift & Shift로는 의미도 없고, 목표점이 아니다. 우리의 애플리케이션과 데이터베이스가 마이크로서비스로의 전환이 수반되었을 때 클라우드 마이그레이션의 지향점이 분명해 진다. 그 전환의 과정에서 쉽지 않은 고민들과 애로사항들, 그리고 직면하는 문제들에 대한 해법을 위한 고민은 프로젝트 내내 여러가지 포인트에서 첼린지를 받곤 한다. 단순히..
JPA(Java Persistence API) SQL 불필요 언어, JPA(Java Persistence API) - 자바 플랫폼 SE와 자바 플랫폼 EE를 사용하는 응용프로그램에서 RDBMS를 사용하는 방식을 정의한 자바API(인터페이스) - ORM(Object-Relational Mapping)에 대한 자바 API 규격 등장배경 - 기존에 EJB(Enterprise Java Beans)에서 제공되던 Entity Bean을 대체하는 기술 장점 - 생산성, 유지보수성 향상 : SQL 미작성으로 객체를 사용하여 동작하며, 재사용성 증가에 따라 유지보수 용이성 증가 (기존에는 DB필드 추가와 같은 변경 시 유관 SQL 모두 수정 필요, JPA는 필드만 추가 가능) - DBMS 종속성 최소화 : Object에 집중개발 가능, DBMS의 변경 시 소스코드,..
[Cloud Migration #1] 여정기를 시작하며... 기업의 온프로미스 환경의 시스템을 클라우드로 전환하려는 목적과 필요성은 매우 다양한 그들의 이유가 있다. 이러한 이유들 속에서도 Assessment를 통해 클라우드로 왜 전환하여야 하고, 전환했을때 어떠한 장점이 있으며, 전환하는 방법은 어떻게 전략과 전술을 가져가야 하는지 등 고민할 부분들이 다분하다. 이러한 이유로 기업에서의 대규모 시스템을 클라우드로 전환하는 방법에는 표준은 없으며, CSP(Cloud Service Provider)들의 경험에서 시작하는 것이 일반적이다. 국내 사정은 사실상 AWS가 우위를 차지하고 있으나, 몇 가지 이유로 GCP와 MS Azure도 도입할 수 있는 여지가 있고, 장점이 있다. 하지만, 개발자들의 생태계나 클라우드 전환 이후 운영 등의 여건을 고려하면, 생태계를 무시..