Programming/MSA 25

Backstage) Install 1. Github App 설치

아래의 과정을 통해 획득한 Key는 모두 잘 보관한다.GitHub Authentication Setup1. Create GitHub OAuth App in your organization settings 2. Configure Homepage URL and Authorization callback URL:- 로컬개발시에는 localhost 를 callback으로 한다. http://localhost:7007/api/auth/github/handler/frame - 만약 정말 서버에 provisioning을 한다면 그에 응하는 URL을 callback으로 한다. https://.spotifyportal.com/api/auth/github/handler/frame 3. Copy clientId ..

Programming/MSA 2025.11.10

Backstage) Internal Developer Portal 에 대해서

더보기앞으로 한동안은 Backstage에 대한 여정을 기록하려고 한다. 현재 나의 프로젝트는 완전한 MSA를 지향하여 시스템을 구축하고 있다. 여기서 많은 거버넌스적인, 사일로 이슈들이 발생하며 이를 한번에 극복할 수 있는것이 Portal Concept라고 믿는다. 우선, Internal Developer Portal이란 무엇인가? 내부 개발자 플랫폼(IDP)은 플랫폼 팀이 골든 패스(Golden Path)를 구축하고 개발자 셀프서비스를 지원하기 위해 구축합니다. IDP는 다양한 기술과 도구로 구성되어 있으며, 맥락과 기반 기술을 추상화하지 않고도 개발자의 인지 부담을 줄이는 방식으로 통합됩니다. 플랫폼 팀은 모범 사례를 준수하여 플랫폼을 하나의 제품으로 취급하고 사용자 연구를 기반으로 구축하며, 유지..

Programming/MSA 2025.11.10

Netflix ) Netflix’s Key-Value Data Abstraction Layer

넷플릭스는 Key-Value String Data의 영속성 Layer로 어떠한것을 사용했는지, 어떤 비즈니즈 요구사항에 적용했는지 리서치 해보았다. 관련 포스팅https://netflixtechblog.com/introducing-netflixs-key-value-data-abstraction-layer-1ea8a0a11b30 Introducing Netflix’s Key-Value Data Abstraction LayerVidhya Arvind, Rajasekhar Ummadisetty, Joey Lynch, Vinay Chellanetflixtechblog.com https://netflixtechblog.com/introducing-netflix-timeseries-data-abstraction-l..

Programming/MSA 2025.01.13

Netflix의 Cosmos Platform에 대해

원문링크https://netflixtechblog.com/the-netflix-cosmos-platform-35c14d9351ad The Netflix Cosmos PlatformOrchestrated Functions as a Microservicenetflixtechblog.com Cosmos 소개Cosmos는 마이크로서비스의 장점과 비동기식 워크플로우 및 서버리스 기능을 결합한 컴퓨팅 플랫폼입니다. 그 장점은 몇 분에서 몇 년까지 지속되는 복잡한 계층적 워크플로우를 통해 조정되는 리소스 집약적 알고리즘을 포함하는 애플리케이션입니다. 한 번에 수십만 개의 CPU를 사용하는 높은 처리량 서비스와 인간이 계산 결과를 기다리는 대기 시간에 민감한 워크로드를 모두 지원합니다. Cosmos 탄생 배경Netfl..

Programming/MSA 2024.06.09

MicroService로 Netflix 비디오 처리 파이프라인 재구축 -1

원문링크 : https://netflixtechblog.com/rebuilding-netflix-video-processing-pipeline-with-microservices-4e5e6310e359 Rebuilding Netflix Video Processing Pipeline with Microservices This is the first blog in a multi-part series on how Netflix rebuilt its video processing pipeline with microservices, so we can maintain… netflixtechblog.com Netflix가 어떻게 마이크로서비스로 비디오 처리 파이프라인을 재구축하여 빠른 혁신 속도를 유지하고 회원 스트리..

Programming/MSA 2024.02.12

FaaS 구현을 위한 Open Source 프로젝트 OpenFaaS, Knative

관련링크 : https://www.cncf.io/blog/2020/04/13/serverless-open-source-frameworks-openfaas-knative-more/ Serverless Open-Source Frameworks: OpenFaaS, Knative, & more Originally published on the Epsagon blog by Ran Ribenzaft, co-founder and CTO at Epsagon This article will discuss a few of the frameworks mentioned above and will go deep into OpenFaaS and Knative to… www.cncf.io 지난 수년동안 Serverless Arch..

Programming/MSA 2023.11.23

AWS SaaS Boost 아키텍처에 대해서 알아보자

SaaS Boost 배포 과정 설명 1,2,3) SaaSBoost 환경을 프로비저닝 한다. https://github.com/awslabs/aws-saas-boost 4) 프로비저닝된 SaaSBoost 환경에 로그인 한다. 5) 앞으로 배포하게될 어플리케이션을 등록한다. 6) ECR레지스트리에 Image Build된 해당 어플리케이션을 Push 한다 7) 테넌트에 배포한다. SaaSBoost 콘솔 SaaSBoost 콘솔 아키텍처 Git소스코드를 보면 SaaSBoost의 모든 어플리케이션은 Lambda에서 돌아간다... 콘솔뿐만 아니라 다양한 도메인을 Lambda로 구성해서 운영하고 있다. 도메인은 Onboarding, Metrics, User, Settings, Tenant, Quata가 있다. Bill..

Programming/MSA 2023.10.30

6. The Life Cycle of a Domain Object

모든 개체에는 수명 주기가 있습니다. 객체는 생성되고 다양한 상태를 거치며 결국 아카이브되거나 삭제되어 죽습니다. 물론 이들 중 다수는 생성자를 쉽게 호출하여 생성되고 일부 계산에 사용된 다음 가비지 수집기에 버려지는 단순하고 일시적인 개체입니다. 그러한 개체를 복잡하게 만들 필요가 없습니다. 그러나 다른 개체는 수명이 더 길며 모든 개체가 활성 메모리에서 소비되는 것은 아닙니다. 그들은 다른 객체와 복잡한 상호 의존성을 가지고 있습니다. 그것들은 불변이 적용되는 상태 변경을 거칩니다. 이러한 개체를 관리하는 것은 MODEL-DRIVEN DESIGN 시도를 쉽게 탈선시킬 수 있는 Challenge를 야기합니다. Challenge는 두 가지 범주로 나뉩니다. 1. 라이프 사이클 전반에 걸쳐 무결성 유지 2..

Programming/MSA 2022.07.22

Domain Driven Design/Eric Evance - 5. A Model Expressed in Software

결합 가능한 한 관계를 제한하는 것이 중요합니다. 양방향 결합은 두 객체가 함께있어야만 이해될 수 있음을 의미합니다. 응용 프로그램 요구 사항이 양방향 순회를 요구하지 않는 경우 순회 방향을 추가하면 상호 의존성이 줄어들고 설계가 단순화됩니다. 도메인을 이해하면 자연스럽게 방향성을 알수 있습니다. 미국에는 다른 많은 국가와 마찬가지로 많은 대통령이 있습니다. 이것은 양방향, 일대다 관계입니다. 그러나 우리는 "조지 워싱턴"이라는 이름으로 시작하여 "그는 어느 나라의 대통령이었습니까?"라고 묻는 경우는 거의 없습니다. 실용적으로 우리는 "국가"에서 "대통령"으로 이동하는 단방향 연결 관계를 줄일 수 있습니다. 이 개선은 실제로 도메인에 대한 통찰력을 반영할 뿐만 아니라 보다 실용적인 디자인을 만듭니다. 그..

Programming/MSA 2022.07.21