AWS Well Architected Framework는 좋은 아키텍처를 만들기 위한 길잡이 역할을 한다. 방대한 내용을 담고 있지만 전체 문서를 가로지르는 핵심은 한 문장으로 정리 할 수 있다. 측정할 수 없다면 관리할 수 없고 관리할 수 없으면 개선할 수 없다. 이 문서는 Well Architected framework를 지탱하는 6개 Pillars(기...
Amazon Route 53은 고 가용성(High available), 확장성(Scalable)을 가진 DNS(Domain Name System) 서비스다. Amazon Route 53의 핵심 기능은 아래와 같다. Domain Name 등록 : 도메인 이름을 구매하고 관리 할 수 있다. DNS resolution, AWS 리소스에 대한 Health Chec...
API 버전관리가 점점 힘들어지고 있다. API는 더 이상 쓸모가 없어 폐기 될때까지 계속적인 수정, 업데이트, 기능 추가가 발생한다. 이 기능은 클라이언트 애플리케이션의 작동과 품질에 영향을 주기 때문에, 각 API의 변경 내용을 추적하고 관리 할 수 있어야 한다. 일반적으로 API의 버전을 이용해서 추적 관리한다. 문제는 클라우드환경에서 MSA 도입이 ...
Database Shard(이하 샤드)는 데이터베이스 혹은 검색엔진에서 사용하는 데이터의 수평 파티션이다. 각 샤드는 데이터 부하를 분산시키기 위해서 별도의 데이터베이스 서버 인스턴스에 보관된다. 간단히 말해서, 데이터를 분산해서 저장하고 읽게하여서 병렬적으로 성능을 높이기 위한 파티션 방식이라고 생각할 수 있다....
개발자는 코드를 만드는데 열정적이며, 코드를 만드는 것에서 희열을 느끼고 코드를 통해서 자기자신을 증명한다. 대부분의 개발자는 매우 영리하게 영리하게 코드를 작성한다. 영리하게 코드를 작성하는 것은 장점이지만 단점이 될 수도 있다. 이것을 불편하게 생각하지 말자. 똑똑한 것이 장점이 될 수 있지만 단점이 될 수 있는 것과 마찬가지다. 우리는 단점을 극복 할...
클라우드에 애플리케이션을 전개하는 이유는 시스템 / 네트워크 비용 때문만은 아닙니다. 클라우드에서 제공하는 시스템 / 네트워크 인프라, 보안, 모니터링, 로깅, 가용성, 확장성, 통합/배포, 관리형 데이터베이스 서비스를 사용하기 위함입니다. 핵심 비즈니스 로직에만 집중하고 나머지 비기능적인 부분을 클라우드에 위임하는게 가장 큰 목적입니다. 비즈니스 로직에 ...
AWS는 100여개가 넘는 수많은 서비스들을 제공한다. 사용자는 이를 서비스를 자유롭게 엮어서 최적화된 애플리케이션을 개발 할 수 있다. 그 조합의 수는 무한하다고 할 수 있다. 하지만 효과적인 조합은 있는 법이라서 AWS는 AWS Well-Architected 정보를 제공하고 있다. 사용자는 AWS에서 제한한 Well-Architected 정보를 이용해서...
NATS는 분산 시스템을 지원하는 연결기술(connective technology)로 메시지의 주소 설정, 검색, 통신을 담당한다. 마이크로서비스아키텍처(MSA)에서의 메시지 교환, 스트림 처리를 위해서 사용한다. 클라우드 메시징 서비스 (마이크로서비스, 서비스메시) 이벤트 / 데이터 스트림(데이터 모니터링, 분석, ML/AI)...
Amazon Simple Storage Service(Amazon S3)는 무한대의 확장성, 99.999999%의 데이터 가용성, 보안, 성능을 제공하는 객체 스토리지 서비스(Object Storage Service)다. S3는 Full managed Service로 사용자는 서버, 볼륨, 파일 시스템, 파일관리 소프트웨어 등의 관리의 대부분을 S3에 맡길...
616 POSTS HERE
AWS Well-Architected Framework
AWS Well Architected Framework는 좋은 아키텍처를 만들기 위한 길잡이 역할을 한다. 방대한 내용을 담고 있지만 전체 문서를 가로지르는 핵심은 한 문장으로 정리 할 수 있다. 측정할 수 없다면 관리할 수 없고 관리할 수 없으면 개선할 수 없다. 이 문서는 Well Architected framework를 지탱하는 6개 Pillars(기...
Amazon Route 53 Cheat Sheets
Amazon Route 53은 고 가용성(High available), 확장성(Scalable)을 가진 DNS(Domain Name System) 서비스다. Amazon Route 53의 핵심 기능은 아래와 같다. Domain Name 등록 : 도메인 이름을 구매하고 관리 할 수 있다. DNS resolution, AWS 리소스에 대한 Health Chec...
개발자를 위한 시스템 디자인 개념
시스템 디자인는 클라우드 엔지니어, DevOps, 소프트웨어 개발자에게 가장 많이 묻는 질문 중 하나다. 면접과정에서 뿐만 아니라 대규모 소프트웨어 문제를 해결하기 위해서도 시스템 설계에 대한 지식이 필요하다....
API 버전 관리
API 버전관리가 점점 힘들어지고 있다. API는 더 이상 쓸모가 없어 폐기 될때까지 계속적인 수정, 업데이트, 기능 추가가 발생한다. 이 기능은 클라이언트 애플리케이션의 작동과 품질에 영향을 주기 때문에, 각 API의 변경 내용을 추적하고 관리 할 수 있어야 한다. 일반적으로 API의 버전을 이용해서 추적 관리한다. 문제는 클라우드환경에서 MSA 도입이 ...
Database Sharding
Database Shard(이하 샤드)는 데이터베이스 혹은 검색엔진에서 사용하는 데이터의 수평 파티션이다. 각 샤드는 데이터 부하를 분산시키기 위해서 별도의 데이터베이스 서버 인스턴스에 보관된다. 간단히 말해서, 데이터를 분산해서 저장하고 읽게하여서 병렬적으로 성능을 높이기 위한 파티션 방식이라고 생각할 수 있다....
똑똑한 개발자와 현명한 개발자
개발자는 코드를 만드는데 열정적이며, 코드를 만드는 것에서 희열을 느끼고 코드를 통해서 자기자신을 증명한다. 대부분의 개발자는 매우 영리하게 영리하게 코드를 작성한다. 영리하게 코드를 작성하는 것은 장점이지만 단점이 될 수도 있다. 이것을 불편하게 생각하지 말자. 똑똑한 것이 장점이 될 수 있지만 단점이 될 수 있는 것과 마찬가지다. 우리는 단점을 극복 할...
High Availability App On AWS Cloud [JOINC EDU]
클라우드에 애플리케이션을 전개하는 이유는 시스템 / 네트워크 비용 때문만은 아닙니다. 클라우드에서 제공하는 시스템 / 네트워크 인프라, 보안, 모니터링, 로깅, 가용성, 확장성, 통합/배포, 관리형 데이터베이스 서비스를 사용하기 위함입니다. 핵심 비즈니스 로직에만 집중하고 나머지 비기능적인 부분을 클라우드에 위임하는게 가장 큰 목적입니다. 비즈니스 로직에 ...
AWS Well-Architecture Framework
AWS는 100여개가 넘는 수많은 서비스들을 제공한다. 사용자는 이를 서비스를 자유롭게 엮어서 최적화된 애플리케이션을 개발 할 수 있다. 그 조합의 수는 무한하다고 할 수 있다. 하지만 효과적인 조합은 있는 법이라서 AWS는 AWS Well-Architected 정보를 제공하고 있다. 사용자는 AWS에서 제한한 Well-Architected 정보를 이용해서...
NATS
NATS는 분산 시스템을 지원하는 연결기술(connective technology)로 메시지의 주소 설정, 검색, 통신을 담당한다. 마이크로서비스아키텍처(MSA)에서의 메시지 교환, 스트림 처리를 위해서 사용한다. 클라우드 메시징 서비스 (마이크로서비스, 서비스메시) 이벤트 / 데이터 스트림(데이터 모니터링, 분석, ML/AI)...
AWS Cheat sheet - S3
Amazon Simple Storage Service(Amazon S3)는 무한대의 확장성, 99.999999%의 데이터 가용성, 보안, 성능을 제공하는 객체 스토리지 서비스(Object Storage Service)다. S3는 Full managed Service로 사용자는 서버, 볼륨, 파일 시스템, 파일관리 소프트웨어 등의 관리의 대부분을 S3에 맡길...