Medium - The Myths and Misconceptions About Serverless

원문 - Daan

Trend 파악을 위한 Medium 기고문 포스팅 - 서버리스에 대한 전설과 오해; 서버리스를 고려해야만 하는 이유

Photo by Jordan Harrison on Unsplash

서버리스 컴퓨팅 솔루션의 수요는 갈수록 커져가고 있습니다. 앞으로 가기전에 먼저 이런 현상에 대해서 먼저 설명해 보겠습니다. 서버리스라는 말은 꽤나 모순적인 이름입니다. 그렇습니다 서버리스는 연관되어 있는 서버가 없다는 말이 아닙니다. 서버는 어딘가에 있겠죠 물론. 그렇지 않으면 우리가 어디서 연산을 수행하겠어요? 그렇다면 서버리스는 무엇일까요? 다음은 위키피디아 정의입니다.

서버리스 컴퓨팅은 클라우드 컴퓨팅 실행 모델로 클라우드 제공자가 서버를 실행하고 동적으로 서버의 자원을 할당하고 관리하는 것을 말합니다.

제가 가장 좋아하는 설명은 Gojko Adzic(서버리스 컴퓨팅 서적 저자)의 것입니다. 그는 서버리스는 와이파이가 무선인 것처럼 서버가 없는 것이라고 했습니다. 왜냐하면 와이파이도 어딘가에는 연결된 케이블이 있기 마련입니다. 한번 무선으로 네트워크를 연결하면 여러분은 연결되어 있는 다른 케이블이나 라우터 등등에 대해서 생각하지 않죠. 서버리스도 이런 개념입니다. 서버가 여러분의 코드를 실행하더라도 여러분은 그런 서버에 대해서 생각할 필요가 없는 것입니다.

Why Serverless?

서버리스를 고려해야 하는 몇가지 중요한 이유가 있습니다.

Scalable

마술처럼 배송 트럭을 마음대로 추가했다가 없애버리는 우체국을 상상해보세요. 발렌타인 데이에는 우편물의 발송이 늘어나므로 배송 트럭의 수를 증가시킬 것이고 다른 날에는 배송 트럭이 덜 필요하기 때문에 줄일 수 있을 것입니다. 이것이 기본적으로 서버리스 응용프로그램이 할 수 있는 것입니다. 개발자로서 여러분은 서버리스를 사용한다면 확장성에 대해서 고려하지 않아도 됩니다.

No need to manage servers

서버리스와 함께라면 어떻게 서버의 최신 보안 업데이트를 패치할 지, 다른 유지보수 작업을 할지 고려할 필요가 없습니다. 이렇기 때문에 여러분은 코딩을 하는데 더욱 많은 시간을 들일 수 있습니다. 게다가 서버를 전문적으로 관리할 수 있는 전문가를 고용하지 않아도 됩니다. 이점은 여러분의 돈과 시간을 아껴주는 것으로 모든 사업 영역에 있어서 귀중한 자원이죠.

Cheaper

여러분은 놀고 있는 서버에 대해서 돈을 낼 필요가 없습니다. 오직 실제로 뭔가 하고 있는 서버에 대해서만 과금을 하면 되죠. 다른 말로 하면 코드가 동작하는 서버가 없다면 돈을 낼 필요가 없습니다. 대부분의 서버는 많은 시간동안 뭔가를 하는 것이 아니기 때문에 서버리스는 돈을 절약할 수 있습니다. 어떤 경우에는 90%까지 절약 되기도 합니다. 그러나 성능같은 것은 서버리스에서 약점이 되곤 합니다. 왜냐면 지속적으로 실행되는 것이 아니기 때문에 서버리스 코드는 사용될려면 ‘boot up’이 필요합니다. 이런 구동부분은 성능을 감소시킵니다. 이것이 ‘cold start’라고 흔히들 말하는 것입니다. 만약 정기적으로 사용되는 코드가 있다면 서버리스는 항상 그 코드가 실행할 수 있게 만들어 줄 것입니다. 이것은 ‘warm start’라는 것으로 성능 저하를 일으키지 않습니다.

Fast and more controlled deployment

서버리스와 함께라면 서버에 코드를 올려서 새로운 버전의 제품을 출시하는 프로세스가 필요업습니다. 개발자가 빠르게 작은 코드 덩어리를 업로드 하고 새로운 버전의 제품을 출시할 수 있습니다. 코드나 함수는 언제나 한번에 업로드 될 수 잇습니다. 이것은 응용프로그렘이 코드의 덩어리가 아니라 함수의 집합이기 때문에 가능한 것입니다

이것이 제품에 빠른 업데이트, 패치, 수정, 새로운 기능 추가를 할 수 있게 해줍니다. 개발자는 한번에 함수를 업데이트 할 수 있으며 이것은 배포 전 과정을 더욱 제어할 수 있게 해줍니다.

Secure

서버리스 제공자들은 보안시스템과 네트워크 설정을 매우 세심하게 신경씁니다. 멜트다운이 일어났을 때도 벤더사들은 자체 서버에 모두 패치를 할 것이며 여러분은 그런 것에 대해 생각할 필요도 없습니다.

Overall

전체적으로 우리는 서버리스가 개발팀의 어깨에서 운영 책임을 덜어준다고 할 수 있습니다. 그래서 많은 시간을 고객을 위해서 작업을 할 수 있게 되는 것입니다.

Myths and Misconceptions

서버리스는 아직 성숙해져 가고 있기 때문에 실제로 어떻게 동작하는 지에 대한 오해와 편견들이 좀 있습니다.

Myth 1: Cold stats happen on every request

사람들은 cold start의 역할을 지나치게 생각하는 경향이 있습니다. cold start는 모든 요청마다 발생하는 것이 아닙니다. 가능할 경우 자원이 재사용 됩니다. cold start는 여러분의 코드를 실행하는 컨테이너가 없는 경우 발생합니다.

Myth 2: Price raising

서버리스의 사용료에 대해서 가장 많이 받는 질문은 이것입니다 “그치만 아마존이 람다의 가격을 올려버리면 어떡하죠?” 이 질문은 충분히 우려할만 합니다만 시장의 힘을 너무 모르시는게 아닌가 싶습니다. 람다의 가격이 오르면 고객들은 다른 경쟁사로 이동할 것입니다. 게다가 역사적으로 이런 것을 증명하는 데이터가 하나도 없습니다. 아마존은 지난 5년간 67% 가격 인하를 공표했고 상승한 금액은 0원입니다.

Myth 3: Serverless costs more

서버리스는 지금만큼 금액이 나올 수도 있고 더 나올 수도 있습니다만 여러분이 얻는 것이 더욱 많을 것입니다. 시간과 자원을 서버관리에 투자할 필요가 없습니다. 여러분은 서버를 관리하는 지식이 있는 누군가를 위해서 연봉을 지급할 필요가 없는 것입니다.

Summary

  • 서버리스를 지향해야 하는 이유; 서버관리의 공수가 줄어들고 이것은 개발팀에게 비즈니스 모델에 집중할 수 있게 해준다
  • 서버리스가 비용이 더 나온다 치더라도 서버 관리자를 고용하고 서버 관리에 투자하는 시간과 돈을 절약할 수 있기 때문에 얻는 게 더욱 클 것이다
  • 서버리스로 서비스를 한다면 보안이나 서버 유지보수에 신경을 쓰지 않아도 된다. 서버리스 짱짱

© 2019. All rights reserved.

Powered by Hydejack v8.1.1