클라우드(Cloud)와 MSA(MicroService Architecture)는 최근 IT 업계에서 중요한 이슈이다. 하이브리드 클라우드는 왜 인기 있을까? 2006년 AWS가 상업용 클라우드 컴퓨팅 서비스를 출시한 이후로 클라우드는 피할 수 없는 대세가 됐다. IT 시장조사기관 가트너는 2020년 전 세계 클라우드 시장 규모를 2579억 달러로 추정했다. 이는 서버 시장의 규모(240억 달러)를 10배 이상 추월한 숫자다. 더욱이 향후 몇 년간 20% 가까운 성장률을 예상한다고 하니 그 규모는 더 빠르게 커질 것이다. 이 차이는 어찌 보면 당연하다. 서버는 단순히 고객에게 물리적인 하드웨어를 파는 것인데 반해 클라우드는 서버 외에도 오브젝트 스토리지, 관리형 DBMS(데이터베이스관리시스템), 애플리케이..
개발 -> 빌드 -> 테스트 -> 배포 개발 부터 배포까지는 보통 위의 과정을 거치게된다. 하지만 만약 위 과정을 모두 수작업으로 처리한다면 여러가지 불편한 점이 있을 것이다. 코드 작업부터 배포까지 과정에서 중간중간에 일일히 오류를 수정하고 다시 빌드하고 테스트하는 것은 큰 시간과 체력소모를 하게된다. 큰 규모의 프로젝트일수록 이러한 작업은 피로도를 높일 것이다. 기존 과정의 문제점 1. 수동화 된 작업 : 빌드 오류, 배포가 잘 진행되고 있는지, 신규 버전에서 오류가 발생하는지 등 상황을 확인하면서 이후 작업을 수작업으로 진행하면, 모두가 피곤할 것이다. 2. 작업의 누락 : 장애가 발생하지 않으면 누락 사실을 인지하기 어려운 작업을 놓칠 가능성이 존재한다. 3. 기능 추가 및 변경의 부담 : 기존 ..
절차적 프로그래밍 방식 입력을 받아 명시된 순서대로만 처리하고 결과를 내는 방식 구조적 프로그래밍 방식 절차적 프로그래밍 방식의 개선된 형태 프로그램을 함수단위로 나누고 함수끼리 호출하는 방식 큰 문제를 해결하기 위해 문제를 작은 단위들로 나누어 해결하는 방식 Top-Down 방식이라고도 한다. 객체 지향 프로그래밍 방식 구조적 프로그래밍 방식의 개선된 형태 큰 문제를 작게 쪼개는 것이 아니라, 작은 문제들을 해결하는 객체를 만든다. 객체들을 조합해 큰 문제를 해결하는 Bottom-Up 방식 OOP의 4가지 특징 1. 캡슐화 실제로 구현 부분을 외부에 드러내지 않는 것 변수의 메소드를 하나로 묶음 데이터를 직접 접근하는 것이 아닌 함수로 접근(get/set) Public, Private, Protecte..