사업 마이크로 서비스 : 현재와 비즈니스가 관심을 가져야하는 이유

마이크로 서비스 : 현재와 비즈니스가 관심을 가져야하는 이유

비디오: PSY GANGNAM STYLE 강남스타일 MV (십월 2024)

비디오: PSY GANGNAM STYLE 강남스타일 MV (십월 2024)
Anonim

엔터프라이즈 소프트웨어 환경은 버지 기술로 가득 차 있습니다. 우리는 블록 체인, 낮은 코드 개발 또는 우리의 작업 방식을 변화시키는 다른 신흥 트렌드 등 많은 것들에 대해 썼습니다. 이전에 들어 보지 못했을 새로운 유행어는 "마이크로 서비스"입니다.

의도적으로 설계된 것입니다. 마이크로 서비스는 끊임없이 성장하는 하나의 코드로 구성된 응용 프로그램 인 "단일체 (monolith)"라는 기존의 개념이 아니라 서로 짜여진 모듈 형 구성 요소를 기반으로 소프트웨어를 설계하는 다른 방법입니다. 마이크로 서비스 기반 앱은 복잡한 데이터 센터 앱이든, 확장 가능한 클라우드 인프라에서 호스팅되는 웹 또는 모바일 앱이든 사용자 인터페이스 (UI)와 다르지 않습니다.

기업이 마이크로 서비스에 관심을 가져야하는 이유는 아키텍처가 뒤에서 개발 및 IT 팀이 더 빠르게 작업하고 혁신하고 인프라를 관리하며 새로운 기능을 앱에 추가하는 비용과 복잡성을 줄일 수 있기 때문입니다. IDC의 애플리케이션 개발 소프트웨어 리서치 프로그램 디렉터 인 Al Hilwa는 문화 및 기술 과제를 염두에두고 어떻게 마이크로 서비스를 경영진에게 제공 할 수 있는지 설명했습니다.

힐와는“새로운 시스템을 구축 할 때 아마도 핵심은 작은 팀이 단일 마이크로 서비스를 구축해야한다는 점을 인식하는 것”이라고 말했다. "두 번째로, 프로그래밍 언어 및 개발자 워크 플로우의 다양성에 대한 내성이 종종 전체 마이크로 서비스 문화의 독립적 특성에 의해 암시됩니다. 실행의 주요 피치는 소규모 팀을 사용하여 소프트웨어를 점차적으로 빌드하는 것입니다. 게시 된 API가 체계적으로 관리되는 한 독립적 인 모듈을 훨씬 더 빠른 속도로 독립적으로 발전시킬 수 있다는 장점이 있습니다."

마이크로 서비스 란 무엇입니까?

Hilwa는 "새로운 소프트웨어 시스템을 구축하기위한 새로운 아키텍처 접근 방식으로서 마이크로 서비스의 출현"이라는 제목의 2015 년 IDC 보고서를 작성했습니다. 이 보고서에서 그는 마이크로 서비스를 API 정의 상호 운용성 요구 사항 (즉, 전체적으로 앱에 묶여 있음)을 충족시키기 위해 앱 구성 요소가 독립적으로 설계되고 진화되는 세분화 된 소프트웨어 아키텍처로 정의합니다. 그러나 마이크로 서비스는 진공 상태에 존재하지 않습니다. 새로운 아키텍처에는 강력한 조직 지원과 IT 문화의 변화가 필요합니다.

마이크로 서비스는 특정 기술에 의해서만 정의되는 것이 아니라 컨테이너의 출현으로 증대 된 서비스 지향 아키텍처 (SOA)의 개념이 진화하고 지속적인 전달 (CD) 및 지속적인 통합과 같은 개발 접근 방식을 통한 자동화의 발전으로 정의됩니다. (CI).

힐와는“오늘날 마이크로 서비스를 사용하는 조직은 더 빠른 속도의 서비스 진화에 대한 열망에 동기를 부여 받는다. "따라서 대부분의 경우에 마이크로 서비스는 CI / CD 자동화를 상당히 사용하고 있습니다. 그러나 실제 배포 속도는 서비스마다 다를 수 있습니다. 핵심은 내부 문화를 잘 살펴 보는 것입니다. "기술 스택에서 더 큰 탈 중앙화와 다양성을 용인 할 수 있는지 확인하십시오."

"내부 문화"를 통해 Hilwa는 소프트웨어 개발, IT 운영 및 품질 보증 (QA)을 하나의 협업 워크 플로우로 결합한 철학 인 DevOps를 주로 언급합니다. DevOps 소프트웨어 스타트 업 HashiCorp와 그 설립자들은 오랫동안 마이크로 서비스를지지 해 왔습니다. 최근 2, 400 만 달러 규모의 Series B 자금을 확보 한이 회사는 Cisco, DigitalOcean, Mozilla 및 Stripe과 같은 회사를 오픈 소스 사용자 및 엔터프라이즈 고객으로 집계합니다.

마이크로 서비스는 HashiCorp가 널리 사용되는 오픈 소스 도구 및 성장하는 엔터프라이즈 제품군에 걸쳐 DevOps 인프라 개발 및 앱 워크 플로우에 접근하는 방법의 핵심입니다. HashiCorp의 CTO이자 공동 설립자 인 Armon Dadgar는 Amazon과 eBay와 같은 간단한 유추를 사용하여 단일체와 마이크로 서비스의 차이점을 무너 뜨 렸습니다.

Dadgar는 "Amazon과 eBay를 단일 애플리케이션으로 생각하십시오. 최종 사용자의 관점에서 보면 비슷해 보이지만, 회사는 애플리케이션을 구축하고 설계하는 방식에있어 반대의 접근법을 취했습니다."라고 Dadgar는 말했습니다. "처음부터 아마존은 마이크로 서비스 번들로 단일 앱으로 작동합니다. 그러나 검색, 제품 카탈로그, 쇼핑 카트, 송장, 주문 흐름 및 이러한 기능을 분리하면 두 애플리케이션이 서로 다르게 실행됩니다. 기계."

아마존의 비유는 또한 아마존 자체가 어떻게 구성되는지 에까지 확장됩니다. Dadgar는 마이크로 서비스와 같은 기술 접근 ​​방식이 DevOps를 향한 더 큰 프로세스 이동을 지원하는 도구라고 설명합니다. Jeff Bezos의 "Two Pizza Rule"은 특정 아마존 팀에 5 명에서 8 명 사이의 인원 만 참여할 수 있도록합니다. 팀이 커지면 두 팀으로 나뉩니다.

Amazon의 조직 계층은 Dadgar가 "기능 분해"라고 설명한 것에 대한 매핑을 시작합니다. 조직 및 모듈 식 아키텍처 수준으로 분리 된 모든 팀은 모든 변경 사항을 조정할 필요없이 모든 단일 변경 앱에 대한 기능을 유지하면서 더 자유롭게 개발하고 실험 할 수 있습니다.

Dadgar는“eBay는 모 놀리 식 접근 방식을 취했다. eBay를 긴 5 천만 줄의 코드 애플리케이션으로 구축했다”고 말했다. "모듈화 및 상호 운용성 문제는 모놀리스에는 존재하지 않는 문제이기 때문에 처음에는 마이크로 서비스 접근 방식이 더 고통 스럽습니다. 그러나 앱이 너무 커지면 문제가 발생하기 시작합니다. 모놀리스에서는 분해가 없습니다.

"수백 또는 수천 명의 개발자가 단일 코드베이스에서 공동 작업하고 조정하려고합니다. 응용 프로그램의 한쪽에 기능을 추가하는 QA 팀은 역할과 책임이 명확하게 구분되어 있지 않기 때문에 다른 쪽에서 문제가 발생할 수 있습니다. "팀이 얼마나 빨리 일하든 몇 주가 걸리고 병목 현상이 발생할 수있는 QA 프로세스와 프로젝트 관리자 사이에 점점 더 많은 조정이 필요합니다. 부엌에는 너무 많은 요리사가 있습니다."

DevOps 세계의 컨테이너 및 마이크로 서비스

비즈니스가 마이크로 서비스 아키텍처를 구현하는 방식은 투자의 가치를 결정하는 데 큰 도움이됩니다. 마이크로 서비스는 특히 많은 서비스가 서로 통신하는 데 필요한 API 통합에서 많은 선행 작업입니다. 힐와는 마이크로 서비스를 기존 시스템에 통합하려고 할 때 훨씬 더 복잡하다고 설명했다. 그는 기업이 마이크로 서비스를위한 레거시 모놀리스 앱을 재구성하는 것이 아니라 가능할 때마다 새로운 시스템을 구축 할 것을 권장합니다.

힐와는 "전통적인 시스템 아키텍처는 일반적으로 정교한 정규화 된 스키마를 가진 크고 복잡한 데이터베이스 시스템을 필요로한다"고 말했다. "독립된 독립 시스템을 사용하여 이러한 시스템을 더 작은 구성 요소로 구성하려면 많은 데이터베이스 설계 작업이 필요하며 대부분의 핵심 응용 프로그램 논리를 효과적으로 다시 작성해야합니다. 대부분의 경우 비용과 시간이 많이 소요됩니다."

레거시 앱을 다시 설계하는 경우 Hilwa는 점차적으로 앱을 권장합니다. API 통합보다 훨씬 중요하지만 마이크로 서비스는 DevOps 문화가 없으면 작동하지 않습니다. HashiCorp의 Dadgar는 대규모 DevOps와 관련하여 마이크로 서비스는 우리가 앱을 제공하는 워크 플로우를 근본적으로 변화시키는 방향으로 더 큰 프로세스 전환을 촉진하는 도구가되었다고 말했다. 그는 공동 설립자 인 미첼 하시모토 (Mitchell Hashimoto)가 회사를 시작했을 때 하시 코프의 타오 (Tao)를 지적했다.

Dadgar는“어떤 의미에서 DevOps는 마이크로 서비스보다 훨씬 과부하 된 용어입니다. "하지만 비즈니스는 개발자, 운영자, 보안 책임자 등 다양한 지식을 가진 사람들로 구성됩니다. 그런 다음 프로세스를 통해 사람들을 구성하는 방식을 갖습니다. 그런 다음 마이크로 서비스와 컨테이너가있는 프로세스를 지원할 수있는 도구가 있습니다. 올."

Docker의 오픈 소스 폭발로 대중화 된 컨테이너는 기업이 마이크로 서비스를 용이하게하기 위해 사용할 수있는 유일한 도구가 아닙니다. IDC의 힐와는 컨테이너가 CI / CD 워크 플로우의 일부로, 그리고 경우에 따라 프로덕션 환경에 배포되는 동안 최신 앱에서 사용된다고 말했다. 그러나 그는 마이크로 서비스가 컨테이너 없이도 가상 머신 (VM)을 활용할 수 있다고 말했다.

즉, 비즈니스 클라우드가 발전하는 방식에있어 Docker 컨테이너 및 마이크로 서비스는 HashiCorp와 같은 신생 기업에서 Oracle과 같은 기업 대기업에 이르기까지 모든 형태와 규모의 비즈니스에 수용되는 강력한 툴링 조합입니다. HashiCorp의 Dadgar는 컨테이너는 Dev와 Ops (및 다른 팀과 서비스)가 서로 통신 할 수있는 편리한 수단이라고 말했다.

Dadgar는“개발자와 운영자 사이에 전달되는 인공물은 무엇입니까? "전세계의 글로벌 기업 운송 제품에 대해 생각해보십시오. 화물선, 화물 열차 또는 트럭이든 전체 시스템을 통과하는 동일한 단위입니다."

DevOps 및 마이크로 서비스는 여전히 광범위한 기업 채택과는 거리가 멀지 만 시장은 계속 성장하고 있습니다. IDC 보고서에 따르면, 마이크로 서비스 아키텍처는 향후 5 년간 성숙 단계에 진입 할 것입니다. 이 성숙도는 2020 년까지 조직의 50 %에 도달 한 DevOps 문화의 발자취, 소프트웨어 자동화 도구의 지속적인 발전, Amazon Web Services (AWS) 및 Microsoft Azure 등이 제공하는 저렴하고 확장 가능한 클라우드 인프라의 지배에서 발생합니다.

Dadgar 씨는 현재 DevOps와 마이크로 서비스를 수용하는 소수의 기업에도 불구하고 HashiCorp는 이미 과도하게 과도하게 가입되어 있다고 말했다. 월간 수백만 명의 활성 사용자가있는 GitHub의 오픈 소스 커뮤니티를 기반으로 9 개월 동안 엔터프라이즈 판매를 한 후 첫 7 자리 수익을 기록했습니다. 마이크로 서비스는 HashiCorp의 워크 플로우 앱 툴링 파이프 라인 및 대규모 DevOps 인프라 로드맵의 일부일뿐입니다. 그러나 회사가 구축하는 모든 것 아래의 모듈 성과 상호 운용성은 실리콘 밸리에서 가장 인기있는 소프트웨어 신생 기업 중 하나의 급격한 상승을 가속화했습니다.

Dadgar는“4 년 전 시작했을 때 인프라를 관리하는 방법에 대한 회의를 열고 비전을 제시 할 것입니다. "우리는 방에서 정확히 웃지 않았고, 초기에 이미 알고 있었지만 이제 Terraform과 같은 도구가 업계 표준이되고 있습니다. 경쟁 압력의 도미노 효과는 장기적으로 우리의 역할은 CIO 및 CTO와 협력하여 필요한 프로세스 변화를 이해하는 것입니다.

Dadgar는 계속해서 "하루에 Toyota에 대해 생각해보십시오." "당신은 많은 자동차 회사들이 제품을 만드는데 비용이 더 많이 들었다. 도요타는 자동차가 무엇인지 재발 명하지 않았다. 그들은 그 과정에 대해 더 엄격하고 점진적이었고, 웃음 거리에서 강국으로 갔다. 경쟁 우위를 유지하는 방법을 묻는 업계 리더가 있으며, 그 대답은 Google 및 아마존 시장의 관행을 채택하는 것입니다. "중요한 질량에 부딪 칠 것입니다."

마이크로 서비스 : 현재와 비즈니스가 관심을 가져야하는 이유