AWS Lambda

μ„œλ²„λ¦¬μŠ€ μ»΄ν“¨νŒ… μ„œλΉ„μŠ€

μ„œλ²„λ¦¬μŠ€(severless): μ„œλΉ„μŠ€ 싀행을 μœ„ν•œ μ„œλ²„λ₯Ό AWSμ—μ„œ 관리. μ‚¬μš©μžλŠ” μ„œλ²„λ₯Ό 관리할 ν•„μš”κ°€ 없어지고 Lambdaμ—μ„œ μ‚¬μš©ν•  ν”„λ‘œκ·Έλž¨ μ½”λ“œλ§Œ μž‘μ„±

  • Function-as-a-Service

  • No Infrastructure provisioning, No management: μ„œλ²„ 관리 없이 μ½”λ“œλ₯Ό μ‹€ν–‰

  • Automatic scaling: μžλ™ μŠ€μΌ€μΌλ§

  • Pay for Value: μ‚¬μš©ν•œ 만큼만 λΉ„μš© μ§€λΆˆ

  • Highly available and secure: 높은 κ°€μš©μ„± 및 λ³΄μ•ˆ

  • 달리 μ§€μ •λ˜μ§€ μ•ŠλŠ” ν•œ, μˆ˜μ‹  μš”μ²­μ€ λΉ„μˆœμ°¨μ μœΌλ‘œ, λ˜λŠ” λ™μ‹œμ— 처리될 수 μžˆμŠ΅λ‹ˆλ‹€.

  • 였래 μ§€μ†λ˜λŠ” ν•¨μˆ˜μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©ν•˜μ§€ 말고 λŒ€μ‹  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μƒνƒœλ₯Ό λ‹€λ₯Έ 곳에 μ €μž₯ν•˜μ„Έμš”.

  • 둜컬 μŠ€ν† λ¦¬μ§€ 및 클래슀 μˆ˜μ€€ 객체λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„±λŠ₯을 κ°•ν™”ν•  수 μžˆμ§€λ§Œ, μ‹€ν–‰ ν™˜κ²½μœΌλ‘œ μ „μ†‘ν•˜λŠ” 배포 νŒ¨ν‚€μ§€μ˜ 크기와 λ°μ΄ν„°μ˜ 양을 μ΅œμ†Œλ‘œ μœ μ§€ν•˜μ„Έμš”.

Lambda κ°œλ…

  • ν•¨μˆ˜(Function): Lambdaμ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•œ λ¦¬μ†ŒμŠ€. Lambdaμ—μ„œλŠ” ν•¨μˆ˜ λ‹¨μœ„λ‘œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ—¬ Lambda ν•¨μˆ˜λΌκ³  뢀름

  • 트리거(Trigger): Lambda ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜λŠ” λ¦¬μ†ŒμŠ€ λ˜λŠ” ꡬ성. λ‹€λ₯Έ AWS μ„œλΉ„μŠ€κ°€ 호좜 ν•˜λ„λ‘ ν•  수 있음

  • 이벀트(Event): μ²˜λ¦¬ν•  Lambda ν•¨μˆ˜μ— λŒ€ν•œ json ν˜•μ‹μ˜ 데이터λ₯Ό ν¬ν•¨ν•˜λŠ” λ¬Έμ„œ

  • μ‹€ν–‰ ν™˜κ²½(Execution environment): Lambda ν•¨μˆ˜μ˜ λŸ°νƒ€μž„ ν™˜κ²½μ„ μœ„ν•œ μ•ˆμ „ν•˜κ³  격리된 ν™˜κ²½

  • λͺ…λ Ή μ„ΈνŠΈ μ•„ν‚€ν…μ²˜(Instruction set architecture): Lambda ν•¨μˆ˜κ°€ μ‹€ν–‰λ˜λŠ” 컴퓨터 ν”„λ‘œμ„Έμ„œμ˜ μœ ν˜•. arm64와 x86_64λ₯Ό 지원

  • 배포 νŒ¨ν‚€μ§€(Deployment package): Lambda ν•¨μˆ˜ μ½”λ“œ 배포λ₯Ό μœ„ν•œ νŒ¨ν‚€μ§€. .zip 파일 λ˜λŠ” OCI ν˜Έν™˜ μ»¨ν…Œμ΄λ„ˆ 이미지λ₯Ό 지원

  • λŸ°νƒ€μž„(Runtime): μ‹€ν–‰ ν™˜κ²½μ—μ„œ μ‹€ν–‰λ˜λŠ” 언어별 ν™˜κ²½. μ œκ³΅λ˜λŠ” λŸ°νƒ€μž„ λ˜λŠ” μ»€μŠ€ν…€ λŸ°νƒ€μž„μ„ λΉŒλ“œν•  수 있음

  • λ ˆμ΄μ–΄(Layer): μΆ”κ°€ μ½”λ“œ, μ½˜ν…μΈ λ₯Ό 포함할 수 μžˆλŠ” .zip 파일. 라이브러리, μ‚¬μš©μž μ •μ˜ λŸ°νƒ€μž„, 데이터ꡬ성 νŒŒμΌμ„ 포함. 배포 μ•„μΉ΄μ΄λΈŒ 크기 κ°μ†Œλ₯Ό ν†΅ν•œ 더 λΉ λ₯Έ 배포. μ½”λ“œ 곡유 및 μ±…μž„ 뢄리

  • μ΅μŠ€ν…μ…˜(Extension): Lambda ν•¨μˆ˜ 보강을 μœ„ν•œ μˆ˜λ‹¨μœΌλ‘œ λͺ¨λ‹ˆν„°λ§, κ΄€μ°°, λ³΄μ•ˆ, κ±°λ²„λ„ŒμŠ€ 도ꡬ등을 톡합. AWS Lambda νŒŒνŠΈλ„ˆμ—μ„œ λ‹€μ–‘ν•œ 도ꡬλ₯Ό μ œκ³΅ν•˜λ©° 자체적인 μ΅μŠ€ν…μ…˜μ„ λ§Œλ“€μ–΄ μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€

  • λ™μ‹œμ„±(Concurrency): νŠΉμ • μ‹œκ°μ— ν•¨μˆ˜κ°€ μ œκ³΅ν•˜λŠ” μš”μ²­ 수. ν•¨μˆ˜ μš”μ²­ 처리 쀑 λ‹€μ‹œ 호좜 μ‹œ ν•¨μˆ˜μ˜ λ™μ‹œμ„± 증가

Lambda 지원 μ–Έμ–΄

2024λ…„ 1μ›” 11일 κΈ°μ€€

  • Node.js

  • Python

  • Ruby

  • Java

  • Go

  • C#

  • PowerShell

Lambda vs EC2

Lambda에 λΉ„ν•΄ EC2κ°€ μœ λ¦¬ν•œ 경우

  1. LambdaλŠ” ν•¨μˆ˜ λ‹¨μœ„λ‘œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— μ˜¨ν”„λ ˆλ―ΈμŠ€μ˜ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œν‚€κΈ° μ–΄λ ΅λ‹€. EC2λŠ” OS μ„€μ • 등을 ν•œ ν›„ κ·ΈλŒ€λ‘œ μ‚¬μš©ν•  수 μžˆλ‹€

  2. EC2λŠ” μΈμŠ€ν„΄μŠ€μ˜ μœ ν˜•λΆ€ν„°, κ΅¬λ™λ˜λŠ” OS, λ„€νŠΈμ›Œν¬ λ“± ν•˜λ“œμ›¨μ–΄λ₯Ό 자유둭게 μ„€μ •ν•  수 μžˆλ‹€.

  3. λŒ€κ·œλͺ¨μ˜ νŠΈλž˜ν”½μ΄ λ°œμƒν•˜κ±°λ‚˜ 항상 접속이 ν•„μš”ν•œ κ²½μš°μ—λŠ” EC2의 λΉ„μš©μ΄ 더 μ €λ ΄ν•  수 μžˆλ‹€

Last updated