본문 바로가기

Frontend Dev/Input

[IT 5분 잡학사전 2주 챌린지] 서버리스가 뭘까?

반응형

노마드 개발 북클럽 “IT 5분 잡학사전” 2주 챌린지
(23.11.10 ~ 23.11.24)

 

11/15 WED, Assignment # 06

 

🔖 오늘 읽은 범위 : 에피소드 16 ~ 에피소드 21

 

1. 책에서 기억하고 싶은 내용은?

✏️ 인터넷 익스플로러가 사라진 이유와 브라우저 엔진 (에피소드 16)

 ”2003년에는 인터넷 익스플로러의 시장 점유율이 95%였어. 무려 95%! 스마트폰 시장도 이렇게 독점하는 형태는 아니잖아? 그만큼 인터넷 익스플로러의 힘이 막강했던 거야.하지만 인터넷 익스플로러의 인기는 2003년부터 급격하게 떨어지기 시작했어. 왜냐고? 새 버전이 나오기까지 정말 오래 걸렸는데, 이것이 보안 문제와 맞물렸거든. 인터넷 익스플로러 버전 6.0이 2001년 8월에 출시되었는데 버전 7.0은 2006년 10월에 출시되었어. 그 사이에 수많은 보안 취약점이 발견되었는데 빨리 고치지 않았어.

마이크로소프트는 인터넷 익스플로러 지원을 결국 중단하고, 마이크로소프트 엣지(Microsoft Edge)라는 웹 브라우저를 새로 개발하여 발표했어. 재미있는 점은 엣지 웹 브라우저의 엔진이 크롬 브라우저의 엔진인 블링크라는 거야. 그만큼 엔진 개발이란 힘든 건가 봐."

✏️ 서버리스는 서버가 없다는 뜻? (에피소드 21)

 ”서버리스는 구조가 단순하지 않아. 우선 여러분의 서버를 위한 소프트웨어(백엔드 코드)를 작은 함수 단위로 쪼개. 그리고 그 함수를 아까 말한 서비스(서버)에 올리는 거지. 그리고 이 함수들은 서버에서 항상 깨어 있지 않아.

 이렇게 하면 비용 면에서 아주 큰 장점이 생겨. 무슨 말이냐면 서버는 24시간 요청에 응답할 준비를 해야 하잖아? 하지만 서버리스에선 함수들이 잠을 자고 있어. 그리고 그 함수가 필요할 때(요청) 깨워서 요청한 작업을 수행해. 그러고 나서 함수는 다시 잠이 들지. 이렇게 하면 서버가 항상 응답할 준비를 하고 있는 건 아니지만 모든 응답에 반응할 수는 있는 거야! 효율성이 엄청 높지!

그러면 전력도 낭비하지 않을 수 있고, 하드웨어를 더 효율적으로 쓸 수 있어. 서버를 운영하던 사람에게는 엄청난 혁명인 것이지! 쉽게 말해 서버리스는 여러분이 등록한 함수가 실행된 만큼만 돈을 내면 돼. 외부에서 그 함수를 실행하는 요청이 들어오면 함수가 깨어나서 실행되고, 그리고 무언가를 수행하면 그때 돈을 내는 거야. 요청이 없으면? 함수는 잠만 잤을 테니 돈을 낼 필요가 없는 거지."

 

2. 오늘 읽은 소감은?

 

 인터넷 익스플로러의 지원 종료와 함께 같이 일하던 분의 바탕화면이 인터넷 익스플로러의 묘비로 바뀐 것이 기억난다. 정작 우리는 한물간 인터넷 익스플로러를 사용하지 않게 된지 몇년이 되었는데, 계속해서 크로스 브라우징을 해줘야 했던 번거로움의 시대가 드디어 끝이 나려는 것이었다. 한때는 인터넷 점유율 95%를 차지하던 인터넷 익스플로러의 자만심과 게으름으로 이렇게 점점 퇴화할 수 있구나를 보여주던 좋은 사례였던 것 같다. 웹과 모바일이 당연시되는 세상, 이제는 더 좋은 제품, 더 좋은 기능, 더 효율적인 방법이 있다면 소비자는 망설이지 않고 새로운 제품을 시도한다. 사용자가 많다고 안심해서는 안될 세상이다.

 

 백엔드 개발자의 학습 환경에 대해 잘 몰랐는데, 이번 에피소드 18을 보며 조금 흥미로웠다. 백엔드 기술은 프론트엔드 기술만큼 빠르게 변하지는 않아서 장기간 백엔드 기술을 업으로 한다고 했을 때, 프론트엔드 개발자 보다는 조금 더 학습곡선이 유리하지 않을까, 라는 생각이 들었다.

 “예를 들어 2년 전에 배웠던 장고를 오늘 다시 공부한다고 해보자. 그러면 아주 일부 기능만 공부해서 여러분의 프로젝트에 업데이트하면 계속해서 최신 장고 버전에 맞춰 따라갈 수 있어.”

 물론 쉽거나 어렵거나, 또는 열심히 하느냐 덜 열심히 하느냐를 떠나서 이런 부분도 장점이 될 수 있겠구나, 를 알게 된 것 같다.

 

 오늘의 마지막 에피소드였던 서버리스 부분도 재미있었다. 몇주 전에 어떤 블로그에서 프로젝트 링크와 함께 코드가 잠자고 있어서 초기 실행 시 시간이 좀 걸릴 수 있다는 문구를 본 적이 있었다. 그 때는 이게 무슨 말이지? 했는데, 이게 바로 서버리스 사용한 프로젝트였나보다. 잠자는 코드라니! 너무 재미있는 개념이었다.

 하지만 서버리스의 사용이 아직은 와닿지 않는다. 직접 경험해보면 좋을 것 같다는 생각이 들었다.

 

 

반응형