설계 13

아키텍처 설계 온라인 강의 오픈합니다.

안녕하세요?조대협입니다. 그동안 실시간으로만 진행해왔던 대용량 아키텍처 설계 강의를 온라인으로 패스트 캠퍼스에서 오픈합니다.생성형 AI 시대가 되면서, 코딩은 이제 AI가 하게 되고, 그러면 엔지니어로써 살아남기 위해서는 무엇을 준비해야 할까 고민을 해보면, 실리콘 밸리에서는 자바나 안드로이드 엔지니어가 아니라 General Software engineer라는 역할을 뽑습니다.특정 언어나 기술에 대한 종속성이 있는 것이 아니라, 비즈니스 문제를 기술로써 해결하는 사람으로, 이런 엔지니어의 특징은 문제 해결능력, 비즈니스에 대한 이해, 설계 능력과 좋은 커뮤니케이션 능력을 가지고 있습니다.  그래서 이번 대용량 아키텍처 강의는 그동안의 노하우를 다시 정리해서 리부트 하였습니다1. GTM 기반의 비즈니스 전..

GTM 전략의 이해

GTM 전략의 이해조대협 (http://bcho.tistory.com)  IT 시스템은 기존의 비즈니스를 지원하거나 또는 IT 서비스 자체가 제품이 되는 경우인데, 이러한 IT 서비스를 설계하기 위해서는 개발하고자 하는 시스템이 제공하는 가치와 그 비즈니스를 이해해야 한다. 비즈니스의 이해가 없이, 비지니스에 활용되는 시스템을 설계 한다는 것은 전체 그림을 보지 못하면서 일부만을 이해하고 그 일부가 전체인 것처럼 이해하고 시스템을 구축하기 때문에, 좋은 시스템이 만들어질 수 없다. 비즈니스에서 제품/서비스를 기획하고, 이를 마케팅,판매하고 측정하는 일련의 계획을 GTM 전략이라고 한다. GTM 전략 GTM(Go-to-Market) 전략은 기업이 새로운 제품이나 서비스를 시장에 성공적으로 출시하고 판매하기..

비지니스 2024.09.03

아키텍쳐 문서화는 어떤 도구를 사용하는게 좋을까?

아키텍쳐 문서화는 어떤 도구를 사용하는게 좋을까?조대협(http://bcho.tistory.com) 제 현재 본업은 아키텍트 입니다. 주로 시스템을 설계하는 역할을 하는데, 이 아키텍쳐 문서를 주로 PPT를 사용합니다. 문서는 워드로 만드는게 좋을 수 도 있고, EA나 StarUML등등 많은 툴이 있는데, 굳이 PPT를 사용하는 이유를 적어놓고자 합니다.사실 예전에는 MS WORD로 설계문서를 만들었습니다. 만들어 놓으면 멋도 있고, 자세한 내용 표현이 가능해서 탐독하면서 이해하기도 좋습니다. 그런데, 고객사의 요구 때문에, PPT로 바꾼후, 거의 습관처럼 PPT로 아키텍쳐 문서를 만들다 보니, 몇가지 장점이 있습니다. 1. PPT 는 표현에 제약이 없다.아키텍쳐 디자인은 특성상 많은 다이어그램과 노트등..

MSA 아키텍쳐 구현을 위한 API 게이트웨이의 이해 (API GATEWAY)

MSA 아키텍쳐 구현을 위한 API 게이트웨이의 이해 #1조대협 (http://bcho.tistory.com) MSA(마이크로 서비스 아키텍쳐, 이하 MSA)와 함께 근래에 떠오르고 있는것이 API 게이트 웨이이다. API 게이트웨이는 API서버 앞단에서 모든 API 서버들의 엔드포인트를 단일화하여 묶어주고 API에 대한 인증과 인가 기능에서 부터 메세지에 따라서 여러 서버로 라우팅 하는 고급기능 까지 많은 기능을 담당할 수 있다.API 게이트웨이의 시작은 MSA가 SOA(서비스 지향 아키텍쳐)에서 시작한것 처럼 ESB (Enterprise Service Bus)에서 부터 시작 되었다. 그래서 ESB의 대부분의 컨셉을 많이 승계했는데, ESB의 실패와 단점을 보완해서 만들어진 사상이 API 게이트웨이이다..

REST API의 이해와 설계-#1 개념 소개

REST API의 이해와 설계#1-개념 소개 REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데 그것이 바로 Representational safe transfer (REST)이다. REST의 기본REST는 요소로는 크게 리소스,메서드,메세지 3가지 요소로 구성된다.예를 들어서 “이름이 Terry인 사용자를 생성한다” 라는 호출이 있을 때“사용자”는 생성되는 리소스 , “생성한다” 라는 행위는 메서드 그리고 ‘이름이 Terry인 사용자’는 메시지가 된다이를 REST 형태로 표현해보면..

대용량 웹서비스를 위한 마이크로 서비스 아키텍쳐의 이해

마이크로 서비스 아키텍쳐 (MSA의 이해)조대협(http://bcho.tistory.com) 배경 마이크로 서비스 아키텍쳐(이하 MSA)는 근래의 웹기반의 분산 시스템의 디자인에 많이 반영되고 있는 아키텍쳐 스타일로, 특정 사람이 정의한 아키텍쳐가 아니라, 분산 웹 시스템의 구조가 유사한 구조로 설계 되면서, 개념적으로만 존재하던 개념이다.얼마전 마틴파울러(Martin folwer)가 이에 대한 MSA에 대한 개념을 글로 정리하여, 개념을 정립 시키는데 일조를 하였다.이 글에서는 대규모 분산 웹시스템의 아키텍쳐 스타일로 주목 받고 있는 MSA에 대한 개념에 대해서 알아보도록 한다. 모노리틱 아키텍쳐(Monolithic Architecture) 마이크로 서비스 아키텍쳐를 이해하려면 먼저 모노리틱 아키텍쳐 ..

REST API에 대한 보안

REST API 보안조대협REST API에 대한 보안에 대해서 알아보자. API 에 대한 보안은 인증, 메세지 암호화, 무결성 크게 3가지 관점에서 고민해볼 수 있다. 1) 인증인증은, REST API를 호출한 사람(클라이언트)가 적절한 사용자 인가를 판단해주는 것이다. 아무나 API를 호출하는 것이 아니라 인증을 받은 사람많이 API를 호출해주게 하는 것인데, 쉽게 생각하면 사용자의 id,passwd로 서비스에 로그인을 하는 개념을 생각할 수 있다.API Key 방식API에 대한 인증 방법은 몇가지가 있는데, 그 중에서 가장 기초적인 방법은 API Key를 이용하는 방법이다. API Key란, 특정 사용자만 알 수 있는 일종의 문자열이다. 현재 Amazon이 이 방식을 사용하고 있는데 API를 사용하고..

MongoDB의 Physical 데이타 저장 구조

MongoDB를 구성할때 보면, 가장 많이 권장 받는 부분 중의 하나가, 메모리량과 디스크 성능이다.메모리 크기가 아주 sensitive한 요인이 되는데, 어떤 부분이 문제가 되는지 내부 저장 구조를 살펴 봄으로써 이해를 돕고자 한다. 저장 구조mongodb는 기본적으로 memory mapped file (OS에서 제공되는 mmap을 사용) 을 사용한다. mongodb는 데이타를 write할때, 논리적으로 memory 공간에 write하고, 일정 주기에 따라서, 이 메모리 block들을 주기적으로 disk로 write하는데, 이 디스크 writing 작업은 OS에 의해서 이루어 진다. OS에 의해서 제공되는 Virtual Memory를 사용하게 되는데, Pysical Memory 양이 작더라도 Virtu..

아키텍쳐 설계 프로세스

아키텍쳐 아키텍쳐란 무엇일까? 소프트웨어 시스템에 대해서 이야기 하다보면, “아키텍쳐가 어떻다”. “최신 아키텍쳐를 적용했다.” 등 아키텍쳐에 대한 언급이 많다. 그렇다면, 소프트웨어 아키텍쳐에 대한 정의는 무엇일까? http://www.sei.cmu.edu/architecture/start/glossary/community.cfm 를 보면, 수많은 아키텍쳐에 대한 정의가 있다. 지금부터 설명하고자 하는 아키텍쳐에 대한 정의는 다음과 같다. “아키텍쳐는 비지니스 요구 사항을 만족하는 시스템을 구축하기 위해서 전체 시스템에 대한 구조를 정의한 문서로, 시스템을 구성하는 컴포넌트와, 그 컴포넌트간의 관계, 그리고, 컴포넌트가 다루는 정보(데이타)를 정의한다.” 또한 소프트웨어 아키텍쳐는 현재의 요구사항뿐 아..

아키텍쳐 2012.09.04