아키텍쳐 143

대용량 분산 시스템 아키텍쳐 디자인

대용량 분산 시스템 아키텍쳐 디자인 대용량 분산 시스템에 대한 아키텍쳐 설계에 대한 내용을 공유합니다. 아직 많이 부족합니다. 많은 피드백 부탁드립니다. 1. 아키텍쳐 설계 프로세스 대용량 분산 아키텍쳐 설계 #1 아키텍쳐 설계 방법론 from Terry Cho 2. 대용량 분산 시스템 아키텍쳐 대용량 분산 아키텍쳐 설계 #2 대용량 분산 시스템 아키텍쳐 디자인 패턴 from Terry Cho 3. 대용량 분산 시스템 아키텍쳐 디자인 패턴 대용량 분산 아키텍쳐 설계 #3 대용량 분산 시스템 아키텍쳐 from Terry Cho 4. 레퍼런스 아키텍쳐 - SOA 대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐 from Terry Cho 5. 레퍼런스 아키텍쳐 - REST 대용량 분산 아키텍쳐 설계 #5. ..

요구 사항 정의 기법

1. Feature를 정의하는 것을 목표로 한다.2. Level 2~3 수준에서 Feature를 정의하고 내용을 Detail 쪽에 서술한다.3. 스토리 기반으로 리뷰를 하면서, Feature를 합치거나 나눠본다. 기준은 스토리 기반으로 리뷰를 했을 때 흐름이 끊어지지 않아야 하며, UX 디자이너가 스스로 디자인을 그릴 수 있는 수준이 되어야 한다.4. 전반부에는 최대한 디테일한 내용으로 해서 Feature들을 세분화 한후5. 후분부에는 디테일 내용을 합쳐가면서 Feature로 리스트 업한다. 그리고 디테일한 내용은 Feature로 정의하지 않고 Feature의 detail description에 서술하는 전략을 사용한다.

아키텍쳐 2013.11.13

소프트웨어 개발팀의 구조

서비스 개발팀의 구조 시스템 개발 및 운영에 있어서, 팀의 구조는 매우 중요하다. 효율적인 의사 소통과 협업은 이 팀 구조에 많은 영향을 받는데, 지금까지 여러가지 팀 구조에 대한 레퍼런스가 존재해왔다. 개인적으로 느끼는 생각은, 사실 정답은 없다는 것이다. 비지니스나 팀의 특성, 문화적 특성에 따라서 그 팀 구조는 매우 상이하다. 지금까지 수천명이 들어가는 은행 차세대 프로젝트에서 부터 4~5명으로 구성된 프로젝트 팀, 50명 규모의 프로젝트 팀등 다양한 팀 구조를 경험하거나 직접 셋업 및 운영해왔다. 경험상 보면 보편적으로 많이 사용되는 팀 구조 모델이 있기는 마련인데, 여기서는 지금까지 프로젝트를 해오면서 가장 적절했다고 생각하는 팀 구조에 대해서 소개 하고자 한다. (참고, 이 팀의 구조는 개발과..

아키텍쳐 2013.11.01

Technical Debt

Technical Debt Technical Debt는 직역하자면 "기술적인 빚"이다. 은유적인 표현으로 개발단계에서 제대로 개발을 해놓지 않게 되면 그게 빚이 되고 나중에 이자가 붙어서 더 많은 일을 해야 한다는 것이다.쉽게 예를 들어서, 개발 단계에서 문서화를 제대로 해놓지 않은 경우, 개발이 끝난 후, 기능 개선이나 기타 수정을 하려고 했을 때 문서가 없기 때문에 코드를 분석하고 구조를 다시 분석하는 작업을 한 후에 다시 개발을 해야 함으로, 더 많은 노력이 든다. 즉 문서화를 해놓지 않은 것이 "빚" 이 되는 것이다.Technical Debt가 생기는 원인은 여러 가지를 들 수 있는데, 주요한 원인은 다음과 같다. ① 비지니스 조직으로 부터의 무리한 압박 : 시장 출시를 맞추기 위해서 무리한 일정..

아키텍쳐 2013.10.30

API 플랫폼에 대한 소개

API Platform조대협 근래에 들어서 모바일 애플리케이션의 발전과 SNS의 발전과 더불어서 Open API 에 대한 관심도가 급격하게 높아졌다. Open API란, API를 내부 사용자뿐만 아니라 외부 개발자에게까지 공개해서, 외부 개발자가 API를 이용해서 새로운 서비스를 만들도록 하는 모델이다. 근래에 들어서는 API만 전문적으로 개발 및 서비스를 해서 이를 통해서 수익을 창줄하는 비지니스 모델까지 생겨나고 있다. 이런 배경으로 API 관리에 대한 중요성이 대두되었는데, API에 대한 쉬운 관리, 모니터링 및 유료화 그리고, API에 대한 편리한 사용법, 샘플 코드 및 메뉴얼 제공하는 시나리오가 필요하게 되었는데, 이를 하나의 플랫폼 형태로 묶어 놓은 것을 API 플랫폼이라고 한다.API 플랫폼..

REST API에 대한 보안

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

License Key Management

License Key Authentication에 대한 간단한 아키텍쳐 Anonymous client에 대한 라이센스 발급 방식 1. 클라이언트에서, CPU ID나 MAC 주소와 같은 signature를 이용하여 hash 값을 만들어서 서버에 라이센스 키를 요청2. 서버에서는 이 내용을 바탕으로 새로운 키를 생성하고, 이 키를 private key로 encrypt하여 클라이언트에 보냄3.4. 클라이언트는 이 메세지를 public key로 풀어서 text 내용은 미리 상호 약속한 내용 (예를 들어 CPU ID 등) * request에 클라이언트를 인증하기 위한 user id,password등을 같이 실어서 보낼 수 있음* 라이센스 키 체크는 클라이언트에서 저장된 public key로 풀어서 일치 하지 않으..

아키텍쳐 2013.08.01