Amazon Web Services(AWS) ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์ ํ์ ํต์ฌ ๊ตฌ์ฑ ์์์ธ AWS Lambda๋ ๊ฐ๋ฐ์๊ฐ ์๋ฒ๋ฅผ ํ๋ก๋น์ ๋, ๊ด๋ฆฌ ๋๋ ์ ์ง ๊ด๋ฆฌํ ํ์ ์์ด ํน์ ํธ๋ฆฌ๊ฑฐ ๋๋ ์ด๋ฒคํธ์ ์๋ตํ์ฌ ์ฝ๋๋ฅผ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ์ด๋ฒคํธ ์ค์ฌ ์ปดํจํ ์๋น์ค์ ๋๋ค. ์ด ์์ ๊ด๋ฆฌํ ์๋น์ค๋ ๋ค์ด์ค๋ ์ด๋ฒคํธ ๋ณผ๋ฅจ์ ๋ฐ๋ผ ์ฝ๋ ์คํ์ ์๋์ผ๋ก ํ์ฅํ๋ฏ๋ก ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ค์๊ฐ ํ์ผ ์ฒ๋ฆฌ, ์๋ฒ๋ฆฌ์ค ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋กฏํ ๋ค์ํ ์ฌ์ฉ ์ฌ๋ก์ ๋งค์ฐ ํจ์จ์ ์ธ ์๋ฃจ์ ์ด ๋ฉ๋๋ค.
์๋ฒ๋ฆฌ์ค ์ปดํจํ ํ๊ฒฝ์์ AWS Lambda๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ์ด์ ์ค ํ๋๋ ์ฌ๋ฌ ์ปดํจํ ํ๊ฒฝ์์ ์ฝ๋ ์คํ์ ์ด์ ์ธก๋ฉด์ ์๋์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ํจ์น ์ ์ฉ, ์ฉ๋ ํ๋ก๋น์ ๋ ๋ฑ ์๋ฒ ๊ด๋ฆฌ์ ๊ด๋ จ๋ ๊ด๋ฆฌ ์์ ์ ์๊ฐ์ ์๋นํ ํ์๊ฐ ์์ต๋๋ค. ๋ํ AWS Lambda์ ์จ๋๋งจ๋ ์คํ ๋ชจ๋ธ์ ๊ฐ๋ฐ์๊ฐ ์ฝ๋ ์คํ ์ค์ ์๋น๋ ์ปดํจํ ๋ฆฌ์์ค์ ๋ํด์๋ง ๋น์ฉ์ ์ง๋ถํ๋ฏ๋ก ๊ธฐ์กด ์๋ฒ ๊ธฐ๋ฐ ์ํคํ ์ฒ์ ๋ํ ๋น์ฉ ํจ์จ์ ์ธ ๋์์ด ๋ฉ๋๋ค.
๋ด๋ถ์ ์ผ๋ก AWS Lambda๋ Lambda ํจ์๋ผ๋ ์ํ ๋น์ ์ฅ ์ปจํ ์ด๋ ํ๊ฒฝ ๋ด์์ ์ฝ๋๋ฅผ ์คํํ์ฌ ์๋ํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ Java, Go, PowerShell, C#, Python, Node.js, Ruby ๋ฑ ๋ค์ํ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ๋ํ ์ฌ์ฉ์ ์ ์ ๋ฐํ์ ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ ์ ์์ต๋๋ค.
AWS Lambda ํ์ฉ์ ์ค์ํ ์ธก๋ฉด์ ์ด๋ฒคํธ ์์ค ์ญํ ์ ํ๋ ๋ค๋ฅธ AWS ์๋น์ค์์ ํตํฉ์ ๋๋ค. ์ด๋ฌํ ์๋น์ค๋ Lambda ํจ์๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ์ด๋ฒคํธ๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ฒคํธ ์์ค ์ญํ ์ ํ ์ ์๋ ์ฃผ๋ชฉํ ๋งํ AWS ์๋น์ค๋ก๋ Amazon S3, Amazon DynamoDB, Amazon Kinesis, AWS API Gateway ๋ฐ AWS CloudTrail์ด ์์ต๋๋ค. ๋ํ AWS Lambda๋ ์ถ๊ฐ์ ์ธ ์ ์ฐ์ฑ์ ์ํด ์ฌ์ฉ์ ์ง์ ์ด๋ฒคํธ ์์ค๋ฅผ ๊ตฌํํ์ฌ ํ์ฌ ์๋น์ค์ ํตํฉํ ์ ์์ต๋๋ค.
AWS Lambda ๊ตฌํ์ ์ค์ ์๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ AppMasterno-code ํ๋ซํผ์ ๋๋ค. AppMaster AWS Lambda๋ฅผ ํด๋น ์๋น์ค์ ํตํฉํ์ฌ ๊ฐ๋ฐ์๊ฐ ์๊ฐ์ BP Designer, REST API ๋ฐ WSS ์๋ํฌ์ธํธ๋ฅผ ํตํด ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง), ๋น์ฆ๋์ค ๋ก์ง(๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ผ๊ณ ๋ ํจ)์ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์๋๋ก ํฉ๋๋ค. AWS Lambda์ ์๋ ํ์ฅ ๋ฐ ์๋ฒ๋ฆฌ์ค ๊ธฐ๋ฅ๊ณผ AppMaster ์ ์๊ฐ์ ๋์์ธ ๋๊ตฌ๋ฅผ ๊ฒฐํฉํ๋ฉด ์ํธ ์ฐ๊ฒฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๋งค์ฐ ํจ์จ์ ์ด๊ณ ๋น์ฉ ํจ์จ์ ์ด๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์ ์ด ํ์ํฉ๋๋ค.
์ด์ ํจ์จ์ฑ๊ณผ ๋น์ฉ ์ ๊ฐ ์ธ์๋ AWS Lambda๋ ์คํ๋ Lambda ํจ์์ ์ฑ๋ฅ๊ณผ ๋์์ ์ถ์ ํ๊ธฐ ์ํ ์๋ง์ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. AWS ๋ชจ๋ํฐ๋ง ์๋น์ค์ธ CloudWatch๋ฅผ ์ฌ์ฉํ์ฌ ์งํ๋ฅผ ์์งํ๊ณ , ๊ฒฝ๋ณด๋ฅผ ์ค์ ํ๊ณ , ํจ์ ํธ์ถ, ์คํ ๊ธฐ๊ฐ ๋ฐ ์ค๋ฅ์ ๊ด๋ จ๋ ๋ก๊ทธ๋ฅผ ์์งํ ์ ์์ต๋๋ค. ๋ํ AWS Lambda๋ ๊ฐ๋ณ Lambda ๊ธฐ๋ฅ์ ์ฑ๋ฅ์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ์ฌ ์ฝ๋ ์คํ์ ์ต์ ํํ๊ณ ์ง์ฐ ์๊ฐ์ ์ค์ด๋ ๋ฐ ๋์์ด ๋๋ ๋ถ์ฐ ์ถ์ ์๋น์ค์ธ X-Ray๋ฅผ ์ง์ํฉ๋๋ค.
ํน์ ๋ณด์ ๋ฐ ๊ท์ ์ค์ ์๊ตฌ ์ฌํญ์ด ์๋ ์กฐ์ง์ ์ํด AWS Lambda๋ ์ํธํ, ์ก์ธ์ค ์ ์ด, ๊ฐ์ฌ์ ๊ฐ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ๋ฐ์๋ AWS Key Management Service๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ ์ ์์ผ๋ฉฐ, AWS Identity and Access Management(IAM)๋ฅผ ํ์ฉํ์ฌ Lambda ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. AWS CloudTrail์ API ํธ์ถ์ ์์งํ๊ณ ๊ธฐ๋กํ๋ฏ๋ก ํฌ๊ด์ ์ธ ๊ฐ์ฌ ๋ฐ ์ค์๊ฐ ๋ณด์ ๋ถ์์ด ๊ฐ๋ฅํฉ๋๋ค.
๋ํ AWS Lambda๋ ๋ค์ํ ๋ฐฐํฌ ๊ตฌ์ฑ๊ณผ ์ ๋ต์ ์ง์ํ์ฌ ๊ฐ๋ฐ์๊ฐ ์๋ก์ด ์ฝ๋์ ์ ๋ฐ์ดํธ๋ฅผ ์ถ์ํ๋ ๋ฐฉ์์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ต์ ์๋ Virtual Private Cloud(VPC) ํ๊ฒฝ ๋ด์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ฐฐํฌํ๊ณ , ๋ค์ํ ๊ธฐ๋ฅ ๊ฐ์ ์ฝ๋ ๋ฐ ์ข ์์ฑ์ ๊ณต์ ํ๊ธฐ ์ํด AWS Lambda ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฐฐํฌ๋ฅผ ์ ์ดํ๊ธฐ ์ํด ๋ณ์นญ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ๊ณ , ์ ์ด๋ ๋กค์์์ ์ํ ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋๋ ์นด๋๋ฆฌ์ ๋ฐฐํฌ ์ ๋ต์ ์ฌ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
์์ฝํ๋ฉด, AWS Lambda๋ ์๋ฒ ๊ด๋ฆฌ ๋ฐ ํ๋ก๋น์ ๋์ ํ์์ฑ์ ์ ๊ฑฐํ์ฌ ํจ์จ์ ์ธ ์ฝ๋ ์คํ์ ์ด์งํ๋ ๊ฐ๋ ฅํ๊ณ ์๋ฒฝํ๊ฒ ๊ด๋ฆฌ๋๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค์ ๋๋ค. AWS Lambda๋ AppMasterno-code ํ๋ซํผ ๋ฐ ๊ธฐํ AWS ์๋น์ค์ ์ ํตํฉ๋์ด ๊ด๋ฒ์ํ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ง์ํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ์ฉ๋, ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง, ๋ณด์ ๋ฐ ๊ท์ ์ค์ ์ธก๋ฉด์์ ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ค์ํ ์ ๊ณ์ ๊ฐ๋ฐ์์ ์กฐ์ง์ ์ด ๊ธฐ๋ฅ๊ณผ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ ๋ฐ ๋ฐฐํฌํ์ฌ ๋์งํธ ๋ณํ๊ณผ ํ์ ์ ๊ฐ์ํํ ์ ์์ต๋๋ค.