Azure Functions๋ Microsoft๊ฐ Azure ํด๋ผ์ฐ๋ ํ๋ซํผ์ ์ผ๋ถ๋ก ์ ๊ณตํ๋ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค๋ก, ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๊ธฐ๋ณธ ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ ํ์ ์์ด ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ฐ์์ฑ์ด ๋ฐ์ด๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์๋ฒ ๊ด๋ฆฌ๋ฅผ ์ถ์ํํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฝ๋ ์์ฑ ๋ฐ ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ์ ์ง์คํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ๋นจ๋ผ์ง๊ณ ์ ์ง ๊ด๋ฆฌ๊ฐ ์ฌ์์ง๋ฉฐ ์ด์ ๋น์ฉ์ด ์ ๊ฐ๋ฉ๋๋ค. Azure Functions๋ C#, F#, JavaScript, Python ๋ฐ Java๋ฅผ ํฌํจํ ์ฌ๋ฌ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ง์ํ๋ฏ๋ก ๋ค์ํ ๊ฐ๋ฐ์๊ฐ ๋ค๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
Azure Functions์ ํต์ฌ ์์น์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์์ธ "ํจ์" ๊ฐ๋ ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๊ฐ ํจ์๋ ๋ค์ด์ค๋ HTTP ์์ฒญ, Azure Storage ํ์ ์ ๋ฉ์์ง ๋๋ ํ์ด๋จธ ์ด๋ฒคํธ์ ๊ฐ์ ์ด๋ฒคํธ์ ์ํด ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค. ์ด ์ด๋ฒคํธ ์ค์ฌ ์ํคํ ์ฒ๋ ํ์ํ ๊ฒฝ์ฐ์๋ง ๊ธฐ๋ฅ์ด ์คํ๋์ด ๋ฆฌ์์ค ์ฌ์ฉ๋๊ณผ ๋น์ฉ์ ์ต์ํํ๋ฏ๋ก ๋ณด๋ค ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ํ Azure Functions๋ ๋ค์ด์ค๋ ์์ฒญ ์๋์ ๋ฐ๋ผ ์๋์ผ๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ ๊ฐ์ ์ด๋ ๋ฆฌ์์ค ํ๋ก๋น์ ๋ ์์ด ๋์ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
Azure Functions๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ๋ฐ์๋ ๋ค์ํ ํธ๋ฆฌ๊ฑฐ ๋ฐ ๋ฐ์ธ๋ฉ ์ค์์ ์ ํํ์ฌ ํจ์์ ์ ๋ ฅ ๋ฐ ์ถ๋ ฅ ์์ค๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ํธ๋ฆฌ๊ฑฐ๋ ์ด๋ฒคํธ์ ๋ํ ์๋ต์ผ๋ก ํจ์ ์คํ์ ์์ํ๋ ์ญํ ์ ํ๋ฉฐ, ๋ฐ์ธ๋ฉ์ ๋ค์ํ ์๋น์ค์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ณ ๊ตํํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค. Azure Functions๋ HTTP, ํ์ด๋จธ, Azure Cosmos DB, Azure Event Hubs ๋ฑ๊ณผ ๊ฐ์ด ์ ์ ๋์ด๋๋ ์ฌ์ ๋น๋๋ ํธ๋ฆฌ๊ฑฐ ๋ฐ ๋ฐ์ธ๋ฉ ๋ชฉ๋ก์ ์ ๊ณตํ๋ฏ๋ก ํจ์๋ฅผ ์๋ง์ Azure ์๋น์ค ๋ฐ ์ธ๋ถ ์์คํ ๊ณผ ์ฝ๊ฒ ํตํฉํ ์ ์์ต๋๋ค.
Azure Functions๋ Azure Functions Core Tools๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ์์ ๊ฐ๋ฐ ๋ฐ ์คํ๋ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ํจ์๋ฅผ ํด๋ผ์ฐ๋์ ๋ฐฐํฌํ๊ธฐ ์ ์ ๋น๋, ํ ์คํธ ๋ฐ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค. ๋ก์ปฌ ๊ฐ๋ฐ ์ธ์๋ Azure Portal ๋ด์์ ๋๋ CI/CD(์ง์์ ์ธ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ) ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ Functions๋ฅผ ๊ตฌ์ถํ์ฌ ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ์ ๋ณด์ฅํ ์๋ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ Azure Functions์ ์ํํ๊ฒ ํตํฉ๋๋ฏ๋ก ๊ณ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. AppMaster ์ ๋น์ฃผ์ผ ๋์์ด๋์ drag-and-drop ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ณ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง, ๋น์ฆ๋์ค ํ๋ก์ธ์ค ๋ฐ REST API๊ฐ ์๋น๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ฒ ๋์์ธํ ์ ์์ต๋๋ค. ๋ํ AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ปดํ์ผํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , Docker ์ปจํ ์ด๋๋ก ํจํค์งํ๊ณ , ํด๋ผ์ฐ๋ ๋๋ ์จํ๋ ๋ฏธ์ค ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค. Azure Functions์ AppMaster ์ ๊ฐ๋ ฅํ ์กฐํฉ์ ํตํด ๊ณ ๊ฐ์ ์ค์๊ธฐ์ ๊ณผ ๋๊ธฐ์ ๋ชจ๋์ ์๊ตฌ ์ฌํญ์ ์ฒ๋ฆฌํ ์ ์๋ ์๋ต์ฑ์ด ๋ฐ์ด๋๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ๋น์ฉ ํจ๊ณผ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ต๊ทผ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์ ๋น์ฉ ์ ๊ฐ, ์ด์ ๋ฏผ์ฒฉ์ฑ, ์ฑ๋ฅ ํฅ์ ๋ฑ ๋ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. Microsoft๊ฐ ์ค์ํ ์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด ์กฐ์ง์ 60%๊ฐ ์ด๋ฏธ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์ ์ฑํํ๊ฑฐ๋ ํฅํ 18๊ฐ์ ์ด๋ด์ ์ฑํํ ๊ณํ์ธ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. Azure Functions๋ ํจ์จ์ฑ, ํ์ฅ์ฑ ๋ฐ ๋ฏผ์ฒฉ์ฑ์ ๋ณด์ฅํ๋ ์๋ฒ๋ฆฌ์ค ์ํคํ ์ฒ๋ฅผ ์ํ ์ต๊ณ ์ ์ ํ ์ค ํ๋์ ๋๋ค.
Azure Functions๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก๋ ์ฌ์ฉ์๊ฐ ์ผ๋ จ์ ์๋ฒ๋ฆฌ์ค ํจ์๋ก ์ฒ๋ฆฌํ ํ์ผ์ ์ ๋ก๋ํ๋ ํ์ผ ์ฒ๋ฆฌ ์์คํ ์ด ์์ต๋๋ค. ์ด๋ฌํ ํ์ผ์ Azure Blob Storage ์ปจํ ์ด๋์ ์ ์ฅ๋์ด ํ์ํ ์ฒ๋ฆฌ๋ฅผ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋์ ์คํ ๋ฆฌ์ง ์์น์ ์ ์ฅํ๋ ๊ธฐ๋ฅ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ์์คํ ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋๋ฉด ์ฌ์ฉ์์๊ฒ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ด ์๋ ํ์ฅ ๋ฐ ์ด๋ฒคํธ ์ค์ฌ ์ํคํ ์ฒ๋ฅผ ํตํด ์์คํ ์ ๋ณ๋ํ๋ ์ํฌ๋ก๋๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ฒ๋ฆฌ ์๊ฐ์ ๋จ์ถํ๋ฉฐ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ธํ๋ผ ์ด์ ๋น์ฉ์ ์ต์ํํ ์ ์์ต๋๋ค.
์์ฝํ๋ฉด, Azure Functions๋ ๊ฐ๋ฐ์๊ฐ ๊ธฐ๋ณธ ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ ํ์ ์์ด ์๋ต์ฑ์ด ๋ฐ์ด๋๊ณ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ๋น์ฉ ํจ๊ณผ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ ฅํ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์๋น์ค์ ๋๋ค. Azure Functions๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ ๊ตฌํ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๊ฐ์ ์ ์ง์คํ ์ ์๋๋ก ํ์ฌ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ๊ณ ์ด์ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค. AppMasterno-code ํ๋ซํผ๊ณผ ๊ฒฐํฉํ๋ฉด ๊ณ ๊ฐ์ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ์ฌ ์ค์๊ธฐ์ ๊ณผ ๊ธฐ์ ๋ชจ๋์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ฒ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค.