High Availability App On AWS Cloud [JOINC EDU]

클라우드에 애플리케이션을 전개하는 이유는 시스템 / 네트워크 비용 때문만은 아닙니다. 클라우드에서 제공하는 시스템 / 네트워크 인프라, 보안, 모니터링, 로깅, 가용성, 확장성, 통합/배포, 관리형 데이터베이스 서비스를 사용하기 위함입니다. 핵심 비즈니스 로직에만 집중하고 나머지 비기능적인 부분을 클라우드에 위임하는게 가장 큰 목적입니다. 비즈니스 로직에 ...

AWS 솔류션 아키텍트 어소시에이트 등급 문제 풀이

한 회사는 온 디맨드 EC2 인스턴스 및 MongoDB 데이터베이스의 Auto Scaling 그룹에 배포될 데이터 분석 애플리케이션을 AWS에 구축 할 계획이다. 데이터베이스는 소규모의 임의 I/O 작업을 수행하는 높은 처리량의 워크로드가 필요할 것으로 예상된다. 솔류션 아키텍트는 최적의 시스템을 구성해야 한다. 1. Provisioned IOPS SSD ...

The Twelve Factors

Joinc 위키 문서로 복사했습니다. 이 내용을 클라우드 환경에 맞게 해석해서, 아키텍처 문서를 만드는게 최종 목표입니다.이 방법론은 Heroku의 개발자가 초안을 작성했으며, 2011년에 Adam Wiggins가 처음 발표했다.클라우드가 널리 사용 되면서 소프트웨어를 서비스 형태로 제공하는 SaaS(Software As A Service) 혹은 웹앱이라...

Minikube 설치

기술 저변을 확장하려면 개발자가 유입 되어야 한다. 그러기 위해서는 개발/테스트 환경이 잘 구성되어야 하는데, Kubenetes는 핫한 기술이기는 하지만 설치/운영이 쉽지 않다. K8s는 개념도 매우 복잡한데, 설치 하는 것 자체가 하나의 과업이다 보니 진입 문턱이 너무나 높다. 당장 클러스터를 구성해야 하는데, GCP나 AWS를 이용하려고 하면 비용이 문...

DevOps와 개발자

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

Linkerd로 구축하는 Kubernetes Service mesh

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

Kubernetes - Deployment

아직 Kubenetes 환경을 구축하지 않았다면 문서를 참고해서 구축하자.쿠버네티스의 최소 배포단위는 POD이다. POD는 실질적인 프로세스이고, Service 형태로 외부에 노출된다. POD이 프로세스이므로 POD의 사양 즉 프로세스의 이름, 프로세스를 실행할 컨테이너 이미지이름, 사용할 포트등의 명세서가 필요하다. 또한 Pod의 복제본 수, 업데이트되는...

Design Instagram

아래 영상을 분석하려 한다.이 영상은 인터뷰 관점에서 시스템 설계를 다루고 있다. 요약해보자면 시스템 요구사항을 어떻게 수집할 것인가. 면접관과 어떻게 피드백을 주고 받을 것인가. 디자인을 구체화 해가는 방법 설계를 재검토하고 잠재적인 개선 사항을 제안하는 방법이다. 나는 인터뷰 관점이 아닌, 시스템 설계 관점에서 정리해보려 한다.요구사항을 수집하는 여러 ...

PAYCO 쇼핑 마이크로서비스 아키텍처 전환기

위 동영상을 분석해서 정리한다. 영상에서 PAYCON 쇼핑 플랫폼은 NHN TOAST 클라우드를 기반으로 하고 있다. 나는 AWS를 사용하고 있기 때문에 클라우드를 기반으로 새로운 아키텍처를 제안하려 한다. TOAST에 비해서 AWS에서 제공하는 서비스가 훨씬 다양하기 때문에 더 많은 부분이 클라우드 서비스로 대체되는 그림이 나올 것이다.당연하지만 나는 P...

최적의 작업을 위한 터미널 환경 구성

원문 개발자들은 터미널을 사랑한다. 밋밋하고 허전한 터미널에서 텍스트 기반으로 작업을 하는 이유는 빠르고 효율적이기 때문이다. 개발 영역에 따라 다르겠지만, 나 같은 경우(리눅스 환경에서 개발을 하다보니) 웹브라우징을 제외한 거의 모든 작업을 터미널 창에서 수행한다. 모든 운영체제는 기본 터미널을 제공하지만 마음에 들지 않는 경우가 많아서 커스터마이징을 하...