MVP로 비즈니스 계획을 구현하기

애플리케이션에 대한 아이디어를 실현하는 가장 좋은 방법은 MVP(Minimum Viable Product)로 시작하는 것이다.인터넷은 수백 수천개의 회사가 경쟁하는 열린 공간이다. 이 공간에서 성공하는 것은 쉽지 않다. 성공을 하기 위해서는 고객이 원하는 것이 무엇인지를 찾아서 가능한 빨리 시장에 내놓아야 한다. MVP(Minimum Viable Produ...

Kubernetes Service

문서에서 로컬에 kubernetes 개발환경을 구축다. 에서 애플리케이션 deployment를 만들었다. Kubernetes POD는 원리적으로 프로세스의 집합이다. 프로세서들이 라이프사이클을 가지는 것처럼 POD 들도 라이프사이클을 가진다. 만약 워커 노드가 죽으면, 워커노드위에 작동하는 POD들도 종료된다. 서버가 죽으면 서버 위에서 작동하던 프로세스...

DevOps와 개발자

예전에는 소프트웨어 개발 프로세스가 간단(소프트웨어 개발이 단순했다는 의미가 아니다.)했다. 개발 환경과 프로덕션 환경간의 연동방식이나 워크플로우를 많이 필요로하지 않았다. 두 개의 환경이 연결되는 유일한 워크플로우는 수동배포 정도 였을 것이다 . 이 워크플로우에서는 시스템 관리자가 물리적 서버를 관리하고 배포 업무도 수행했다. 배포가 좀 복잡해지면서 ...

Linkerd로 구축하는 Kubernetes Service mesh

서비스 메쉬(Service Mesh)란 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스간 커뮤니케이션을 관리하는 다른 시스템과 달리, 서비스 메쉬는 애플리케이션에 구축된 전용 인프라 계층이다. 애플리케이션은 어떤 기능을 수행하기 위해서 다른 애플리케이션의 기능을 호출해야 하는 경우가 있다. 이커머스 애플리케이션에서 사...

Monolithic에서 Microservice Architecture로

이 문서에서는 마이크로서비스 아키텍처를 디자인하는 방법을 여러 사례를 들어서 살펴볼 것이다. 먼저 일반적인 패턴을 소개하고 AWS에서 어떻게 구축할지를 살펴보도록 하겠다.이 문서를 통해서 얻고자 하는 것은 다음과 같다. 초당 수천/수만건의 데이터를 처리하기 위한 시스템을 만들기 위한 아이디어 고가용성, 높은 확장성, 짧은 대기시간(latency), 복원력을...

AWS 기반 추천 시스템 아키텍처

주식회사 joinc는 다양한 패션용품을 판매하는 인터넷 전자 상거래 서비스를 운영하고 있다. 이 회사의 CTO는 전자 상거래 시장이 격화되면서, 서비스 경쟁력을 확보하는게 중요한 과제가 됐다.CTO는 우선 과제로 개인화된 상품추천 서비스를 개발하기로 했다. 상품추천의 요구사항은 아래와 같다. 1. 사용자의 활동(Activity)를 저장하고 분석할 수 있는 ...

Kubernetes Ingress

이 문서는 Kubernetes Ingress를 다룬다. NodePort와 LoadBalance는 참고 목적으로 다룰 것이다. 우분투리눅스 20.4 minikube로컬에 구축되는 minikube는 실제 클러스터를 구축하는게 아니기 때문에 CluseterIP를 외부에 노출 할 수 없다. minikube tunnel 을 실행 하자.# minikube tunn...

Uber System Design 분석

Uber System Design. Design Ride-Hailing Application 영상에 대한 분석이다. 영상내용을 기반으로 좀 더 깊이 들어가보려 한다. 1. Uber의 Ride-Haling Application을 개발하기 위한 요구사항 분석 1. 하이레벨에서 컴포넌트 다이어그램 작성 1. 각 컴포넌트의 시퀀스 다이어그램 작성 1. 잠재적인 ...

AWS에서의 중앙 집중식 로깅 시스템 구축

클라우드 시스템은 위임이다. 컴퓨팅, 메모리, 디스크와 같은 하드웨어 외에도 로드밸런서, 메시지큐, 로깅, 모니터링, 배포, 확장, 데이터 수집 등을 IaaS, PaaS, SaaS 형태로 비즈니스로직으로 부터 분리하여 위임하는 시스템이다. 따라서 개발조직은 다른 것들에 신경쓰지 않고 서비스 개발에만 집중 할 수 있다. 클라우드에 대한 다양한 관점이 있겠는데...

AWS Cheat Sheet - AWS Lambda

AWS의 Serverless 컴퓨팅 서비스로 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행 할 수 있다. FaaS(Function-as-a-Service)로 분류된다. 각 Lambda 함수는 독립적으로 실행되기 때문에 상태를 저장하지 않는 stateless 서비스다. AWS 콘솔, CLI를 이용해서 생성 할 수 있다. Lambda 함수는 메모리...