npm은 이미 400 만 명의 사용자를 확보했으며 일주일에 10 억 건의 다운로드를 처리하는 반면 대기업은 주요 제작 프레임 워크로 언어를 매일 채택합니다.
세계를 지배하는 Node.js의 최근 사례는 NASA가 "우주선 운영 및 개발을 지원하는 현재 및 미래의 시스템을 구축하는 데 사용하고있다 " 는 사실입니다 .
다행히도, Node Foundation의 "Enterprise conversations" 프로젝트를 통해 우리는 가장 위대한 기업과 그들의 유스 케이스의 삶을 살핀다.
GoDaddy, .NET을 사용하여 Node.js와 작업
Charlie Robbins 는 GoDaddy의 UX 플랫폼 엔지니어링 책임자입니다. 그는 Ryan Dahl의 전설적인 Node.js 프리젠 테이션 을 JSConf에서 2009 년 12 월에 보고 곧바로 사용하기 시작한 이후 Nodejitsu의 창립자 중 한 명 이었으므로이 기술의 최장 기간 사용자 중 한 명입니다.
GoDaddy의 그의 팀은 Node.js를 프론트 엔드 및 백엔드 프로젝트 모두에 사용하며 Node.js를 사용하여 최근 한 시간 만에 글로벌 사이트 rebrand를 배포했습니다.
그 전에는 주로 .NET을 사용하고 Java로 전환했습니다. 그들은 Microsoft가 .NET 개발자를 지원하고 .NET 오픈 소스를 만들었지 만 역동적 인 모듈 게시자 커뮤니티가 없으며 Microsoft가 공개 한 내용에 너무 많이 의존해야한다는 사실을 알았습니다.
"일반적인 .NET 시나리오는 Microsoft가 특정 작업을 수행하는 데 사용할 수있는 것을 기다리는 것입니다. 당신은 그걸 사용하는 것이 정말 좋지만, 좋은 일과 나쁜 일에 대한 수색 과정은 당신이 개발하는 기술이 아닙니다. "
이 때문에 회사는 나가서 스택의 다른 모든 부분을 찾아내는 새로운 기술을 개발해야했습니다 . 대부분의 기능이 표준 라이브러리에 포함 된 .NET과 같은 다른 엔터프라이즈 기술과는 달리 모듈 평가 전문가가되어야했습니다.
GoDaddy는 프런트 엔드 용 Node를 사용하기 시작했고 백엔드에서 Node를 더 많이 사용하기 시작했습니다. 백엔드 코드를 작성한 .NET 엔지니어는 JavaScript 프런트 엔드 코드를 작성하고있었습니다. 대부분의 엔지니어는 현재 전체 스택을 사용합니다.
Node.js에 대한 Charlie의 가장 흥미로운 점은 주로 실무 그룹 에서 다루고 있습니다 .
"나는 에코 툴링 (eco-tooling)의 오픈 소스 계측 시스템을 구축하기 위해 추적 작업 그룹과 그로부터 벗어날 것들에 대해 매우 흥분하고있다."
그에게있어 흥미로운 점은 진단 작업 그룹 (이전 : inclusivity)과 Node.js 라이브 이벤트, 특히 영어가 사용되지 않는 국가의 Node.js 커뮤니티입니다. 예를 들어, 대부분의 엔지니어가 여전히 중국어를 주로 사용하고 있으며 크로스 오버가 많지 않은 중국과 같은 곳입니다.
"그 장벽이 무너지기 시작하고 그 사건이 계속되는 것을 볼 수있어서 기쁩니다."
GoDaddy와 Node에 관해 이야기 할 때 : 그들은 Cassandra와 꽤 광범위하게 작업해온 프로젝트를 방금 발표했습니다. 8 개월이라는 긴 과정 이었으므로 GoDaddy 엔지니어링 블로그 의 "Taming Cassandra in Node.js" 의 전체 내용을 읽을 수 있습니다 .
엔터프라이즈 급 Node.js 개발에 대한 도움이 필요하십니까?
RisingStack의 전문가를 고용하십시오!
노드 컨테이너 레이어 덕분에 Netflix가 수평으로 확장됩니다.
Node Foundations 엔터프라이즈 대화 시리즈 의 다음 참가자 는 UI 플랫폼 엔지니어링 담당 이사 인 Kim Trott 와 Netflix의 플랫폼 설계자 인 Yunong Xiao 입니다.
Kim은 9 년 동안 Netflix에 있었고, 회사가 첫 번째 스트리밍 서비스를 시작하기 전에 막 도착했습니다. Windows Media Player로 Netflix 만 볼 수있는 시대 였고 전체 카탈로그는 50 개의 타이틀로 구성되었습니다.
"Netflix의 진화가 DVD와 스트리밍에서 현재의 콘텐츠 프로듀서로 바뀌는 것을 보았습니다."
잘 메인테이너으로 알려져있어 Yunong 샤오, restify는 재작년에 도착, 그냥이 회사는 1,500 만 사용자에 도달 개최 파티를 놓친 - 그러나 그들은 fastly 약 100 명 백만 가입자를 접근하고 있기 때문에, 그는 축하하는 기회를 가질 것 곧. Yunong은 이전에 Joyent에서 Node.js 및 분산 시스템에서 작업했으며 AWS에서도 작업했습니다. Netflix에서의 그의 역할은 노드를 대규모로 실행하고 잘 수행되는지 확인하는 것입니다.
Kim은 조직의 UI 엔지니어링 부분에서 UI 플랫폼 팀을 관리합니다. 그들의 역할은 Netflix 애플리케이션을보다 생산적이고 효율적으로 만들어 모든 팀을 지원하는 것입니다. 이 작업은 광범위한 작업을 포괄 할 수 있습니다. 모든 팀에서 공유되어 데이터 액세스 또는 클라이언트 측 로깅을 더 쉽게 수행 할 수있는 라이브러리를 구축 할 수 있으며 UI 용 프로덕션 환경에서 노드 응용 프로그램을보다 쉽게 실행할 수있는 기능을 구축 할 수 있습니다 집중 팀.
Kim은 Netflix에서 Edge 서비스의 컨테이너 화가 어떻게 진행되어 왔는지에 대한 간략한 업데이트를 제공 했습니다 . 지난 12 월 12 월 Interactive에서 Node Interactive에 대해 이야기 한 이래로 .
어떤 장치 나 클라이언트가 Netflix에 액세스하려고 할 때 그들은 엔드 포인트 스크립트 집합 인 모서리 서비스 (모 놀리 식 JVM 기반 시스템)를 사용하여 데이터를 변경하고 액세스 할 수 있어야합니다. 그것은 정말 잘 작동하지만, 그것이 하나의 단일체이기 때문에, 넷플 릭스는 몇 가지 수직 스케일링 문제를 만났습니다. Node와 Docker를 활용하여이 데이터 액세스 스크립트를 모두 수평 적으로 확장 할 수있는 좋은 기회였습니다.
"Node Interactive에서 이야기 한 이래로 우리는 프로젝트에 대해 많은 진전을 이루었습니다. 실제로 우리는 새로운 노드 컨테이너 레이어를 통해 실제 프로덕션 트래픽을 투입하여 전체 시스템 테스트를 실행하려고합니다. 스케일링이나 메모리에 관한 문제를 쌓아 놓으면 정말 흥미 진진합니다. "
Netflix에서 Node.js가 개발자 생산성에 어떻게 영향을 줍니까?
개발자 생산성은 모노리딕을 작고 훨씬 관리하기 쉬운 것으로 분해하고 로컬 시스템에서 실행하고 컨테이너화할 수 있기 때문에 발생합니다.
현지에서 운영하는 제품이 실제 운영중인 제품과 매우 밀접하게 연관되어 있다는 점을 효과적으로 보장 할 수 있으며 이는 실제로 도움이됩니다.
"Node가 작동하는 방식 때문에 우리는 디버거를 부착하고 코드를 통해 중단 점 단계를 설정할 수 있습니다. 과거에 이러한 그루비 스크립트를 디버깅하고 싶다면 코드를 변경하여 가장자리 레이어에 업로드하고 실행하고 중단되었는지 확인한 다음 변경 사항을 확인하고 다시 업로드하십시오. "
수십 분의 시간을 절약 할 수 있지만이 프로젝트에 대한 진정한 증거는 다음과 같습니다. 클라이언트에서 작업하는 모든 엔지니어는 현재 스택 대신 언제 이것을 사용할 수 있습니까? - Yunong에게 말했다.
Netflix에서의 노드의 미래
앞으로 몇 달 동안 엔지니어링 팀은 앞서 언급 한 스택을 구축하고 공구 및 성능 관련 문제에 대한 작업을 시작합니다. 사후 디버깅을위한 더 나은 도구를 찾는 것은 절대적으로 열정적 인 일입니다.
그들은 또한 실무 그룹에 참여하고 공동체에 기여할 수 있도록 도와 주므로 모든 사람이 활용할 수있는 더 나은 도구를 만들 수 있습니다.
"Node가 그렇게 인기가있는 이유 중 하나는 디버깅 할 수있는 도구가 실제로 있다는 것입니다. 그래서 우리가 실제로 작업하고있는 것입니다."
Node.js, Capital One 개발자에게 즐거움 제공
Azat Mardan은 Capital One의 기술 펠로우이며 Node.js 및 JavaScript의 전문가입니다. 그는 Webapplog.com 의 저자이기도하며 , 그의 가장 유명한 책인 Practical Node.js를 읽었을 것입니다.
"대부분의 사람들은 Capital One을 기술 회사가 아니라 은행으로 생각합니다. Capital One, 특히 이번 기술 펠로우쉽 프로그램에서 우리는 혁신을 이끌어 냈습니다. 그래서 우리 팀에서 정말 재미있는 사람들, Jim Jagielski와 Mitch Pirtle이 있습니다. 하나는 Apache Software Foundation과 Joomla!를 설립했기 때문에이 팀에 합류하게 된 것을 영광으로 생각합니다. "
Azats의 목표는 Node.js를 Capital One에 가져오고 Node.js 과정을 내부적으로 가르 칠뿐만 아니라 블로그 작성과 건축 조언을 제공하는 것입니다. 이 회사는 5,000 명이 넘는 엔지니어와 여러 팀이 Node.js를 여러 번 사용하기 시작했습니다.
Capital One은 Node.js를 다음 용도로 사용합니다.
- Hygieia는 DevOps의 오픈 소스 대시 보드입니다. 2013 년에 시작되어 작년 OSCON에서 발표되었으며 현재 약 900 개의 GitHub 별을 보유하고 있습니다. 그들은 프론트 엔드와 빌드를 위해 Node.js를 사용하고 있습니다.
- 오케스트레이션 레이어 만들기. 그들은 Enterprise API의 세 가지 버전을 가지고 있으며 대부분 Java로 제작되었지만 프론트 엔드에서는 사용하기가 쉽지 않습니다.
Capital One은 Angular를 주로 사용하지만 React도 조금 있습니다. 이 경우 앞면을 향한 단일 페이지 응용 프로그램은 데이터를 마사지하고 서식을 지정할 필요가 있습니다. 기본적으로 여러 API를 사용하여 여러 API를 만듭니다. Node.js는이 오케스트레이션 레이어를 제작할 때 정말 훌륭하게 작동합니다.
"우리가 프런트 엔드에서 동일한 지식을 사용하고 모듈 중 일부를 재사용하며 동일한 개발자를 사용할 수 있기 때문에 스택 조각에 대한 뛰어난 기술입니다. Capital One에서 Node.j와 관련하여 가장 널리 사용되는 사례라고 생각합니다. "
회사에 대한 Node.js의 영향
Node.js는 프런트 엔드와 일부 백엔드 팀간에 훨씬 더 많은 양도가 가능한 기술 집합을 허용하며이를 통해 좀 더 통합 될 수 있습니다.
"팀원과 함께 일할 때, 그리고 Java 개발자인지 C # 개발자인지, 프런트 엔드에서 약간 두 배가됩니다. 전문가는 아니지만 일단 Node.js가 백엔드에서 사용되는 스택으로 전환 한 후에는 컨텍스트를 전환하지 않기 때문에 생산성이 향상됩니다. 자바 스크립트를 사용할 수있는 재미있는 언어이기 때문에 개발 과정에서 이러한 순수한 기쁨을 느낍니다. "
비즈니스 관점에서 팀은 예를 들어 일부 모듈과 템플릿과 일부 라이브러리를 재사용 할 수 있습니다. 개발자와 경영진의 관점에서 모두 훌륭합니다.
또한 노드는 엔지니어의 위치와 책임에 눈에 띄는 영향을 미칩니다.
Capital One과 같은 대기업은 미래의 일부 프로젝트에 대해 순수한 백엔드 엔지니어가 필요하지만 점점 더 많은 팀이 프런트 엔드, 백엔드 및 약간의 개발자 작업을 수행 할 수있는 닌자를 고용합니다. 팀은 점점 작아지고 있습니다.
두 팀 대신 하나는 순수한 백 엔드이고 다른 하나는 순수한 프런트 엔드입니다. 전체적으로 7 명의 팀 으로 이루어져 있습니다. 5 명의 닌자 팀이 모두 할 수 있습니다.
"이제는 인원이 적어 회의 횟수가 줄어들고 시간 낭비가 아닌 업무에 더 집중할 수 있기 때문에 의사 소통에서 많은 오버 헤드가 제거됩니다."
Node.js의 미래
Node.js는 벤처 기업과 대기업 모두에게 유용한 프레임 워크가 될 잠재력을 가지고 있습니다. Azat에 따르면 Node.js는 정말 독특한 현상입니다.
"올해는 정말 기쁩니다. 올해는 Node.js가 주류를 이루었다 고 생각합니다. "
12 월의 Node.js Interactive는 주요 기업들이 이제 Node.js를 지원하고 있음을 보여주었습니다. IBM은 Node.js와 Java가 주목할 API의 두 언어이기 때문에 Ruby에서 보았던 것과 달리 주류 언어가 채택되고 있다고 말했다.
"일반적으로 Node.js에 대해 매우 기대하고 있습니다. 교과서, 책, 다른 주제에 대한 수요가 늘어나고 있습니다. 많은 수의 프론트 엔드 자바 스크립트 개발자가 Node.j의 엄청난 장점이라고 생각합니다."
'개발 > Node.JS' 카테고리의 다른 글
Node.js에서 마스터 비동기 대기 (0) | 2018.03.11 |
---|---|
Node Hero- Node.js 튜토리얼 시작하기 (0) | 2018.03.11 |
사례 연구 : Ghost에서 Node.js 메모리 누수 찾기 (0) | 2018.03.11 |
JavaScript 가비지 콜렉션 개선 (0) | 2018.03.11 |
Node.js에서 메모리 누수 찾기 (0) | 2018.03.11 |