개발자를 위한 시스템 디자인 개념 

시스템 디자인는 클라우드 엔지니어, 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 정보를 이용해서...

CNCF 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에 맡길...

AWS Cheat Sheet - VPC 

Amazon VPC(Virtual Private Cloud) 는 AWS에서 제공하는 네트워크 서비스다. 기본적으로 인터넷 애플리케이션들은 네트워크에서 실행이되기 때문에 VPC는 AWS에서 가장 기본이 되며 가장 중요한 서비스 중 하나다. VPC는 AWS의 네트워크 서비스로 IP 범위, 서브넷, 슈퍼넷, Routing Table, Internet Gatewa...

Learning and Hacking VPC [JOINC EDU] 

클라우드시대에 돌입했다. 과거 네트워크와 시스템은 인프라 담당자의 점유물이었으나 이제는 개발자도 클라우드를 통해서 네트워크와 시스템을 자유자재로 다룰 수 있는 시대가 있다. AWS는 이러한 클라우드 서비스 중에서 가장 널리 사용하고 있는 서비스다. VPC는 AWS의 네트워크 서비스로 VPC를 이용해서 인터넷 상에 나만의 VPC를 만들 수 있다. EC2와 함...