<클라우드 네이티브 자바>는 스프링 부트, 스프링 클라우드, 클라우드 파운드리를 활용하여 확장성 높고 회복력 있는 스프링 마이크로서비스 아키텍처 구현과 지속적 전달을 사용하는 클라우드 파운드리 기반 클라우드 네이티브 애플리케이션 개발과 운영에 대한 내용을 담은 책입니다. 자바 개발자들이 클라우드와 같은 분산 시스템 운영 환경에서 효율적으로 서비스를 운영하기 위한 방법을 소개한 이 책에서 저자들은 다양한 예제를 준비했고 이 내용은 독자분들의 환경에서도 무리 없이 동작합니다.
저자들이 책에서 클라우드 파운드리 환경에서 운영하고 처리하는 방법을 자세히 소개했지만, 간혹 클라우드 파운드리를 준비하고 애플리케이션을 배포하며, 서비스를 준비하는 방법에 대한 설명이 조금은 아쉬운 부분이 있기에 이 점을 보충하기 위해 이 책의 대표 역자이자 현재 피보탈에서 일하고 있는 정윤진 님이 국내 독자의 이해를 돕기 위한 '한국어판 특별 부록'을 작성해주셔서 책에 수록했습니다.
이 책이 6월 29일 출간된 후 채 일주일도 되지 않은 현재, 자바, 데브옵스, 마이크로서비스, 스프링, 클라우드 기반 서비스, PaaS 등 많은 분야에 종사하는 개발자 분들의 성원에 힘입어 여러 서점에서 큰 사랑을 받고 있습니다. 이에 독자들의 성원에 보답하고자 책에 수록된 부록 B <한국어판 특별부록: 클라우드 파운드리 환경의 준비와 활용>을 PDF 파일로 공개합니다.
책에 수록된 부록 B는 방금 이 글에서 설명드렸고, 책에서도 소개하는 바와 같이, 독립된 컨텐츠라기보다는 책을 좀 더 잘 이해하기 위한 보충자료의 성격이 짙습니다. 하지만 클라우드 파운드리를 처음 접하거나 책을 아직 못 읽으신 분이라면 간단한 부록 글을 보심으로써 클라우드 파운드리의 개념을 이해하고, 책의 내용을 짐작하실 수 있으리라 생각합니다. 책의 내용이 궁금한 분들께 도움이 되길 바랍니다.
한국어판 특별 부록 파일은 다음 링크에서 내려받으실 수 있습니다.
다음은 부록 파일을 내려받아 읽으실 독자들께서 미리 한번 읽어보실 만한, 정윤진 님의 기고글입니다.
정윤진 / 테크놀로지스트, 피보탈(Pivotal)
클라우드 파운드리의 R&D 총괄을 맡고 있는 온시 파쿠리(Onsi Fakhouri)의 말을 인용해 보겠습니다.
Here is my source code.
Run it on the cloud for me,
I don't care how.
클라우드상에서 개발을 진행하는 오늘날 개발자들은 "클라우드는 API로 이루어져 있기 때문에 개발팀이 운영까지 할 수 있어야 한다."는 압력 속에서 일을 하고 있습니다. 실제로 아마존 웹 서비스 등에서 제공하는 관계형 데이터베이스를 준비하고 운영하는 과업이 개발자에게 많이 요구되는 추세이기도 합니다. 하지만 아무리 클라우드 기반에서 제공되는 '관리형' 데이터베이스 서비스라 할지라도 실 서비스에서의 사용을 위한 준비와 운영, 관리에는 요구되는 사항이 많습니다.
클라우드 파운드리는 운영팀의 고도화된 전문성을 모든 개발팀에서 사용할 수 있도록 '플랫폼을 통해' 제공하는 것입니다. 더 쉽게 이해하자면, 아마존 웹 서비스과 같은 고도로 전문화된 운영팀이 제공하는 API를, 가입만 하면 그 누구든 사용할 수 있는 것과 같은 이치입니다. 그 사용이 어렵든 쉽든, RDS 생성을 요청하면 반드시 그 리소스는 준비됩니다.
이 같은 혜택을 내부 개발자들에게 자동화해서 제공하는 역할을 전문화된 운영팀이 제공하고, 쉬운 사용을 바탕으로 자신의 애플리케이션에 필요한 기능을 언제든 붙였다가 떼었다 할 수 있는 능력을 제공하는 것이 중요합니다. 플랫폼이란 이와 같이 수많은 팀에서 많이 사용되는 '재사용성'을 애플리케이션 배포와 서비스 준비 과정 등에 제공함으로써, 개발팀이 개발에 집중하고 수많은 마이크로서비스 애플리케이션들이 동일한 체계 안에 흡수될 수 있게 하는 역할을 합니다.
넷플릭스의 여러 발표에 따르면, 주울(Zuul) 프록시나 이브이캐시(EVCache)와 같이 전체 서비스에서 수천 대의 인스턴스로 동작하는 서비스라도, 이를 직접적으로 관리하는 팀은 3명에서 4명에 불과합니다. 즉 서너 명에 불과한 인력이 고도로 전문화된 운영 기술을 자동화를 통해 개발팀들이 '쉽게' 사용하도록 제공한다는 것입니다.
넷플릭스와 같은 서비스 구조의 구현에는 여러가지 방법이 있겠지만, 그 첫걸음이 바로 이런 기능을 하는 플랫폼을 준비해서 각 개발팀과 운영팀의 계약을 API로 바꿔내는 것입니다. 클라우드 파운드리는 넷플릭스와 같이 오랜 시간을 들이지 않아도 즉시, 그리고 업계에서 검증된 방법을 고객의 시스템에도 제공하는 역할을 합니다.
<클라우드 네이티브 자바> 책의 1장과 13장에서 반복해 설명하듯이, 스프링 부트와 스프링 클라우드 등 스프링 프로젝트들은 '12요소'로 불리는 기능성을 '개발팀'에 제공합니다. 하지만 애플리케이션만 준비되어야 하는 것이 아니라, 이 애플리케이션이 동작할 클라우드 환경에서도 12요소 방법론을 지원해야 합니다. 즉 운영 측면에서도 12요소를 지원해야 하며, 이 부분을 제공하는 것이 바로 클라우드 파운드리인 것입니다.
개발자건 운영자건, 어떤 도구를 사용하기 어렵고, 자동화되어 있지 않다면 좀처럼 사용하지 않습니다. 반복적이고 지루한 일을 사람이 처리하면 사고가 발생하기 마련입니다. 배포와 서비스 준비, 애플리케이션과 지원 서비스의 생명 주기, 고가용성, 서드파티 연동 등을 쉽게 사용할 수 있도록 제공해야 하기 위한 방법을 이 책의 한국어판 부록에서 좀 더 살펴보시길 바라겠습니다.
글쓴이: 정윤진
'+ 블로그' 카테고리의 다른 글
《파이썬 알고리즘 인터뷰》 출간기념 온라인서점 이벤트 (0) | 2020.07.17 |
---|---|
『IT 개발자의 영어 필살기』 전자책 출간 (0) | 2020.02.26 |
함께 읽으면 좋을 책만의 추천도서 꾸러미 (1) | 2020.02.24 |
[도서 미리보기] 블록체인 기업으로 가는 길 (0) | 2019.02.22 |
IBM, 인공지능 왓슨 무료 개방 소식 (0) | 2017.10.30 |
댓글