전체 글114 Software Requirement - Part 2 Functional Requirement Vs Non-Functional Requirement Functional Requirement소프트웨어는 동작을 위해서는 Input, Behavior, Output와 같은 3가지 구성이 필수적이다. (코드를 작성할 때 항상 Input, Output 그리고 내부 동작한 로직인 Behavior를 생각하는 것처럼) 때문에 "기능적 요구사항" 은 간단히 소프트웨어를 동작시키기 위한 필수 요소를 정의하는 것이다. 간단히 예를 살펴보면,- 고객들이 산 물품에 대해 기록해야 한다.- 배경화면은 RGB 코드의 0x000FF이어야 한다. 등등과 같이 해당 소프트웨어에서 동작시켜야 하는 필수 요구사항이다. Non-Functional Requirement기능적 요구사항과 달리 소프트.. 2019. 10. 27. Software Requirement - Part 1 Software Requirement에 대해 차근차근이 알아보려고 한다. (공부할겸..) 프로젝트를 시작할 때, 가장 중요한 것은 "무엇을 만드냐" 이다. 물론 토이 프로젝트로서 재미삼아 만들어 볼 순 있지만 그건 개인에 한정된 부분인 것이고 회사로 넘어가게 되면 프로젝트 하나하나가 큰 시간과 비용을 소모하는 일이기에 프로젝트를 명세하고 진행하는 것이 중요하다.때문에 무엇을 만들어야하는지 명세하기 위해 Requirement 즉, 요구 사항을 수집하고 정의하는 것이 필수적이다.위 그림을 보면 프로젝트 요구사항을 피라미드 형태로 구분되어있다. 즉, Top-Down 형태로 아래로 내려갈수록 좀 더 세부적인 요구사항을 정의하게 된다. (잠깐, 위 그림은 Business, User, System 3가지로 구분되어.. 2019. 10. 20. Apache Mesos Apache Mesos에 대해 알아보려고 한다. Apache Mesos 즉, Mesos는 분산 시스템 커널(Distributed Systems Kernel)이다. (Linux Kernel의 원리와 비슷하다고 생각하면 된다.)때문에 Mesos를 사용하면 클라우드 환경(+데이터센터)에서 Hadoop, Spark, Kafka, Elasticsearch와 같은 다양한 어플리케이션의 리소스 관리 및 스케줄링 등을 할 수 있다. 공식 문서에는 이외에도 여러 기능들을 소개하는데 간단히 나열해보면 다음과 같다.(자세한 내용은 공식 문서 참조)- Linear Scalability- High Availability- APIS- Web UI- Pluggable Isolation- Containers- Two Level Sc.. 2019. 9. 23. Apache Airflow Apache Airflow(줄여서 Airflow)는 Airbnb에서 개발한 워크플로우(Workflow) 모니터링 및 스케줄링 플랫폼이다. (2016년도에 아파치재단의 인큐베이터 프로젝트로 등록되었고 2019년인 현재는 Top-Level 프로젝트이다.) Airflow의 가장 큰 장점은 코드를 통해 워크플로우를 정의할 수 있기 때문에, 워크플로우를 다양한 방식으로 사용 및 유지 보수 할 수 있다.이는 Airflow의 내부 개념과 맞닿아 있는데 간단히 살펴보면 다음과 같다.- DAG (Directed Acyclic Graph)Collection of all the tasks로 실행하고자 하는 모든 작업을 의존성에 따라 구성한다.단, 구성된 작업이 Acyclic 구성이 아닌 Cyclic이라면 내부적으로 에러가 .. 2019. 9. 16. Prometheus 프로메테우스(Prometheus)는 모니터링 및 알람 관련 오픈 소스이다. 2012년 등장이래로 활발한 커뮤니티를 가지고 있으며 현재는 독립적인 오픈 소스 프로젝트로 관리되고 있다.(참고로, CNCF에서 Kubernetes 이어 2 번째로 호스팅 프로젝트이다.) 프로메테우스의 특징을 간추려보면 다음과 같다.- PromQL 이라는 내부 Query- 내장 Gateway를 통한 Pushing time series- 다양한 대시보드(Dashboard)- 다양한 데이터 모델 추가로 Golang으로 개발되었으며, 내부 컴포넌트들은 바이너리로서 빌드 및 배포하기 쉽게 되어 있다. 그림 1. Prometheus Architecture 그림 1에서 확인 할 수 있듯이 프로메테우스의 아키텍처는 여러개의 컴포넌트들로 구성되.. 2019. 9. 9. if kakao 2019 카카오에서 주최한 개발자 컨퍼런스 1일차 내용을 생각과 함께 정리해보려고 한다.(직접 들은 세미나만) 1. 카카오에서 컨테이너를 사용하는 방법 카카오의 많은 서비스가 컨테이너 플랫폼을 사용하고 있다는 것을 알았다. 컨테이너를 접목해서 많이 사용한다는 얘기를 들었지만 메인 서비스(특히, 카카오톡)들이 컨테이너를 바탕으로 운영되고 있다는 것을 나름 새로운 사실이었다.물론 컨테이너 플랫폼이라고 해봤자 메인 컨테이너 플랫폼이 된 k8s 이지만, 그 안의 내용은 새로웠다. k8s는 만능이 절대 아니다. 적당히 설치하고 운영해서는 안쓴 것만 못하다는 것이다. (k8s 운영 조직이 없다면 더더욱) 그림에서 볼 수 있지만 k8s를 운영하기 위해서는 5가지가 충족되어야만 한다.1) 네트워크2) 클라우드3) 인프라4) 플.. 2019. 9. 1. 이전 1 ··· 3 4 5 6 7 8 9 ··· 19 다음