지식근로자의 생산성

"열심히 일하지 말라", "코드를 만들기 전에 생각하라" 라는 말은 소프트웨어 엔지니어링 쪽에는 30년전부터 전해내려오는 격언이다. 열심히 일하기 전에 열심히 일할 수 있는 방법을 찾는 일을 먼저하라는 이야기다. 하지만 사람은 본능적으로 생각하기 전에 몸을 움직이려고 한다. 그 이유는 크게 2가지로 요약할 수 있다. 1. 복리의 마법을 이해하지 못한다. 2...

솔류션 아키텍트에 대하여

솔류션 아키텍트(Solution Architect - SA)는 시스템과 컴포넌트, 기능들을 결합 및 통합하는 일을 한다. 비즈니스 요구사항을 기술 언어로 번역하여서 전달하는 업무도 함께 수행한다. 이 과정에서 다양한 기술 제공 업체, 내부 기술팀, 기획팀, 사업팀과 협업하면서 비즈니스 방향, 고객 가치, 기술이 서로 일치하는지를 확인한다....

The Twelve Factors

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

The Twelve Factor - Admin 프로세스

프로세스 포메이션은 애플리케이션의 일반적인 기능들(예 데이터베이스 마이그레이션을 실행합니다. (예 임의의 코드를 실행하거나 라이브 데이터베이스에서 앱의 모델을 조사하기 위해 콘솔(REPL Shell로도 알려져 있는)을 실행합니다. 대부분의 언어에서는 인터프리터를 아무런 인자 없이 실행하거나(예 애플리케이션 저장소에 커밋된 일회성 스크립트의 실행 (예일회성 ...

The Twelve Factor - 로그

로그는 실행 중인 app의 동작을 확인할 수 있는 수단입니다. 서버 기반 환경에서 로그는 보통 디스크에 파일(로그 파일)로 저장됩니다. 하지만, 이것은 출력 포맷 중 하나에 불과합니다.로그는 모든 실행중인 프로세스와 백그라운드 서비스의 아웃풋 스트림으로부터 수집된 이벤트가 시간 순서로 정렬된 스트림입니다. 가공되지 않는 로그는 보통, 하나의 이벤트가 하나의...

The Twelve Factor - Dev/Prod 일치

역사적으로, 개발 환경(애플리케이션의 개발자가 직접 수정하는 로컬의 배포)과 production 환경(최종 사용자가 접근하게 되는 실행 중인 배포) 사이에는 큰 차이가 있었습니다. 이러한 차이는 3가지 영역에 걸처 나타납니다. 시간의 차이 담당자의 차이 툴의 차이Twelve Factor App은 개발 환경과 production 환경의 차이를 작게 유지하여...

The Twelve Factor - 폐기 가능성

Twelve-Factor App의 프로세스는 간단하게 폐기 가능합니다. 즉, 프로세스는 바로 시작하거나 종료될 수 있습니다. 이러한 속성은 신축성 있는 확장과 코드나 설정의 변화를 빠르게 배포하는 것을 쉽게 하며, production 배포를 안정성 있게 해줍니다.프로세스는 시작 시간을 최소화하도록 노력해야합니다. 이상적으로, 프로세스는 실행 커맨드가 실행된...

The Twelve Factor - 동시성

모든 컴퓨터 프로그램은 실행되면 하나 이상의 프로세스로 표현됩니다. 웹 애플리케이션은 다양한 프로세스 실행 형태를 취해왔습니다. 예를 들어, PHP 프로세스는 Apache의 자식 프로세스로 실행되며, request의 양에 따라 필요한 만큼 시작됩니다. 자바 프로세스들은 반대 방향에서의 접근법을 취합니다. JVM은, 시작될 때 큰 시스템 리소스(CPU와 메모...

The Twelve Factor - 포트 바인딩

웹앱은 웹서버 컨테이너 내부에서 실행되기도 합니다. 예를 들어, PHP 앱은 Apache HTTPD의 모듈로 실행될 수도 있고, Java 앱은 Tomcat 내부에서 실행될 수도 있습니다.Twelve-Factor 앱은 완전히 독립적이며 웹서버가 웹 서비스를 만들기 위해 처리하는 실행환경에 대한 런타임 인젝션에 의존하지 않습니다. Twelve-Factor 웹 ...

The Twelve Factor - 프로세스

애플리케이션은 하나 이상의 프로세스로 실행됩니다.가장 간단한 케이스는 코드가 stand-alone 스크립트인 경우입니다. 이 경우, 실행 환경은 개발자의 언어 런타임이 설치된 로컬 노트북이며, 프로세스는 커맨드 라인 명령어에 의해서 실행됩니다.(예Twelve-Factor 프로세스는 무상태(stateless)이며, 아무 것도 공유하지 않습니다. 유지될 필요가...