Searching...
한국어
English
Español
简体中文
Français
Deutsch
日本語
Português
Italiano
한국어
Русский
Nederlands
العربية
Polski
हिन्दी
Tiếng Việt
Svenska
Ελληνικά
Türkçe
ไทย
Čeština
Română
Magyar
Українська
Bahasa Indonesia
Dansk
Suomi
Български
עברית
Norsk
Hrvatski
Català
Slovenčina
Lietuvių
Slovenščina
Српски
Eesti
Latviešu
فارسی
മലയാളം
தமிழ்
اردو
Production-Ready Microservices

Production-Ready Microservices

Building Standardized Systems Across an Engineering Organization
by Susan Fowler 2017 170 pages
Technology
Technical
Programming
듣기

가지 주요 요점

1. 마이크로서비스: 소프트웨어 아키텍처의 패러다임 전환

마이크로서비스의 기본 개념은 간단합니다: 하나의 작은 애플리케이션이 단 하나의 일을 잘 수행하는 것입니다.

마이크로서비스는 소프트웨어 개발을 혁신합니다. 이들은 단일 애플리케이션을 더 작고 독립적인 서비스로 분해하여 각각 특정 기능을 담당합니다. 이러한 아키텍처 접근 방식은 다음과 같은 여러 이점을 제공합니다:

  • 개발자 생산성과 속도 증가
  • 확장성과 유연성 향상
  • 새로운 기술의 용이한 도입
  • 기술 부채 감소

그러나 마이크로서비스는 새로운 도전 과제도 제시합니다:

  • 운영 복잡성 증가
  • 조직 내 사일로 발생 가능성
  • 표준화와 조정의 필요성 증가

모놀리식 구조에서 마이크로서비스로의 전환은 소프트웨어 아키텍처와 조직 구조 모두를 재구성하기 위한 신중한 계획과 회사 전체의 헌신이 필요합니다.

2. 마이크로서비스 생태계의 4계층 모델

마이크로서비스는 고립된 상태로 존재하지 않습니다. 마이크로서비스가 구축되고 실행되며 상호작용하는 환경이 그들의 생태계입니다.

마이크로서비스 생태계를 이해하는 것이 중요합니다. 4계층 모델은 마이크로서비스 아키텍처를 개념화하고 관리하기 위한 포괄적인 프레임워크를 제공합니다:

  1. 하드웨어 계층: 물리적 서버, 운영 체제, 자원 관리
  2. 통신 계층: 네트워크, DNS, 서비스 발견, 로드 밸런싱
  3. 애플리케이션 플랫폼 계층: 개발 도구, 배포 파이프라인, 모니터링
  4. 마이크로서비스 계층: 실제 마이크로서비스와 그 구성

각 계층은 전체 생태계에서 중요한 역할을 합니다:

  • 하위 계층은 기초와 인프라를 제공합니다
  • 상위 계층은 서비스별 기능과 비즈니스 로직에 집중합니다
  • 명확한 관심사의 분리는 더 나은 관리와 확장성을 가능하게 합니다

효과적인 마이크로서비스 아키텍처는 모든 계층을 신중하게 고려하고 최적화하여 서비스 간의 원활한 운영과 상호작용을 보장해야 합니다.

3. 프로덕션 준비: 마이크로서비스 표준화의 핵심

프로덕션 준비가 된 애플리케이션이나 서비스는 프로덕션 트래픽을 처리할 수 있는 신뢰할 수 있는 것입니다.

프로덕션 준비는 마이크로서비스의 신뢰성을 보장합니다. 이를 달성하기 위해 마이크로서비스는 다음의 8가지 주요 원칙을 준수해야 합니다:

  1. 안정성
  2. 신뢰성
  3. 확장성
  4. 장애 내성
  5. 재난 대비
  6. 성능
  7. 모니터링
  8. 문서화

이 원칙들은 함께 작용하여:

  • 전체 시스템 가용성 증가
  • 중단 및 장애 위험 감소
  • 개발자 생산성과 자신감 향상

프로덕션 준비 표준을 구현하려면:

  • 모든 수준에서 조직의 동의
  • 기대치와 요구사항의 명확한 전달
  • 규정 준수를 보장하기 위한 정기적인 감사와 검토
  • 생태계가 발전함에 따라 지속적인 개선과 적응

4. 안정성과 신뢰성: 마이크로서비스 아키텍처의 초석

안정적인 마이크로서비스는 개발, 배포, 새로운 기술의 도입, 다른 서비스의 폐기 또는 중단이 더 큰 마이크로서비스 생태계에 불안정을 초래하지 않는 것입니다.

안정성과 신뢰성은 신뢰의 기초를 형성합니다. 안정적이고 신뢰할 수 있는 마이크로서비스를 구축하려면 다음에 집중해야 합니다:

  1. 표준화된 개발 주기
  2. 포괄적인 배포 파이프라인 (스테이징, 카나리, 프로덕션)
  3. 종속성 관리 및 장애 완화
  4. 안정적인 라우팅 및 발견 메커니즘
  5. 신중한 폐기 및 중단 절차

안정성과 신뢰성을 보장하기 위한 주요 실천 사항:

  • 철저한 코드 테스트 (단위, 통합, 종단 간)
  • 자동화된 빌드 및 릴리스 프로세스 사용
  • 종속성에 대한 방어적 캐싱 및 폴백 메커니즘 사용
  • 서비스 아키텍처의 정기적인 검토 및 업데이트
  • 팀 간 명확한 의사소통 채널 유지

안정성과 신뢰성을 우선시함으로써, 조직은 빠른 개발과 변화하는 요구사항의 도전에 견딜 수 있는 견고한 마이크로서비스 생태계를 구축할 수 있습니다.

5. 확장성과 성능: 성장과 효율성을 위한 설계

마이크로서비스가 확장 가능하고 성능이 뛰어나려면 각 마이크로서비스에 대해 여러 요구사항을 충족해야 합니다.

확장성과 성능은 효율성을 촉진합니다. 확장 가능하고 성능이 뛰어난 마이크로서비스를 구축하려면:

  1. 정성적 및 정량적 성장 규모 이해
  2. 하드웨어 자원을 효율적으로 사용
  3. 자원 병목 현상 식별 및 해결
  4. 자동화된 용량 계획 구현
  5. 종속성이 서비스와 함께 확장 가능하도록 보장
  6. 효율적인 작업 처리 및 프로세싱 설계

확장성과 성능을 위한 주요 고려 사항:

  • 적절한 프로그래밍 언어 및 프레임워크 선택
  • 수평 확장 기능 구현
  • 데이터베이스 설계 및 사용 최적화
  • 변화하는 트래픽 패턴에 대한 모니터링 및 조정
  • 정기적인 부하 테스트 및 성능 튜닝 수행

처음부터 확장성과 성능에 집중함으로써, 조직은 증가하는 수요를 우아하게 처리하고 성장하면서 높은 수준의 효율성을 유지할 수 있는 마이크로서비스를 만들 수 있습니다.

6. 장애 내성과 재난 대비: 실패를 수용하기

마이크로서비스는 실패할 것이며, 자주 실패할 것이며, 마이크로서비스의 수명 동안 모든 잠재적 실패 시나리오는 언젠가 발생할 것입니다.

성공을 보장하기 위해 실패에 대비하십시오. 장애 내성과 재난 대비 마이크로서비스를 구축하려면:

  1. 단일 장애 지점을 식별하고 제거
  2. 모든 가능한 실패 시나리오 문서화
  3. 포괄적인 회복력 테스트 구현
  4. 자동화된 장애 감지 및 복구
  5. 명확한 사고 대응 절차 수립

장애 내성을 위한 필수 실천 사항:

  • 취약성을 식별하기 위한 정기적인 아키텍처 검토 수행
  • 회로 차단기 및 폴백 메커니즘 구현
  • 실제 실패를 시뮬레이션하기 위한 혼돈 테스트 수행
  • 사고 대응을 위한 최신 실행 매뉴얼 유지
  • 실패로부터 배우는 문책 없는 문화를 조성

실패의 현실을 수용하고 체계적으로 대비함으로써, 조직은 예상치 못한 도전에 견디고 높은 가용성을 유지할 수 있는 견고한 마이크로서비스를 만들 수 있습니다.

7. 모니터링: 마이크로서비스의 맥박

마이크로서비스 생태계에서 대부분의 중단은 잘못된 배포로 인해 발생합니다. 두 번째로 흔한 중단 원인은 적절한 모니터링의 부족입니다.

효과적인 모니터링은 마이크로서비스의 건강에 필수적입니다. 프로덕션 준비 모니터링을 구현하려면:

  1. 모든 수준(호스트, 인프라, 마이크로서비스)에서 주요 지표 식별 및 추적
  2. 포괄적인 로깅 구현
  3. 명확하고 유익한 대시보드 생성
  4. 적절한 임계값을 가진 실행 가능한 경고 설정
  5. 지속 가능한 온콜 로테이션 수립

마이크로서비스 모니터링을 위한 모범 사례:

  • 보안이나 성능을 저해하지 않으면서 모든 관련 정보 로깅
  • 한눈에 해석하기 쉬운 대시보드 설계
  • 모든 경고가 실행 가능하고 실행 매뉴얼과 연결되도록 보장
  • 모니터링 전략을 정기적으로 검토 및 업데이트
  • 서비스 건강에 대한 공동 책임 문화를 조성

견고한 모니터링 실천을 구현함으로써, 조직은 문제를 신속하게 감지하고 해결하여 마이크로서비스의 높은 가용성과 성능을 유지할 수 있습니다.

8. 문서화와 이해: 마이크로서비스 성공의 숨은 영웅

항상 양파를 주십시오.

문서화와 이해는 조직의 정렬을 촉진합니다. 포괄적인 문서화와 이해를 보장하려면:

  1. 모든 마이크로서비스에 대한 중앙 집중식 최신 문서 유지
  2. 주요 요소 포함: 설명, 아키텍처 다이어그램, 연락처 정보, 온보딩 가이드, API 세부사항, 실행 매뉴얼
  3. 정기적인 아키텍처 검토 수행
  4. 프로덕션 준비 감사 수행
  5. 프로덕션 준비 로드맵 생성 및 유지
  6. 가능한 경우 프로덕션 준비 검사를 자동화

문서화와 이해를 개선하기 위한 전략:

  • 개발 워크플로의 일부로 문서 업데이트
  • 모든 이해관계자가 접근할 수 있는 명확하고 전문 용어가 없는 언어 사용
  • 일반적인 질문을 다루는 FAQ 섹션 구현
  • 팀 간 정기적인 지식 공유 세션 수행
  • 프로덕션 준비를 조직의 OKR 및 계획 주기에 연결

문서화와 이해를 우선시함으로써, 조직은 기술 부채를 줄이고 팀 간 협업을 개선하며 마이크로서비스 생태계의 장기적인 성공을 보장할 수 있습니다.

Last updated:

리뷰

3.82 out of 5
Average of 100+ ratings from Goodreads and Amazon.

수잔 파울러의 Production-Ready Microservices는 다양한 평가를 받고 있다. 독자들은 이 책이 제공하는 고수준 개요와 프로덕션 준비를 위한 체크리스트를 높이 평가하며, 마이크로서비스에 익숙하지 않은 관리자와 엔지니어들에게 유용하다고 생각한다. 그러나 많은 이들이 이 책의 기술적 깊이와 실용적인 예시가 부족하다고 비판한다. 이 책은 조직적 측면과 프로덕션 준비에 중점을 둔 점에서 칭찬받지만, 일부는 내용이 반복적이고 너무 추상적이라고 느낀다. 이 책은 특히 관리직에 있거나 마이크로서비스 생태계에 대한 폭넓은 이해를 추구하는 사람들에게 더 기술적인 마이크로서비스 책과 함께 읽기를 권장한다.

저자 소개

수잔 파울러는 마이크로서비스와 직장 내 평등 옹호 활동으로 잘 알려진 소프트웨어 엔지니어이자 작가입니다. 그녀는 우버에서 성희롱과 차별을 겪은 경험을 상세히 기술한 블로그 게시물을 발표한 후 주목을 받았으며, 이는 회사 문화에 큰 변화를 가져왔습니다. 파울러는 여러 기술 회사에서 대규모 분산 시스템과 마이크로서비스 작업을 수행한 경력을 가지고 있습니다. 그녀의 저서 "프로덕션 레디 마이크로서비스"는 현장에서의 실무 경험을 바탕으로 작성되었습니다. 또한, 파울러는 다양한 출판물에 글을 기고했으며, 기술 및 문화적 문제에 대한 기여로 인정받고 있습니다.

0:00
-0:00
1x
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Listening – audio summariesListen to the first takeaway of every book for free, upgrade to Pro for unlimited listening.
Unlock unlimited listening
Your first week's on us
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 5: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Sep 26,
cancel anytime before.
What our users say
“...I can 10x the number of books I can read...”
“...exceptionally accurate, engaging, and beautifully presented...”
“...better than any amazon review when I'm making a book-buying decision...”
Compare Features
Free Pro
Read full text summaries
Listen to full summaries
Unlimited Bookmarks
Unlimited History
Benefits
Get Ahead in Your Career
People who read at least 7 business books per year earn 2.3 times more on average than those who only read one book per year.
Unlock Knowledge Faster (or Read any book in 10 hours minutes)
How would your life change if we gave you the superpower to read 10 books per month?
Access 12,000+ hours of audio
Access almost unlimited content—if you listen to 1 hour daily, it’ll take you 33 years to listen to all of it.
Priority 24/7 AI-powered and human support
If you have any questions or issues, our AI can resolve 90% of the issues, and we respond in 2 hours during office hours: Mon-Fri 9 AM - 9 PM PT.
New features and books every week
We are a fast-paced company and continuously add more books and features on a weekly basis.
Fun Fact
2.8x
Pro users consume 2.8x more books than free users.
Interesting Stats
Reduced Stress: Reading for just 6 minutes can reduce stress levels by 68%
Reading can boost emotional development and career prospects by 50% to 100%
Vocabulary Expansion: Reading for 20 minutes a day are exposed to about 1.8 million words per year
Improved Cognitive Function: Reading can help reduce mental decline in old age by up to 32%.
Better Sleep: 50% of people who read before bed report better sleep.
Can I switch plans later?
Yes, you can easily switch between plans.
Is it easy to cancel?
Yes, it's just a couple of clicks. Simply go to Manage Subscription in the upper-right menu.
Save 62%
Yearly
$119.88 $44.99/yr
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.