메뉴 건너뛰기

Self-Contained System

Self contained system은 모노리스와 마이크로서비스 중간쯤에 있는 블록형 아키텍처입니다. 여러 개의 마이크로서비스를 하나의 엔티티로 나타내면서도 모노리스보다는 작은 규모를 가지는 형태입니다. 만일 매우 연관성이 높아 타이트한 커플링이 필요한 마이크로서비스가 있다면 그것을 Self contained system으로 합니다. Self contained system는 매우 새롭습니다. 그렇지만 마이크로서비스와 모노리스와의 차이는 정도의 차이일 뿐 형태의 까지는 아닙니다.


장점

두 형태의 장점을 모두 가집니다.

크로스커팅이 매우 쉽게 제어되면서도 마이크로서비스와 같은 쉬운 코딩과 배포를 만끽할 수 있습니다. 앱에서 필요한 모든 데이터를 내부적으로 가지고 있기 때문에 복잡한 메시징과 표준 데이터 형태에 대해 고민하지 않아도 됩니다. 참 쉽죠?


단점

아키텍처 정의가 어렵습니다.

마이크로서비스와 Self contained system의 경계는 모호하지만 분명히 존재합니다. 고심 끝에 여러분은 Self contained system이 많은 서비스에 적합하다고 판단할 것입니다. 그렇지만 서비스를 분리해내는 작업이 매우 어렵다는 것을 알게 될 것입니다. Self contained system에서 어떤 기능을 내부로 두고 외부로 둘지를 사전에 판단하기 위한 자원이 부족할 수 있기 때문입니다.


Takeaway

Self contained system이 매우 새롭고, 현존하는 지침이 충분하지 않은 이유로 결과적으로 개발팀은 마이크로서비스를 택하는 것이 옳은 선택이 될 것입니다. 적어도 현재로서는 말입니다. 다시말하면 self contained system은 마이크로서비스를 지향하는 사람들에게 적합합니다. 모노리스를 쪼개 self contained system을 만들어내는 것은 전체 조직이 마이크로서비스를 채택하게 되는 중요한 첫 걸음입니다.

 

결론

Self contained system이 새롭고 핫하기는 하지만 마이크로서비스는 대중적이고 쿨합니다. 어플리케이션에 적합한 아키텍처가 무엇인지 단언하는 것은 불가능합니다. 아직까지 인터넷상에서 많이 사용되는 아키텍처는 모노리스이며 현재까지 대단히 성공적이라고 할 수 있습니다. 여기에는 단순성과 신뢰성을 주는 무언가가 있습니다. 서로 다른 소프트웨어 아키텍처의 장단점을 비교해봄으로써 조직에 맞는 소프트웨어 아키텍처를 선택해볼 수 있습니다. 어느 쪽을 택하든 그것의 장단점을 포용하고 배워나가면 이를 향상시켜 나갈 수 있을 것입니다.

Who's NeO

ALM, SW 모델링, SW 정적분석, Devops 특히 CI/CD, APM을 통한 Shiftleft에 관심이 많습니다. 

차세대 APM Cisco AppDynamics와 모바일 앱 모니터링 VMware Apteligent를 소개합니다.

http://www.solulink.co.kr

?

 


  1. 3. 앱 로드타임을 2초 내로 줄여 좋은 첫인상을 주자

    3. 앱 로드타임을 2초 내로 줄여 좋은 첫인상을 주자 크래시율과 더불어 app load time은 매우 중요한 지표입니다. App load time은 고객유치에 매우 밀접한 메트릭이자 모바일 앱에 접근하는 중요한 시간정보입니다. 연구에 따르면 app load time은 50%의 ...
    Date2018.02.19 ByNeO Reply0 Views531
    Read More
  2. 2. 주요 3 Userflow의 크래시율을 0.25%미만으로 유지하자

    2. 주요 3 Userflow의 크래시율을 0.25%미만으로 유지하자 앞서 Best Practice #1의 방법으로 top 10 크래시를 수정한다면, 0.25% 이하의 크래시율을 유지하는 데에 매우 큰 도움이 될 것입니다. 전체 크래시율을 낮추는 것 외에도 주요 Userflow의 크래시...
    Date2018.02.05 ByNeO Reply0 Views407
    Read More
  3. 1. 매 스프린트에서 Top 10 크래시를 잡자

    1. 매 스프린트에서 Top 10 크래시를 잡자 모바일 앱을 모니터링할 때 가장 중요한 지표 중 하나는 전체 크래시율입니다. 크래시율이란 전체 세션 대비 크래시가 발생한 비율을 의미합니다. 앱의 품질을 평가하는 데에 크래시율은 전체 릴리즈 프로세스에...
    Date2018.01.30 ByNeO Reply0 Views435
    Read More
  4. No Image

    모바일앱 최적화를 위한 7가지 (0)

    본 문서는 다음 문서를 번역한 글입니다. http://www.apteligent.com/white_paper/7-best-practices-optimizing-mobile-app-experience/ 이 문서를 게시하기 전에 모바일앱 모니터링 툴의 종류와 특성에 대한 개요를 작성하고자 하였으나, 많은  mAPM이나 ...
    Date2018.01.29 ByNeO Reply0 Views340
    Read More
  5. Is NoOps the End of DevOps? Think Again (2) 결론

    In conclusion, DevOps is forever DevOps의 완성형이라고 일컬어짐에도 불구하고 NoOps는 DevOps의 종착역은 아닙니다. 사실 NoOps는 DevOps를 통해 달성할 수 있는 혁신의 시작이라고 볼 수 있습니다. DevOps가 이름을 갖기 훨씬 전부터 시작된 NoOps...
    Date2018.01.02 ByNeO Reply0 Views322
    Read More
  6. Is NoOps the End of DevOps? Think Again (1) DevOps가 사라지지 않는 7가지 이유

     7 Reasons DevOps Is Not Dying 이제 DevOps의 시작에 대해 알았으니 본래의 질문으로 돌아가봅시다. NoOps가 DevOps의 종착역일까요? 그렇지 않습니다!  1. DevOps is a journey 어떤 Devopsdays에 참석하더라도 “DevOps is a jo...
    Date2018.01.02 ByNeO Reply0 Views371
    Read More
  7. Is NoOps the End of DevOps? Think Again (0) IT Operation, DevOps, NoOps 의 간략한 역사

    이 문서는 다음 링크의 글을 일부 번역했습니다. https://blog.appdynamics.com/engineering/is-noops-the-end-of-devops-think-again/ 제일 앞 부분의 DevOps와 NoOps 운동에 대한 논란은 관심있으신 분은 직접 링크를 따라가며 읽어보시면 좋을 것 같습...
    Date2018.01.02 ByNeO Reply0 Views430
    Read More
  8. Monoliths - Module, Allocation, Runtime Monolith

    이 문서는 다음 링크의 글을 번역했습니다. http://www.codingthearchitecture.com/2014/11/19/what_is_a_monolith.html 모노리스와 대비하여 마이크로서비스를 이야기하는 강한 트렌드가 있습니다. 그리고 모노리스를 마이크로서비스로 나누는 방법에 대...
    Date2017.12.13 ByNeO Reply0 Views540
    Read More
  9. No Image

    Microservices, Monoliths and Self-Contained Systems (3) Self-contained system과 결론

    Self-Contained System Self contained system은 모노리스와 마이크로서비스 중간쯤에 있는 블록형 아키텍처입니다. 여러 개의 마이크로서비스를 하나의 엔티티로 나타내면서도 모노리스보다는 작은 규모를 가지는 형태입니다. 만일 매우 연관성이 높아 ...
    Date2017.12.13 ByNeO Reply0 Views429
    Read More
  10. No Image

    Microservices, Monoliths and Self-Contained Systems (2) Microservices

    Microservices 상대적으로 마이크로서비스는 많은 장점을 가져다 주는 반면 단점이 적은 편입니다. 마이크로서비스는 커다란 어플리케이션의 일부분이라고 할 수 있으며 독립적인 어플리케이션이라고 할 수 있겠습니다. 예를 들어 웹 상에 스토어를 운영...
    Date2017.12.13 ByNeO Reply0 Views235
    Read More
Board Pagination Prev 1 2 3 Next
/ 3