< Optimize Databases for the Cloud >
After the database is moved and its clients migrated, optimize for the cloud
데이터베이스 이동 및 클라이언트 마이그레이션 후 클라우드에 최적화
- Google 클라우드로 이동하는 대부분의 고객은 기존 애플리케이션과 데이터베이스를 마이그레이션한 후
고급 기능을 활용하기 위해 최적화 작업을 수행 - 퍼블릭 클라우드가 제공하는 기능과 비용 절감을 최대한 활용하도록 최적화할 수 있는 기회가 존재
- 마이크로 서비스 아키텍처를 사용해 애플리케이션을 재설계하는 것은 인프라 최적화를 시작하는 좋은 방법
- 대규모 모놀리식 애플리케이션은 여러 개의 작은 독립 서비스로 분할되는 반면,
많은 마이크로서비스는 단일 쿠버네티스 클러스터에서 실행될 수 있음 - 마이크로 서비스는 자체 데이터에 대한 책임이 있어야 하며 이를 위해 큰 데이터베이스를 더 작은 조각으로 쪼개서
각 서비스가 dbs를 경험할 수 있도록 해야함 - 모놀리식 애플리케이션은 모든 데이터에 대한 Oracle 데이터베이스로 시작 가능하는 반면
분리될 경우 Google Cloud Firestore과 같은 NoSQL 데이터베이스로 마이그레이션할 수 있음
이는 강력한 스키마와 트랜잭션이 필요한 Oracle보다 훨씬 저렴하고 관리와 프로그래밍하기 쉬움
Analyzing a monolithic database can help you determine microservice boundaries
모놀리식 데이터베이스를 분석하면 마이크로서비스 경계를 결정하는 데 도움
- 모놀리식 데이터베이스를 분석하면 대규모 데이터베이스에서 마이크로서비스 경계가 어디에 있는지 결정하는데 도움이 됨
- 이러한 데이터 섬을 찾는 것이 일부를 분할할 수 있는 방법을 결정하는데 도움이 된다면
데이터 그룹이 느슨하게 관련되어 있는 경우를 확실히 찾을 수 있어
애플리케이션 전체에 부정적인 영향을 주지 않으면서 기능을 사용할 수 있음
Use the strangler pattern to re-architect applications
스트랭글러 패턴을 사용하여 애플리케이션 재설계
- Strangler pattern : Incrementally replace components of the old application with new services
스트랭글러 패턴: 기존 애플리케이션의 구성 요소를 새로운 서비스로 점진적으로 교체 - 애플리케이션을 한 번에 모두 리팩토링하려고 하지 말고 한 번에 하나씩 수행해야 함
- 더 큰 애플리케이션에서 별도의 서비스로 이동할 수 있는 기능을 조금씩 찾아보고 가능하면
모놀리식 애플리케이션이 인증 및 권한 부여를 담당하고
데이터베이스가 Google ID 플랫폼과 같은 클라우드 서비스를 사용하기 위해 사용자 정보 및 암호 리팩토링함 - 더 안전해지고 비용도 절약할 수 있음