SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
박명호
요즘 웹 배포 방식
오늘 다루는 것과 다루지 않는 것
오늘 다루는 것

- 웹을 배포하는 수많은 방식들 중 2가지를 소개합니다

- 2가지를 비교하며 장, 단점을 비교해봅니다.

오늘 다루지 않는것

- 배포하는 법
알아 가셨으면 하는 것

- 웹을 만들고 난 이후 (코딩을 한 이후) 유저에게 어떤식으로 전달 되는지

- 현업 개발자들은 배포할때 어떠한 것까지 고려하고 있는지 곁눈질 👀

오늘 설명에서 나오는 것들

- AWS의 서비스들

- Next.js Framework 기반 빌드 결과물의 폴더 구조
일반적인 Next.js 배포/동작
배포/동작 인프라
도메인
로드밸런서
일반적인 작동 방식
컴퓨터 (EC2, Container 등)에 Next.js Server가 뜨고 모든 요청은 (로드밸런서가 중간에서 분산해주긴 하
지만) 단일 WAS (Web Application Server)가 담당합니다.

예를 들어 Static file serving, api, Server side render 등등 모두 WAS에서 처리하여 response
일반적인 Next.js 배포 방식에서의 확장
위에서 설명한 시스템의 단점
기존의 프로세스 기반 아키텍처를 사용하면 이와 같은 확장이 가능하지만 상당한 단점과 과제가 있습니다.

- Auto scaling 알고리즘은 CPU 또는 메모리 사용량과 같은 상위 수준 메트릭을 기반으로 합니다. 너무 일찍부터
확장하거나, 충분히 빠르게 확장하지 않을 수 있으므로 일부 트래픽을 처리하지 못할 수 있습니다.

- 개발자는 위에서 언급한 메트릭스가 매우 동적이기 때문에 소프트웨어가 어떻게 확장되는지 정확히 이해하고 예측
하기 힘듭니다.

- 개발자는 시뮬레이션을 신중하게 실행하고 메트릭 대시보드를 설정하고 알고리즘을 미세 조정하는데 많은 시간과
리소스를 써야 할 수 있습니다.

일반적으로 서버, 워커, 컨테이너, 프로세스를 생성할 때 요청은 모두 하나의 프로세스로 결합되어 여러 코어와 컴퓨
터에 생성됩니다.
Serverless Component / Next.js
배포/동작 인프라
Serverless Component의 확장
Serverless Component의 장점
Next.js의 거의 모든 기능이 동작하도록 인프라 설계가 되어있다.

https://github.com/serverless-nextjs/serverless-next.js#features

- 정말로 사용하는 것 만큼만 돈을 내면 된다 (EC2나 Container가 더 저렴 할 수 있음 잘 측정해야됨)

- 가용성(서비스가 정상적으로 사용가능한 정도)/확장성(scalable)이 용이하다

- 모든 지역에서 지연시간이 매우 짧다 (lambda@edge를 사용하므로 Edge location이 있어서)

- 완전 관리형 서비스들을 이용하기때문에 서버 자체를 관리할 필요가 없다

(개발팀이 신경써야될 것이 줄어들기 때문에 개발에 더 집중할 수 있게 도와준다)

- 오버헤드 관리가 쉽다 (서버 사양을 지나치게 높게 쓰고있다던가)
Serverless Component의 단점
AWS Lambda를 사용하기때문에 이에대한 제약이 있다.

- Cold Start Time

- Lambda가 15분 이상 실행될 수 없다 (하나의 요청이 15분 이상 못돌아감)

- 메모리 제한

- 람다에 배포하는 패키지 크기 제한

Más contenido relacionado

Similar a 요즘 웹 배포

Introduction to scalability
Introduction to scalabilityIntroduction to scalability
Introduction to scalabilitypolabear
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.효근 박
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability흥배 최
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPgDay.Seoul
 
Introduction of Mesosphere DCOS
Introduction of Mesosphere DCOSIntroduction of Mesosphere DCOS
Introduction of Mesosphere DCOSDeughyeon Chang
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림NAVER D2
 
IT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceIT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceGun-su Jang
 
Umc.Core Frameworks
Umc.Core FrameworksUmc.Core Frameworks
Umc.Core Frameworks준일 엄
 
서버리스 대규모 리얼타임 웹 구축하기
서버리스 대규모 리얼타임 웹 구축하기서버리스 대규모 리얼타임 웹 구축하기
서버리스 대규모 리얼타임 웹 구축하기Taeyoung Kim
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...Amazon Web Services Korea
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systemseva
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systems현종 김
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)중선 곽
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)SangIn Choung
 
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한HoChul Lee
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)IMQA
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 

Similar a 요즘 웹 배포 (20)

Introduction to scalability
Introduction to scalabilityIntroduction to scalability
Introduction to scalability
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
 
Pg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ffPg day seoul 2016 session_02_v1.0_ff
Pg day seoul 2016 session_02_v1.0_ff
 
Introduction of Mesosphere DCOS
Introduction of Mesosphere DCOSIntroduction of Mesosphere DCOS
Introduction of Mesosphere DCOS
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
 
IT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web ServiceIT 인프라의 새로운 대안 Amazon Web Service
IT 인프라의 새로운 대안 Amazon Web Service
 
Umc.Core Frameworks
Umc.Core FrameworksUmc.Core Frameworks
Umc.Core Frameworks
 
서버리스 대규모 리얼타임 웹 구축하기
서버리스 대규모 리얼타임 웹 구축하기서버리스 대규모 리얼타임 웹 구축하기
서버리스 대규모 리얼타임 웹 구축하기
 
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
넥슨 글로벌 플랫폼 구축 이야기 : DB Migration case study (임현수 플랫폼인프라실 Technical Manager, 넥...
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systems
 
Scalable web architecture and distributed systems
Scalable web architecture and distributed systemsScalable web architecture and distributed systems
Scalable web architecture and distributed systems
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
테스터도 알아야 할 웹 개발(테스트 교육 3장 1절 부분발췌)
 
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한
클라우드 컴퓨팅 AWS(Amazon Web Services) - 글로벌 서비스 구축을 위한
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 

Último

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 

Último (8)

JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 

요즘 웹 배포

  • 2. 오늘 다루는 것과 다루지 않는 것 오늘 다루는 것 - 웹을 배포하는 수많은 방식들 중 2가지를 소개합니다 - 2가지를 비교하며 장, 단점을 비교해봅니다. 오늘 다루지 않는것 - 배포하는 법 알아 가셨으면 하는 것 - 웹을 만들고 난 이후 (코딩을 한 이후) 유저에게 어떤식으로 전달 되는지 - 현업 개발자들은 배포할때 어떠한 것까지 고려하고 있는지 곁눈질 👀 오늘 설명에서 나오는 것들 - AWS의 서비스들 - Next.js Framework 기반 빌드 결과물의 폴더 구조
  • 3. 일반적인 Next.js 배포/동작 배포/동작 인프라 도메인 로드밸런서
  • 4. 일반적인 작동 방식 컴퓨터 (EC2, Container 등)에 Next.js Server가 뜨고 모든 요청은 (로드밸런서가 중간에서 분산해주긴 하 지만) 단일 WAS (Web Application Server)가 담당합니다. 예를 들어 Static file serving, api, Server side render 등등 모두 WAS에서 처리하여 response
  • 5. 일반적인 Next.js 배포 방식에서의 확장
  • 6. 위에서 설명한 시스템의 단점 기존의 프로세스 기반 아키텍처를 사용하면 이와 같은 확장이 가능하지만 상당한 단점과 과제가 있습니다. - Auto scaling 알고리즘은 CPU 또는 메모리 사용량과 같은 상위 수준 메트릭을 기반으로 합니다. 너무 일찍부터 확장하거나, 충분히 빠르게 확장하지 않을 수 있으므로 일부 트래픽을 처리하지 못할 수 있습니다. - 개발자는 위에서 언급한 메트릭스가 매우 동적이기 때문에 소프트웨어가 어떻게 확장되는지 정확히 이해하고 예측 하기 힘듭니다. - 개발자는 시뮬레이션을 신중하게 실행하고 메트릭 대시보드를 설정하고 알고리즘을 미세 조정하는데 많은 시간과 리소스를 써야 할 수 있습니다. 일반적으로 서버, 워커, 컨테이너, 프로세스를 생성할 때 요청은 모두 하나의 프로세스로 결합되어 여러 코어와 컴퓨 터에 생성됩니다.
  • 7. Serverless Component / Next.js 배포/동작 인프라
  • 9. Serverless Component의 장점 Next.js의 거의 모든 기능이 동작하도록 인프라 설계가 되어있다. https://github.com/serverless-nextjs/serverless-next.js#features - 정말로 사용하는 것 만큼만 돈을 내면 된다 (EC2나 Container가 더 저렴 할 수 있음 잘 측정해야됨) - 가용성(서비스가 정상적으로 사용가능한 정도)/확장성(scalable)이 용이하다 - 모든 지역에서 지연시간이 매우 짧다 (lambda@edge를 사용하므로 Edge location이 있어서) - 완전 관리형 서비스들을 이용하기때문에 서버 자체를 관리할 필요가 없다
 (개발팀이 신경써야될 것이 줄어들기 때문에 개발에 더 집중할 수 있게 도와준다) - 오버헤드 관리가 쉽다 (서버 사양을 지나치게 높게 쓰고있다던가)
  • 10. Serverless Component의 단점 AWS Lambda를 사용하기때문에 이에대한 제약이 있다. - Cold Start Time - Lambda가 15분 이상 실행될 수 없다 (하나의 요청이 15분 이상 못돌아감) - 메모리 제한 - 람다에 배포하는 패키지 크기 제한