ML engineer/System designs
-
IaaS / PaaS / SaaSML engineer/System designs 2023. 9. 22. 01:07
🕓 2 mins read 업계에서 많이 쓰는 용어인데 잘 모르고 그냥 대충 알고 있기도 하고, 남용하기도 하는데 한번 확인 하면 좋을 것 같아 기록합니다. # 정의 IaaS : Infrastructure-as-a-Service PaaS: Platform-as-a-Service SaaS: Software-as-a-Service 이제.. 여기에서 좀 막나가는 경우도 종종 보입니다만.. 두루미-as-a-Service 식으로 아무거나 아무개-aaS 라고 이름 붙이기도 하는것 같습니다. # 비교 왼쪽 끝열을 보면 기존에 아무개-aaS 이전에는 그냥 다 직접 관리 했던 부분을 인프라 레벨에서부터 어플리케이션 레벨까지 클라우드화 해주는 서비스라고 보시면 됩니다. 클라우드 시대 이전 방식대로 직접 다 관리할 경우 장점..
-
Domain Name System (DNS) 개요ML engineer/System designs 2023. 1. 22. 11:46
🕓 5 mins read 사실, DNS 시스템에 대한 자세한 내용들은 책을 찾아봐도 되고, 위키를 검색해 보면 아주 상세하게 온갖 정보가 나올 텐데, 간단하게 우리가 시스템 디자인을 하는 데 있어 알아두면 좋을 내용들 위주로 간략하게 정리해 봤습니다. # 소개 도메인 네임 시스템(DNS)은 인터넷의 핵심 구성 요소로, 외우기 어려운 IP 주소 대신 쉽게 기억할 수 있는 도메인 이름을 사용하여 웹사이트에 액세스 할 수 있게 합니다. DNS는 도메인 이름을 IP 주소로 매핑하는 방법으로 소개되었으며, 사용자가 웹 사이트에 액세스 하고 서버가 서로 찾는 것을 쉽게 하기 위한 방법입니다. 과거에(?) 사람들이 전화번호 외우기 어려우니 전화번호부를 찾아보던 것과 같은 개념이라고 생각하시면 됩니다. (요즘? 사람들..
-
분산 시스템 디자인ML engineer/System designs 2023. 1. 19. 01:17
🕓 3 mins read 작게든 크게든 소프트웨어 개발자라면 언젠가는 시스템 디자인의 각 요소들을 한번쯤은 접할 일이 생깁니다. 학생때 배우는 내용이거나, 채용 면접을 준비하면서 본 내용이거나, 직접 각 요소를 핸들링 해야하는 입장일 수 도 있겠죠. 어떤 경우든, 미리 다음의 큰 요소들은 머리속에 정리가 되어있다면, 제법 scalable한 시스템을 시스템을 디자인 하는데에 도움이 될것입니다. - 기본적으로 CS 배경 지식이 없다면, Karan Pratap Singh님의 시스템 디자인 프라이머도 한번 보시면 좋습니다. # 기본 요소 기본 요소라고 굳이 부르는 이유는, 향후에 시스템 디자인을 할때 다음 요소들을 한번 숙지 하고 나면, 시스템 각 요소의 구체적인 설계나 기능 명세를 모르더라도 전체 시스템의 기..
-
Consistency Model의 종류ML engineer/System designs 2023. 1. 2. 21:55
🕓 4 mins read # Consistency 분산 시스템 환경에서 consistency는 여러 가지 의미를 가질 수 있습니다. 한 가지는 각 레플리카 노드가 특정 시간에 항상 동일한 데이터 view를(동일한 read 결과를 내뱉는 것) 가지는 것을 의미하는걸 수 있죠. 또 다른 의미로는 여러 read request에 대해서 가장 최근에 write 된 값을 리턴하는 것을 의미할 수 있고요. Consistency를 보장하는 방법도 다양하기 때문에 이 두 가지 외에도 consistency에 대한 정의가 달라질 수 있습니다. 일반적으로 consistency model은 추상화된 개념으로 분산 시스템 내에서 read, write, modification등에 대해 어떤 동작이 적합한지 따져 볼 수 있도록 정의..