본문 바로가기

Infra

(7)
[Architecture] MSA vs Monolithic MSA vs Monolithic 개요 MSA로 구성된 Service와 Monolithic으로 구성된 Service의 장단점과 각각의 Trade-Off를 비교하고 생각해본다. 목차 MSA는 어떠한 특징을 갖고 있을까? Monolithic Architecture는 어떠한 특징을 갖고 있을까? 둘 중 뭐가 더 좋은 Architecture일까? 소개 MSA(MicroService Architecture)란 무엇일까? MSA란, 커다란 어플리케이션을 작고 간단한 서비스(Service)로 나누어 유지관리와 테스트를 간편화할 수 있고, 느슨하게 결합하게 하며, 개별적인 서비스 단위로 배포할 수 있고, 비즈니스 기능을 중심으로 체계화하는 "소프트웨어 설계 방법"이라고 할 수 있다. 트렌드에 민감해지고, 하나의 어플에 ..
[Istio] Istio란? Istio란 무엇인가? 개요 쿠버네티스(Kubernetes)와 함께 사용되는 Istio에 대해 이해하고 알아본다. 목차 이스티오(Istio)란? Istio Architecture Istio의 주요기능 소개 1. 이스티오(Istio)란? 이스티오(Istio)의 정의 Google, Lyft, IBM에서 내놓은 서비스 메시(Service Mesh)를 구현할 수 있는 오픈소스 솔루션이다. Istio는 서비스 메시의 애플리케이션에 프록시(ex Envoy)를 'sidecar' 방식으로 배치하여 서비스간의 통신을 제어하는 방법을 구현 가능하게 하는 솔루션이라고 할 수 있다. 즉 Istio는 마이크로서비스를 운영 할 때 발생하는 새로운 기능이 추가되었을 때 발생하는 런타임시 종속성의 위험성을 줄여 별도의 소스 코드 수..
[Service Mesh]서비스 메시란? 서비스 메시(Service Mesh)란 무엇일까? 개요 Istio에 관해 알아보던 중, Service Mesh라는 용어가 나와 이 용어가 의미하는 바를 알아보고 이해한다. 목차 서비스 메시(Service Mesh)란? 마이크로서비스(MicroService)와의 차이점 서비스 메시(Service Mesh)는 어떻게 동작하는가? 서비스 메시(Service Mesh)의 이점 소개 1. 서비스 메시(Service Mesh)란? 서비스 메시(Service Mesh)의 정의 서비스 메시란 애플리케이션의 다양한 부분들이 서로 데이터를 공유하는 방식을 제어하는 방법이다. 서비스 메시는 각 서비스(애플리케이션의 각 부분)에서 서비스간에 커뮤니케이션을 관리해야하는 다른 시스템과는 다르게 애플리케이션에 구축된 전용 인프라 ..
[Cloud] SENS Service를 이용한 문자 인증 API 구현하기 [Naver Cloud] SENS Service를 이용한 문자 인증 API 구현 개요 Naver Cloud의 서비스 중 하나인 SENS(Simple & Easy Notification Service)를 이용하여 문자 인증 API를 구현한다. 목차 NAVER CLOUD PLATFORM 회원가입 및 기본 프로젝트 생성 API Url 및 요청 헤더에 필요한 정보 저장 Node.js 파일 작성 POSTMAN 확인 소개 1. NAVER CLOUD PLATFORM 회원가입 및 기본 프로젝트 생성 먼저 위의 링크로 이동하여 NAVER CLOUD PLATFORM에 회원가입을 진행하여준다. 그 후 마이페이지에 들어가, 서비스를 이용하기 위해서 결제 수단을 등록하여 준다. 그 후, 위의 네모박스 안의 Simple & Ea..
[CI/CD] CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프라인이란? CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프라인이란? 개요 DevOps(데브옵스) 엔지니어에게 요구되는 CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프 라인에 관하여 알아본다. 목차 CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프라인의 소개 CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프라인의 필요성 및 이점 소개 1. CI/CD(지속적 통합, 지속적 제공 및 배포) 파이프라인의 소개 CI/CD(지속적 통합, 지속적 제공 및 배포) PIPELINE 소개 및 배경 CI/CD 는 DevOps 개발 방식에서 사용된다. 이 방법은 새로운 코드를 통합하는데에서 나오는 문제를 개선하기 위한 해결책으로 등장하였다. CI/CD는 각 하위 과정으로 이루어져 있어 PIPELINE STAGE..
[Docker & Kubernetes] 도커, 그리고 쿠버네티스 도커(Docker), 그리고 Kubernetes에 관해 개요 Docker와 Kubernetes를 알아보고, Docker와 Kubernetes를 비교해 조금 더 명확하게 이해해본다 목차 Traditional vs VM(Virtual Machine) vs Container Docker 그리고 Container Kubernetes vs Docker 소개 1. Traditional vs VM(Virtual Machine) vs Container 환경 Traditional Deployment (전통적인 개발환경) Virtualized Deployment (가상환경에서의 개발환경) Container Deployment (컨테이너에서의 개발환경) 특징 1. 하나의 물리서버에서 실행 2. 여러 애플리케이션의 자원의 한..
[Cloud] 클라우드(Cloud)란 무엇인가? [Cloud] 클라우드(Cloud)란 무엇인가? 개요 AWS를 통해 클라우드(Cloud)의 기본개념을 알아보고, 현재 어떻게 사용되는지에 대하여 알아본다. 목차 클라우드의 기본 개념 클라우드의 이점 클라우드의 제공 형태 클라우드의 컴퓨팅 유형 웹 호스팅 vs 서버 호스팅 vs 클라우드 소개 1. 클라우드의 기본 개념 클라우드 컴퓨팅은 IT 자원을 인터넷을 통해 필요에 따라 제공하고 사용한 만큼만 비용을 지불하는 것이다. 클라우드를 통하여 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신, Amazon Web Services(AWS)와 같은 클라우드 공급자로부터 필요에 따라 자원(컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스)에 접근하여 원하는 자원을 가져다 쓸 수 있다. 좀 더 ..