신뢰할 수 있고 확장 가능하며 유지보수하기 쉬운 애플리케이션
~ > 가능한가???
어플리케이션마다 요구사항은 다르다. 따라서 애플리케이션을 만들 때 어떤 도구와 어떤 접근 방식이 가장 적합한지 생각해야 한다.
대부분의 소프트웨어 시스템에서 중요하게 여기는 세가지 관심사가 있다
- 신뢰성
- 무언가 잘못되더라도 지속적으로 올마르게 동작함
- 결함이 생겨도 예측하고, 대응할 수 있는 시스템(내결함성, 탄력성)이 신뢰성이 높다
- 단일장비의 신뢰성을 유지하면서 유연성과 탄력성을 지키기 위해서는 어떤 장치가 필요할까?
- 확장성
- 부하가 증가해도 좋은 성능을 유지하는 전략
- 트위터의 예시에서 혼합형 접근 방식은 어떻게 구현 하면 좋을까
- 유지보수성
- 작업하는 개발자들이 효율적으로 작업할 수 있도록 개선
- 유지보수성을 높이는 방법 중 추상화가 있다. 시스템 아키텍처를 분리해서 api 통신을 하는 msa도 유지보수성을 높이는 방법일 수 있을 까?
Main 왜 대부분의 소프트웨어 시스템은 3가지 관심사를 중요하게 생각할까?