From Node.js To Go, Why One Startup Made The Switch

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

At Gophercon, the Go conference this past April 24-26 in Denver, Kelsey Falter, CEO and Founder of PopTip, made the case for choosing Go over Node.js for her company’s backend servers. Her story is an example of a company choosing Go for its ability to excel at systems level management. As for Node.js, there are numerous examples of how the service is used in the enterprise. We will explore how companies are using Node.js in future posts about the new stacks that organizations are building. This post is simply about one company and how it solved the challenges it encountered with Node.js by turning to Go.

PopTip’s problems with Node started about two years ago. Falter said she knew how to write JavaScript and thought she could use that background to learn Node. The speed of development made it easy for the company to get started with Node. It had modern features such as WebSockets. It was also free and cost little to administer. The Node community had momentum, language homogeneity, and a talent pool. At the time, it had that coolness factor, too.  Here are her overall grades:

PopTip helps companies provide a statistical breakdown on public consensus. Its clients include CNN, L’Oreal, Spotify, and a host of others. The size of these customers required PopTip to scale its code. Its service depends on machine learning and streaming data. As the company scaled, the task of administration became increasingly complex, due to “call-back soup”, a common complaint with Node.js. It was easy to get Node going, but PopTip’s growth created a variety of problems, which Falter described in her presentation:

  • Multiple application layers could not be brought up in tandem.
  • The infrastructure had a single point of failure if the instances went down.
  • All functions of the service ran on a single process.
  • Latency became an issue due to high CPU and network load during peak usage.
  • There was an inability to scale horizontally.

But Why Go?

There came a point when the technical debt became too much, due especially to the scaling of the PopTip service. It was also a business decision: the company had received venture financing and there were customers to manage.

The switch came when one of PopTip’s engineers spent a weekend replicating the core processing structure with Go. Text processing increased 64 percent just by moving from Node to Go. PopTip formally evaluated Go,and it passed the scorecard test: it had the runtime speed, the cost to administer was minimal, the talent pool was excellent, and competing frameworks were not vying for the attention of the developers.

PopTip started using Go with the app server, then ripped out the proxies, Falter said. This past fall, the company did the web front end in Golang, as well.

Since adopting Go, PopTip has been able to scale its infrastructure in a manner not possible with Node.  Is this your experience? Did your company make the switch from Node to Go? Why?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.