{"id":17722,"date":"2025-04-02T16:10:11","date_gmt":"2025-04-02T09:10:11","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=17722"},"modified":"2025-04-02T17:03:37","modified_gmt":"2025-04-02T10:03:37","slug":"faas-la-gi","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/faas-la-gi\/","title":{"rendered":"FaaS l\u00e0 g\u00ec? Hi\u1ec3u r\u00f5 v\u1ec1 Function-as-a-Service v\u00e0 c\u00e1c \u1ee9ng d\u1ee5ng"},"content":{"rendered":"\n<p>Functions as a Service (FaaS) \u0111ang tr\u1edf th\u00e0nh m\u1ed9t gi\u1ea3i ph\u00e1p \u0111\u1ed9t ph\u00e1 trong \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y, gi\u00fap doanh nghi\u1ec7p tri\u1ec3n khai v\u00e0 ch\u1ea1y m\u00e3 ngu\u1ed3n m\u00e0 kh\u00f4ng c\u1ea7n qu\u1ea3n l\u00fd h\u1ea1 t\u1ea7ng. M\u00f4 h\u00ecnh n\u00e0y ho\u1ea1t \u0111\u1ed9ng theo ki\u1ebfn tr\u00fac serverless, mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch v\u1ec1 chi ph\u00ed, hi\u1ec7u su\u1ea5t v\u00e0 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd gi\u00fap b\u1ea1n hi\u1ec3u r\u00f5 FaaS l\u00e0 g\u00ec, c\u00e1ch ho\u1ea1t \u0111\u1ed9ng, \u01b0u nh\u01b0\u1ee3c \u0111i\u1ec3m v\u00e0 so s\u00e1nh v\u1edbi c\u00e1c m\u00f4 h\u00ecnh kh\u00e1c nh\u01b0 Serverless, PaaS, IaaS, Containers, c\u00f9ng nh\u1eefng \u1ee9ng d\u1ee5ng ph\u1ed5 bi\u1ebfn trong th\u1ef1c t\u1ebf.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Functions-as-a-service-FaaS-la-gi\" >Functions as a service (FaaS) l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Cach-hoat-dong-cua-mo-hinh-FaaS\" >C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a m\u00f4 h\u00ecnh FaaS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Nhung-dac-diem-chinh-cua-Functions-as-a-service-FaaS\" >Nh\u1eefng \u0111\u1eb7c \u0111i\u1ec3m ch\u00ednh c\u1ee7a Functions as a service (FaaS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Nhung-uu-diem-cua-Functions-as-a-service-FaaS\" >Nh\u1eefng \u01b0u \u0111i\u1ec3m c\u1ee7a Functions as a service (FaaS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Nhung-nhuoc-diem-cua-Functions-as-a-service-FaaS\" >Nh\u1eefng nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a Functions as a service (FaaS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#So-sanh-FaaS-voi-cac-mo-hinh-khac\" >So s\u00e1nh FaaS v\u1edbi c\u00e1c m\u00f4 h\u00ecnh kh\u00e1c<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#FaaS-va-Serverless\" >FaaS v\u00e0 Serverless<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#FaaS-va-PaaS-Platform-as-a-Service\" >FaaS v\u00e0 PaaS (Platform as a Service)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#FaaS-va-IaaS-Infrastructure-as-a-Service\" >FaaS v\u00e0 IaaS (Infrastructure as a Service)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#FaaS-va-Containers\" >FaaS v\u00e0 Containers<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Nhung-truong-hop-su-dung-FaaS-pho-bien\" >Nh\u1eefng tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng FaaS ph\u1ed5 bi\u1ebfn<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Backend-cho-ung-dung-web-va-di-dong-WebMobile-App-Backends\" >Backend cho \u1ee9ng d\u1ee5ng web v\u00e0 di \u0111\u1ed9ng (Web\/Mobile App Backends)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Xu-ly-du-lieu-thoi-gian-thuc-Real-time-Data-Processing\" >X\u1eed l\u00fd d\u1eef li\u1ec7u th\u1eddi gian th\u1ef1c (Real-time Data Processing)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Tac-vu-theo-lich-trinh-Scheduled-Tasks-Cron-Jobs\" >T\u00e1c v\u1ee5 theo l\u1ecbch tr\u00ecnh (Scheduled Tasks \/ Cron Jobs)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Chatbots-va-tro-ly-ao\" >Chatbots v\u00e0 tr\u1ee3 l\u00fd \u1ea3o<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Tu-dong-hoa-IT-IT-Automation\" >T\u1ef1 \u0111\u1ed9ng h\u00f3a IT (IT Automation)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Xu-ly-da-phuong-tien-Media-Processing\" >X\u1eed l\u00fd \u0111a ph\u01b0\u01a1ng ti\u1ec7n (Media Processing)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/#Xac-thuc-va-uy-quyen-Authentication-Authorization\" >X\u00e1c th\u1ef1c v\u00e0 \u1ee7y quy\u1ec1n (Authentication &amp; Authorization)<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Functions-as-a-service-FaaS-la-gi\"><\/span>Functions as a service (FaaS) l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/interdata.vn\/blog\/faas-la-gi\/\"><strong>Function as a Service (FaaS)<\/strong><\/a> l\u00e0 m\u1ed9t m\u00f4 h\u00ecnh \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y serverless, n\u01a1i b\u1ea1n c\u00f3 th\u1ec3 th\u1ef1c thi c\u00e1c \u0111o\u1ea1n m\u00e3 ngu\u1ed3n (g\u1ecdi l\u00e0 h\u00e0m &#8211; function) \u0111\u1ec3 ph\u1ea3n h\u1ed3i l\u1ea1i c\u00e1c s\u1ef1 ki\u1ec7n m\u00e0 kh\u00f4ng c\u1ea7n tr\u1ef1c ti\u1ebfp qu\u1ea3n l\u00fd c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng m\u00e1y ch\u1ee7 b\u00ean d\u01b0\u1edbi. Nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y s\u1ebd lo vi\u1ec7c n\u00e0y cho b\u1ea1n.<\/p>\n<p>N\u00f3i \u0111\u1ebfn FaaS, ch\u00fang ta th\u01b0\u1eddng nh\u1eafc t\u1edbi <strong>&#8220;serverless&#8221;<\/strong> hay \u0111i\u1ec7n to\u00e1n kh\u00f4ng m\u00e1y ch\u1ee7. \u0110i\u1ec1u n\u00e0y kh\u00f4ng c\u00f3 ngh\u0129a l\u00e0 kh\u00f4ng c\u00f3 m\u00e1y ch\u1ee7 n\u00e0o c\u1ea3. Th\u1ef1c t\u1ebf l\u00e0 c\u00e1c m\u00e1y ch\u1ee7 v\u1eabn t\u1ed3n t\u1ea1i, nh\u01b0ng b\u1ea1n, v\u1edbi t\u01b0 c\u00e1ch l\u00e0 nh\u00e0 ph\u00e1t tri\u1ec3n, kh\u00f4ng c\u1ea7n b\u1eadn t\u00e2m \u0111\u1ebfn vi\u1ec7c c\u1ea5u h\u00ecnh, b\u1ea3o tr\u00ec hay m\u1edf r\u1ed9ng ch\u00fang n\u1eefa.<\/p>\n<p>B\u1ea3n ch\u1ea5t c\u1ee7a FaaS l\u00e0 <strong>h\u01b0\u1edbng s\u1ef1 ki\u1ec7n (event-driven)<\/strong>. C\u00e1c h\u00e0m c\u1ee7a b\u1ea1n s\u1ebd &#8220;ng\u1ee7 y\u00ean&#8221; cho \u0111\u1ebfn khi c\u00f3 m\u1ed9t s\u1ef1 ki\u1ec7n c\u1ee5 th\u1ec3 x\u1ea3y ra v\u00e0 k\u00edch ho\u1ea1t (trigger) ch\u00fang ch\u1ea1y. S\u1ef1 ki\u1ec7n n\u00e0y c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t ng\u01b0\u1eddi d\u00f9ng truy c\u1eadp website, m\u1ed9t t\u1ec7p m\u1edbi \u0111\u01b0\u1ee3c t\u1ea3i l\u00ean, ho\u1eb7c m\u1ed9t th\u00f4ng \u0111i\u1ec7p g\u1eedi \u0111\u1ebfn h\u1ec7 th\u1ed1ng.<\/p>\n<p>\u0110i\u1ec1u n\u00e0y mang l\u1ea1i l\u1ee3i \u00edch l\u1edbn cho l\u1eadp tr\u00ecnh vi\u00ean. Thay v\u00ec d\u00e0nh th\u1eddi gian v\u00e0 c\u00f4ng s\u1ee9c cho vi\u1ec7c qu\u1ea3n l\u00fd m\u00e1y ch\u1ee7 ph\u1ee9c t\u1ea1p, b\u1ea1n c\u00f3 th\u1ec3 ho\u00e0n to\u00e0n <strong>t\u1eadp trung v\u00e0o vi\u1ec7c vi\u1ebft m\u00e3 ngu\u1ed3n<\/strong> gi\u1ea3i quy\u1ebft c\u00e1c b\u00e0i to\u00e1n nghi\u1ec7p v\u1ee5 c\u1ee5 th\u1ec3. Qu\u00e1 tr\u00ecnh ph\u00e1t tri\u1ec3n v\u00e0 \u0111\u01b0a \u1ee9ng d\u1ee5ng ra th\u1ecb tr\u01b0\u1eddng nh\u1edd \u0111\u00f3 c\u0169ng tr\u1edf n\u00ean nhanh ch\u00f3ng h\u01a1n \u0111\u00e1ng k\u1ec3.<\/p>\n<p>H\u00e3y h\u00ecnh dung FaaS gi\u1ed1ng nh\u01b0 vi\u1ec7c b\u1ea1n ch\u1ec9 c\u1ea7n cung c\u1ea5p c\u00f4ng th\u1ee9c n\u1ea5u \u0103n (ch\u00ednh l\u00e0 m\u00e3 ngu\u1ed3n c\u1ee7a b\u1ea1n). C\u00f2n nh\u00e0 cung c\u1ea5p d\u1ecbch v\u1ee5 \u0111\u00e1m m\u00e2y s\u1ebd \u0111\u1ea3m nh\u1eadn to\u00e0n b\u1ed9 ph\u1ea7n vi\u1ec7c c\u00f2n l\u1ea1i: chu\u1ea9n b\u1ecb b\u1ebfp, nguy\u00ean li\u1ec7u, n\u1ea5u n\u01b0\u1edbng theo c\u00f4ng th\u1ee9c v\u00e0 th\u1eadm ch\u00ed l\u00e0 d\u1ecdn d\u1eb9p sau \u0111\u00f3 (t\u01b0\u01a1ng \u1ee9ng v\u1edbi vi\u1ec7c c\u1ea5p ph\u00e1t t\u00e0i nguy\u00ean, th\u1ef1c thi m\u00e3, v\u00e0 co gi\u00e3n t\u1ef1 \u0111\u1ed9ng).<\/p>\n<figure id=\"attachment_26564\" aria-describedby=\"caption-attachment-26564\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS.jpg\" alt=\"Functions as a service (FaaS)\" width=\"800\" height=\"420\" class=\"size-full wp-image-26564\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS.jpg 800w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-300x158.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-768x403.jpg 768w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-750x394.jpg 750w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-26564\" class=\"wp-caption-text\">Functions as a service (FaaS)<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Cach-hoat-dong-cua-mo-hinh-FaaS\"><\/span>C\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a m\u00f4 h\u00ecnh FaaS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>M\u00f4 h\u00ecnh FaaS ho\u1ea1t \u0111\u1ed9ng d\u1ef1a tr\u00ean vi\u1ec7c <strong>th\u1ef1c thi m\u00e3 ngu\u1ed3n (h\u00e0m) \u0111\u1ec3 ph\u1ea3n h\u1ed3i l\u1ea1i c\u00e1c s\u1ef1 ki\u1ec7n (events)<\/strong>. Khi m\u1ed9t s\u1ef1 ki\u1ec7n \u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh x\u1ea3y ra, n\u00f3 s\u1ebd k\u00edch ho\u1ea1t (trigger) h\u00e0m t\u01b0\u01a1ng \u1ee9ng ch\u1ea1y tr\u00ean c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng do nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y qu\u1ea3n l\u00fd ho\u00e0n to\u00e0n.<\/p>\n<p>H\u00e3y xem x\u00e9t quy tr\u00ecnh n\u00e0y: M\u1ecdi th\u1ee9 b\u1eaft \u0111\u1ea7u v\u1edbi m\u1ed9t <strong>s\u1ef1 ki\u1ec7n<\/strong>. \u0110\u00f3 c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t y\u00eau c\u1ea7u HTTP \u0111\u1ebfn API Gateway, m\u1ed9t t\u1ec7p \u1ea3nh m\u1edbi \u0111\u01b0\u1ee3c t\u1ea3i l\u00ean d\u1ecbch v\u1ee5 l\u01b0u tr\u1eef \u0111\u00e1m m\u00e2y nh\u01b0 AWS S3, ho\u1eb7c m\u1ed9t tin nh\u1eafn \u0111\u01b0\u1ee3c \u0111\u1ea9y v\u00e0o h\u00e0ng \u0111\u1ee3i (message queue).<\/p>\n<p><strong>Tr\u00ecnh k\u00edch ho\u1ea1t (trigger)<\/strong> \u0111\u01b0\u1ee3c c\u1ea5u h\u00ecnh s\u1eb5n s\u1ebd nh\u1eadn di\u1ec7n s\u1ef1 ki\u1ec7n n\u00e0y. Ngay l\u1eadp t\u1ee9c, n\u00f3 b\u00e1o cho n\u1ec1n t\u1ea3ng FaaS bi\u1ebft r\u1eb1ng c\u1ea7n ph\u1ea3i th\u1ef1c thi m\u1ed9t h\u00e0m c\u1ee5 th\u1ec3 \u0111\u00e3 \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi trigger \u0111\u00f3. \u0110\u00e2y l\u00e0 b\u01b0\u1edbc kh\u1edfi \u0111\u1ea7u cho vi\u1ec7c x\u1eed l\u00fd y\u00eau c\u1ea7u.<\/p>\n<p>\u0110i\u1ec1u k\u1ef3 di\u1ec7u n\u1eb1m \u1edf ch\u1ed7 <strong>nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y t\u1ef1 \u0111\u1ed9ng x\u1eed l\u00fd ph\u1ea7n h\u1ea1 t\u1ea7ng<\/strong>. H\u1ecd s\u1ebd t\u00ecm m\u1ed9t m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi (runtime) c\u00f3 s\u1eb5n ho\u1eb7c kh\u1edfi t\u1ea1o m\u1ed9t m\u00f4i tr\u01b0\u1eddng m\u1edbi, sau \u0111\u00f3 n\u1ea1p m\u00e3 ngu\u1ed3n h\u00e0m c\u1ee7a b\u1ea1n v\u00e0o \u0111\u00f3 \u0111\u1ec3 chu\u1ea9n b\u1ecb ch\u1ea1y, b\u1ea1n kh\u00f4ng c\u1ea7n can thi\u1ec7p.<\/p>\n<p>Cu\u1ed1i c\u00f9ng, <strong>m\u00e3 ngu\u1ed3n h\u00e0m c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c th\u1ef1c thi<\/strong> trong m\u00f4i tr\u01b0\u1eddng \u0111\u00f3. N\u00f3 x\u1eed l\u00fd th\u00f4ng tin t\u1eeb s\u1ef1 ki\u1ec7n \u0111\u1ea7u v\u00e0o v\u00e0 tr\u1ea3 v\u1ec1 k\u1ebft qu\u1ea3 ho\u1eb7c th\u1ef1c hi\u1ec7n t\u00e1c v\u1ee5. M\u1ed7i l\u1ea7n th\u1ef1c thi th\u01b0\u1eddng \u0111\u1ed9c l\u1eadp (phi tr\u1ea1ng th\u00e1i &#8211; stateless), kh\u00f4ng l\u01b0u l\u1ea1i d\u1eef li\u1ec7u t\u1eeb l\u1ea7n ch\u1ea1y tr\u01b0\u1edbc.<\/p>\n<p>N\u1ec1n t\u1ea3ng c\u0169ng <strong>t\u1ef1 \u0111\u1ed9ng co gi\u00e3n (auto-scaling)<\/strong> s\u1ed1 l\u01b0\u1ee3ng h\u00e0m ch\u1ea1y song song d\u1ef1a tr\u00ean l\u01b0\u1ee3ng s\u1ef1 ki\u1ec7n \u0111\u1ebfn. Ngh\u0129a l\u00e0 b\u1ea1n ch\u1ec9 tr\u1ea3 ti\u1ec1n cho th\u1eddi gian m\u00e3 th\u1ef1c s\u1ef1 ch\u1ea1y (pay-per-use), gi\u00fap t\u1ed1i \u01b0u chi ph\u00ed v\u1eadn h\u00e0nh m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-dac-diem-chinh-cua-Functions-as-a-service-FaaS\"><\/span>Nh\u1eefng \u0111\u1eb7c \u0111i\u1ec3m ch\u00ednh c\u1ee7a Functions as a service (FaaS)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Function as a Service (FaaS) s\u1edf h\u1eefu nh\u1eefng \u0111\u1eb7c \u0111i\u1ec3m r\u1ea5t ri\u00eang bi\u1ec7t, t\u1ea1o n\u00ean s\u1ef1 kh\u00e1c bi\u1ec7t so v\u1edbi c\u00e1c m\u00f4 h\u00ecnh \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y truy\u1ec1n th\u1ed1ng. Hi\u1ec3u r\u00f5 nh\u1eefng \u0111i\u1ec3m c\u1ed1t l\u00f5i n\u00e0y s\u1ebd gi\u00fap b\u1ea1n khai th\u00e1c t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh c\u1ee7a FaaS. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1c \u0111\u1eb7c \u0111i\u1ec3m ch\u00ednh:<\/p>\n<ul>\n<li><strong>Ho\u1ea1t \u0111\u1ed9ng d\u1ef1a tr\u00ean s\u1ef1 ki\u1ec7n (Event-Driven):<\/strong> \u0110i\u1ec3m m\u1ea5u ch\u1ed1t l\u00e0 c\u00e1c h\u00e0m FaaS kh\u00f4ng ch\u1ea1y li\u00ean t\u1ee5c. Ch\u00fang ch\u1ec9 \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t v\u00e0 th\u1ef1c thi khi c\u00f3 m\u1ed9t s\u1ef1 ki\u1ec7n (event) c\u1ee5 th\u1ec3 x\u1ea3y ra, v\u00ed d\u1ee5 nh\u01b0 m\u1ed9t y\u00eau c\u1ea7u API, m\u1ed9t t\u1ec7p \u0111\u01b0\u1ee3c t\u1ea3i l\u00ean, ho\u1eb7c m\u1ed9t th\u00f4ng b\u00e1o m\u1edbi.<\/li>\n<li><strong>Phi tr\u1ea1ng th\u00e1i theo m\u1eb7c \u0111\u1ecbnh (Stateless by Default):<\/strong> M\u1ed7i l\u1ea7n h\u00e0m th\u1ef1c thi th\u01b0\u1eddng \u0111\u01b0\u1ee3c xem l\u00e0 m\u1ed9t phi\u00ean l\u00e0m vi\u1ec7c \u0111\u1ed9c l\u1eadp, kh\u00f4ng l\u01b0u tr\u1eef th\u00f4ng tin hay tr\u1ea1ng th\u00e1i t\u1eeb nh\u1eefng l\u1ea7n th\u1ef1c thi tr\u01b0\u1edbc \u0111\u00f3. N\u1ebfu c\u1ea7n duy tr\u00ec tr\u1ea1ng th\u00e1i, b\u1ea1n ph\u1ea3i s\u1eed d\u1ee5ng c\u00e1c gi\u1ea3i ph\u00e1p l\u01b0u tr\u1eef b\u00ean ngo\u00e0i nh\u01b0 c\u01a1 s\u1edf d\u1eef li\u1ec7u.<\/li>\n<li><strong>Kh\u1ea3 n\u0103ng t\u1ef1 \u0111\u1ed9ng co gi\u00e3n c\u1ef1c t\u1ed1t (Automatic &amp; Granular Scaling):<\/strong> N\u1ec1n t\u1ea3ng FaaS s\u1ebd t\u1ef1 \u0111\u1ed9ng \u0111i\u1ec1u ch\u1ec9nh s\u1ed1 l\u01b0\u1ee3ng instance c\u1ee7a h\u00e0m ch\u1ea1y song song d\u1ef1a tr\u00ean l\u01b0u l\u01b0\u1ee3ng y\u00eau c\u1ea7u th\u1ef1c t\u1ebf, t\u1eeb con s\u1ed1 kh\u00f4ng \u0111\u1ebfn h\u00e0ng ng\u00e0n instance, m\u00e0 b\u1ea1n kh\u00f4ng c\u1ea7n can thi\u1ec7p th\u1ee7 c\u00f4ng.<\/li>\n<li><strong>Kh\u00f4ng c\u1ea7n qu\u1ea3n l\u00fd c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng (Fully Managed Infrastructure):<\/strong> \u0110\u00e2y l\u00e0 m\u1ed9t l\u1ee3i \u00edch l\u1edbn! B\u1ea1n ho\u00e0n to\u00e0n kh\u00f4ng ph\u1ea3i lo l\u1eafng v\u1ec1 m\u00e1y ch\u1ee7, h\u1ec7 \u0111i\u1ec1u h\u00e0nh, c\u1eadp nh\u1eadt b\u1ea3n v\u00e1 hay b\u1ea3o tr\u00ec. Nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y s\u1ebd qu\u1ea3n l\u00fd to\u00e0n b\u1ed9 ph\u1ea7n h\u1ea1 t\u1ea7ng ph\u1ee9c t\u1ea1p n\u00e0y.<\/li>\n<li><strong>Thanh to\u00e1n theo m\u1ee9c s\u1eed d\u1ee5ng th\u1ef1c t\u1ebf (Pay-per-Use Billing):<\/strong> B\u1ea1n ch\u1ec9 tr\u1ea3 ti\u1ec1n cho nh\u1eefng g\u00ec b\u1ea1n th\u1ef1c s\u1ef1 d\u00f9ng \u2013 c\u1ee5 th\u1ec3 l\u00e0 s\u1ed1 l\u1ea7n h\u00e0m \u0111\u01b0\u1ee3c g\u1ecdi v\u00e0 th\u1eddi gian th\u1ef1c thi (th\u01b0\u1eddng t\u00ednh b\u1eb1ng mili gi\u00e2y). Khi h\u00e0m kh\u00f4ng ch\u1ea1y, b\u1ea1n g\u1ea7n nh\u01b0 kh\u00f4ng t\u1ed1n chi ph\u00ed.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-uu-diem-cua-Functions-as-a-service-FaaS\"><\/span>Nh\u1eefng \u01b0u \u0111i\u1ec3m c\u1ee7a Functions as a service (FaaS)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Vi\u1ec7c \u1ee9ng d\u1ee5ng m\u00f4 h\u00ecnh Function as a Service (FaaS) mang \u0111\u1ebfn nhi\u1ec1u l\u1ee3i \u00edch thi\u1ebft th\u1ef1c v\u00e0 h\u1ea5p d\u1eabn, gi\u00fap c\u1ea3 nh\u00e0 ph\u00e1t tri\u1ec3n l\u1eabn doanh nghi\u1ec7p \u0111\u1ea1t \u0111\u01b0\u1ee3c hi\u1ec7u qu\u1ea3 cao h\u01a1n. Nh\u1eefng \u01b0u \u0111i\u1ec3m n\u00e0y b\u1eaft ngu\u1ed3n tr\u1ef1c ti\u1ebfp t\u1eeb c\u00e1ch th\u1ee9c ho\u1ea1t \u0111\u1ed9ng \u0111\u1ed9c \u0111\u00e1o c\u1ee7a FaaS:<\/p>\n<ul>\n<li><strong>T\u1ed1i \u01b0u chi ph\u00ed c\u1ef1c k\u1ef3 hi\u1ec7u qu\u1ea3 (Cost Efficiency):<\/strong> M\u1ed9t trong nh\u1eefng \u0111i\u1ec3m s\u00e1ng gi\u00e1 nh\u1ea5t! V\u1edbi m\u00f4 h\u00ecnh thanh to\u00e1n theo m\u1ee9c s\u1eed d\u1ee5ng th\u1ef1c t\u1ebf (pay-per-use), b\u1ea1n ch\u1ec9 tr\u1ea3 ti\u1ec1n khi m\u00e3 ngu\u1ed3n c\u1ee7a m\u00ecnh ch\u1ea1y. Kh\u00f4ng c\u00f2n chi ph\u00ed cho m\u00e1y ch\u1ee7 nh\u00e0n r\u1ed7i, r\u1ea5t l\u00fd t\u01b0\u1edfng cho c\u00e1c \u1ee9ng d\u1ee5ng c\u00f3 l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp bi\u1ebfn \u0111\u1ed5i.<\/li>\n<li><strong>Kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng t\u1ef1 \u0111\u1ed9ng tuy\u1ec7t v\u1eddi (Excellent Automatic Scalability):<\/strong> FaaS c\u00f3 th\u1ec3 t\u1ef1 \u0111\u1ed9ng t\u0103ng ho\u1eb7c gi\u1ea3m quy m\u00f4 t\u00e0i nguy\u00ean g\u1ea7n nh\u01b0 t\u1ee9c th\u00ec \u0111\u1ec3 \u0111\u00e1p \u1ee9ng m\u1ecdi m\u1ee9c \u0111\u1ed9 t\u1ea3i, t\u1eeb v\u00e0i y\u00eau c\u1ea7u \u0111\u1ebfn h\u00e0ng tri\u1ec7u y\u00eau c\u1ea7u m\u1ed7i ng\u00e0y. B\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i d\u1ef1 \u0111o\u00e1n hay c\u1ea5u h\u00ecnh th\u1ee7 c\u00f4ng vi\u1ec7c m\u1edf r\u1ed9ng n\u00e0y.<\/li>\n<li><strong>Gi\u1ea3m \u0111\u00e1ng k\u1ec3 g\u00e1nh n\u1eb7ng v\u1eadn h\u00e0nh (Reduced Operational Overhead):<\/strong> H\u00e3y qu\u00ean \u0111i vi\u1ec7c qu\u1ea3n l\u00fd m\u00e1y ch\u1ee7, c\u1eadp nh\u1eadt h\u1ec7 \u0111i\u1ec1u h\u00e0nh hay v\u00e1 l\u1ed7i b\u1ea3o m\u1eadt. Nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y s\u1ebd lo h\u1ebft! \u0110i\u1ec1u n\u00e0y gi\u1ea3i ph\u00f3ng th\u1eddi gian v\u00e0 ngu\u1ed3n l\u1ef1c qu\u00fd b\u00e1u c\u1ee7a \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt.<\/li>\n<li><strong>\u0110\u1ea9y nhanh t\u1ed1c \u0111\u1ed9 ph\u00e1t tri\u1ec3n v\u00e0 tri\u1ec3n khai (Faster Development &amp; Deployment):<\/strong> Khi kh\u00f4ng c\u00f2n b\u1eadn t\u00e2m v\u1ec1 h\u1ea1 t\u1ea7ng, l\u1eadp tr\u00ecnh vi\u00ean c\u00f3 th\u1ec3 t\u1eadp trung ho\u00e0n to\u00e0n v\u00e0o vi\u1ec7c vi\u1ebft m\u00e3 v\u00e0 th\u1eed nghi\u1ec7m t\u00ednh n\u0103ng m\u1edbi. Vi\u1ec7c tri\u1ec3n khai m\u1ed9t h\u00e0m FaaS c\u0169ng th\u01b0\u1eddng \u0111\u01a1n gi\u1ea3n h\u01a1n, gi\u00fap \u0111\u01b0a s\u1ea3n ph\u1ea9m ra th\u1ecb tr\u01b0\u1eddng nhanh h\u01a1n.<\/li>\n<li><strong>T\u1eadp trung ngu\u1ed3n l\u1ef1c v\u00e0o logic nghi\u1ec7p v\u1ee5 c\u1ed1t l\u00f5i (Focus on Core Business Logic):<\/strong> Thay v\u00ec &#8220;nu\u00f4i&#8221; h\u1ea1 t\u1ea7ng, \u0111\u1ed9i ng\u0169 c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 d\u00e0nh tr\u1ecdn t\u00e2m huy\u1ebft \u0111\u1ec3 x\u00e2y d\u1ef1ng nh\u1eefng t\u00ednh n\u0103ng \u0111\u1ed9c \u0111\u00e1o, mang l\u1ea1i gi\u00e1 tr\u1ecb th\u1ef1c s\u1ef1 cho ng\u01b0\u1eddi d\u00f9ng v\u00e0 doanh nghi\u1ec7p. \u0110\u00e2y l\u00e0 l\u1ee3i th\u1ebf c\u1ea1nh tranh kh\u00f4ng nh\u1ecf.<\/li>\n<\/ul>\n<figure id=\"attachment_26563\" aria-describedby=\"caption-attachment-26563\" style=\"width: 800px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-01.jpg\" alt=\"Functions as a service (FaaS)\" width=\"800\" height=\"560\" class=\"size-full wp-image-26563\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-01.jpg 800w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-01-300x210.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-01-768x538.jpg 768w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2024\/09\/Functions-as-a-service-FaaS-01-750x525.jpg 750w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-26563\" class=\"wp-caption-text\">Functions as a service (FaaS)<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-nhuoc-diem-cua-Functions-as-a-service-FaaS\"><\/span>Nh\u1eefng nh\u01b0\u1ee3c \u0111i\u1ec3m c\u1ee7a Functions as a service (FaaS)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>M\u1eb7c d\u00f9 Function as a Service (FaaS) r\u1ea5t m\u1ea1nh m\u1ebd v\u00e0 linh ho\u1ea1t, ch\u00fang ta c\u0169ng c\u1ea7n nh\u00ecn nh\u1eadn m\u1ed9t c\u00e1ch th\u1ef1c t\u1ebf v\u1ec1 nh\u1eefng h\u1ea1n ch\u1ebf v\u00e0 th\u00e1ch th\u1ee9c \u0111i k\u00e8m. Vi\u1ec7c hi\u1ec3u r\u00f5 c\u00e1c nh\u01b0\u1ee3c \u0111i\u1ec3m n\u00e0y s\u1ebd gi\u00fap b\u1ea1n \u0111\u00e1nh gi\u00e1 li\u1ec7u FaaS c\u00f3 ph\u1ea3i l\u00e0 l\u1ef1a ch\u1ecdn t\u1ed1i \u01b0u cho d\u1ef1 \u00e1n c\u1ee7a m\u00ecnh hay kh\u00f4ng:<\/p>\n<ul>\n<li><strong>Hi\u1ec7n t\u01b0\u1ee3ng &#8220;Kh\u1edfi \u0111\u1ed9ng l\u1ea1nh&#8221; (Cold Starts):<\/strong> M\u1ed9t th\u00e1ch th\u1ee9c c\u1ea7n l\u01b0u \u00fd l\u00e0 \u0111\u1ed9 tr\u1ec5 c\u00f3 th\u1ec3 x\u1ea3y ra khi m\u1ed9t h\u00e0m \u0111\u01b0\u1ee3c g\u1ecdi l\u1ea7n \u0111\u1ea7u ti\u00ean sau m\u1ed9t th\u1eddi gian kh\u00f4ng ho\u1ea1t \u0111\u1ed9ng. Kho\u1ea3ng th\u1eddi gian ch\u1edd n\u00e0y (cold start) c\u00f3 th\u1ec3 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn tr\u1ea3i nghi\u1ec7m ng\u01b0\u1eddi d\u00f9ng \u0111\u1ed1i v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng y\u00eau c\u1ea7u ph\u1ea3n h\u1ed3i t\u1ee9c th\u00ec.<\/li>\n<li><strong>Kh\u1ea3 n\u0103ng ph\u1ee5 thu\u1ed9c v\u00e0o nh\u00e0 cung c\u1ea5p (Vendor Lock-in):<\/strong> Vi\u1ec7c chuy\u1ec3n \u0111\u1ed5i \u1ee9ng d\u1ee5ng FaaS gi\u1eefa c\u00e1c nh\u00e0 cung c\u1ea5p \u0111\u00e1m m\u00e2y kh\u00e1c nhau (nh\u01b0 AWS, Azure, Google Cloud) c\u00f3 th\u1ec3 kh\u00e1 ph\u1ee9c t\u1ea1p. L\u00fd do l\u00e0 c\u00e1c API, c\u00e1ch c\u1ea5u h\u00ecnh trigger v\u00e0 d\u1ecbch v\u1ee5 t\u00edch h\u1ee3p th\u01b0\u1eddng kh\u00f4ng t\u01b0\u01a1ng th\u00edch ho\u00e0n to\u00e0n v\u1edbi nhau.<\/li>\n<li><strong>C\u00e1c gi\u1edbi h\u1ea1n v\u1ec1 t\u00e0i nguy\u00ean v\u00e0 th\u1eddi gian th\u1ef1c thi (Resource &amp; Execution Limits):<\/strong> C\u00e1c n\u1ec1n t\u1ea3ng FaaS th\u01b0\u1eddng \u0111\u1eb7t ra gi\u1edbi h\u1ea1n v\u1ec1 th\u1eddi gian t\u1ed1i \u0111a cho m\u1ed9t l\u1ea7n th\u1ef1c thi h\u00e0m (v\u00ed d\u1ee5: 15 ph\u00fat), dung l\u01b0\u1ee3ng b\u1ed9 nh\u1edb \u0111\u01b0\u1ee3c ph\u00e9p s\u1eed d\u1ee5ng, v.v. \u0110i\u1ec1u n\u00e0y l\u00e0m cho FaaS kh\u00f4ng ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c t\u00e1c v\u1ee5 c\u1ea7n ch\u1ea1y li\u00ean t\u1ee5c ho\u1eb7c x\u1eed l\u00fd r\u1ea5t l\u00e2u.<\/li>\n<li><strong>Th\u00e1ch th\u1ee9c trong qu\u1ea3n l\u00fd tr\u1ea1ng th\u00e1i (Statelessness Challenges):<\/strong> V\u00ec c\u00e1c h\u00e0m FaaS m\u1eb7c \u0111\u1ecbnh l\u00e0 phi tr\u1ea1ng th\u00e1i, vi\u1ec7c duy tr\u00ec d\u1eef li\u1ec7u ho\u1eb7c tr\u1ea1ng th\u00e1i gi\u1eefa c\u00e1c l\u1ea7n g\u1ecdi \u0111\u00f2i h\u1ecfi ph\u1ea3i s\u1eed d\u1ee5ng c\u00e1c d\u1ecbch v\u1ee5 b\u00ean ngo\u00e0i (nh\u01b0 c\u01a1 s\u1edf d\u1eef li\u1ec7u, b\u1ed9 nh\u1edb \u0111\u1ec7m). \u0110i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 l\u00e0m t\u0103ng th\u00eam \u0111\u1ed9 ph\u1ee9c t\u1ea1p cho ki\u1ebfn tr\u00fac t\u1ed5ng th\u1ec3.<\/li>\n<li><strong>Kh\u00f3 kh\u0103n trong g\u1ee1 l\u1ed7i v\u00e0 gi\u00e1m s\u00e1t (Debugging &amp; Monitoring Complexity):<\/strong> Vi\u1ec7c theo d\u00f5i lu\u1ed3ng ho\u1ea1t \u0111\u1ed9ng v\u00e0 t\u00ecm ki\u1ebfm l\u1ed7i trong m\u1ed9t h\u1ec7 th\u1ed1ng ph\u00e2n t\u00e1n g\u1ed3m nhi\u1ec1u h\u00e0m v\u00e0 d\u1ecbch v\u1ee5 \u0111\u00f4i khi ph\u1ee9c t\u1ea1p h\u01a1n so v\u1edbi m\u1ed9t \u1ee9ng d\u1ee5ng nguy\u00ean kh\u1ed1i truy\u1ec1n th\u1ed1ng. B\u1ea1n c\u1ea7n c\u00e1c c\u00f4ng c\u1ee5 gi\u00e1m s\u00e1t ph\u00f9 h\u1ee3p.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"So-sanh-FaaS-voi-cac-mo-hinh-khac\"><\/span>So s\u00e1nh FaaS v\u1edbi c\u00e1c m\u00f4 h\u00ecnh kh\u00e1c<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 l\u1ef1a ch\u1ecdn c\u00f4ng ngh\u1ec7 ph\u00f9 h\u1ee3p nh\u1ea5t cho d\u1ef1 \u00e1n, vi\u1ec7c hi\u1ec3u r\u00f5 v\u1ecb tr\u00ed v\u00e0 s\u1ef1 kh\u00e1c bi\u1ec7t c\u1ee7a FaaS so v\u1edbi c\u00e1c m\u00f4 h\u00ecnh \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y kh\u00e1c l\u00e0 v\u00f4 c\u00f9ng quan tr\u1ecdng. M\u1ed7i m\u00f4 h\u00ecnh cung c\u1ea5p m\u1ed9t m\u1ee9c \u0111\u1ed9 tr\u1eebu t\u01b0\u1ee3ng h\u00f3a v\u00e0 y\u00eau c\u1ea7u tr\u00e1ch nhi\u1ec7m qu\u1ea3n l\u00fd kh\u00e1c nhau.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"FaaS-va-Serverless\"><\/span>FaaS v\u00e0 Serverless<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ed1i quan h\u1ec7 n\u00e0y c\u1ea7n \u0111\u01b0\u1ee3c l\u00e0m r\u00f5: FaaS l\u00e0 <strong>m\u1ed9t th\u00e0nh ph\u1ea7n c\u1ed1t l\u00f5i<\/strong> c\u1ee7a Serverless, nh\u01b0ng kh\u00f4ng ph\u1ea3i l\u00e0 to\u00e0n b\u1ed9 Serverless. Serverless l\u00e0 m\u1ed9t kh\u00e1i ni\u1ec7m r\u1ed9ng h\u01a1n, bao g\u1ed3m c\u1ea3 FaaS l\u1eabn c\u00e1c d\u1ecbch v\u1ee5 backend kh\u00f4ng c\u1ea7n qu\u1ea3n l\u00fd m\u00e1y ch\u1ee7 kh\u00e1c nh\u01b0 BaaS hay c\u01a1 s\u1edf d\u1eef li\u1ec7u serverless.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"FaaS-va-PaaS-Platform-as-a-Service\"><\/span>FaaS v\u00e0 PaaS (Platform as a Service)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>PaaS cung c\u1ea5p m\u1ed9t n\u1ec1n t\u1ea3ng ho\u00e0n ch\u1ec9nh h\u01a1n (runtime, middleware, OS), b\u1ea1n t\u1eadp trung v\u00e0o vi\u1ec7c <strong>tri\u1ec3n khai v\u00e0 qu\u1ea3n l\u00fd \u1ee9ng d\u1ee5ng<\/strong> c\u1ee7a m\u00ecnh. Trong khi \u0111\u00f3, FaaS \u0111\u01b0a m\u1ee9c \u0111\u1ed9 tr\u1eebu t\u01b0\u1ee3ng l\u00ean cao h\u01a1n n\u1eefa, b\u1ea1n ch\u1ec9 c\u1ea7n quan t\u00e2m \u0111\u1ebfn m\u00e3 ngu\u1ed3n c\u1ee7a t\u1eebng h\u00e0m (function code) ri\u00eang l\u1ebb.<\/p>\n<p>V\u1edbi PaaS, b\u1ea1n c\u00f3 <strong>nhi\u1ec1u quy\u1ec1n ki\u1ec3m so\u00e1t h\u01a1n<\/strong> \u0111\u1ed1i v\u1edbi m\u00f4i tr\u01b0\u1eddng ch\u1ea1y \u1ee9ng d\u1ee5ng. Ng\u01b0\u1ee3c l\u1ea1i, FaaS \u1ea9n \u0111i h\u1ea7u h\u1ebft chi ti\u1ebft h\u1ea1 t\u1ea7ng, mang l\u1ea1i s\u1ef1 \u0111\u01a1n gi\u1ea3n t\u1ed1i \u0111a nh\u01b0ng c\u00f3 th\u1ec3 k\u00e9m linh ho\u1ea1t h\u01a1n trong vi\u1ec7c t\u00f9y ch\u1ec9nh s\u00e2u m\u00f4i tr\u01b0\u1eddng th\u1ef1c thi so v\u1edbi PaaS.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"FaaS-va-IaaS-Infrastructure-as-a-Service\"><\/span>FaaS v\u00e0 IaaS (Infrastructure as a Service)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>IaaS cung c\u1ea5p c\u00e1c kh\u1ed1i h\u1ea1 t\u1ea7ng c\u01a1 b\u1ea3n nh\u1ea5t nh\u01b0 m\u00e1y \u1ea3o, l\u01b0u tr\u1eef, m\u1ea1ng. B\u1ea1n ph\u1ea3i <strong>t\u1ef1 qu\u1ea3n l\u00fd m\u1ecdi th\u1ee9<\/strong> t\u1eeb h\u1ec7 \u0111i\u1ec1u h\u00e0nh, middleware cho \u0111\u1ebfn \u1ee9ng d\u1ee5ng. FaaS n\u1eb1m \u1edf th\u00e1i c\u1ef1c ho\u00e0n to\u00e0n \u0111\u1ed1i l\u1eadp, b\u1ea1n g\u1ea7n nh\u01b0 kh\u00f4ng ph\u1ea3i qu\u1ea3n l\u00fd b\u1ea5t k\u1ef3 l\u1edbp h\u1ea1 t\u1ea7ng n\u00e0o.<\/p>\n<p>H\u00e3y h\u00ecnh dung IaaS nh\u01b0 vi\u1ec7c b\u1ea1n thu\u00ea \u0111\u1ea5t v\u00e0 t\u1ef1 x\u00e2y nh\u00e0 t\u1eeb m\u00f3ng \u0111\u1ebfn m\u00e1i. C\u00f2n FaaS gi\u1ed1ng nh\u01b0 b\u1ea1n ch\u1ec9 c\u1ea7n mang \u0111\u1ed3 \u0111\u1ea1c (code) v\u00e0o m\u1ed9t c\u0103n ph\u00f2ng d\u1ecbch v\u1ee5 \u0111\u00e3 c\u00f3 s\u1eb5n m\u1ecdi th\u1ee9, t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c d\u1ecdn d\u1eb9p v\u00e0 m\u1edf r\u1ed9ng khi c\u1ea7n thi\u1ebft.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"FaaS-va-Containers\"><\/span>FaaS v\u00e0 Containers<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Containers (nh\u01b0 Docker) gi\u00fap <strong>\u0111\u00f3ng g\u00f3i \u1ee9ng d\u1ee5ng c\u00f9ng c\u00e1c th\u01b0 vi\u1ec7n ph\u1ee5 thu\u1ed9c<\/strong>, \u0111\u1ea3m b\u1ea3o ch\u1ea1y nh\u1ea5t qu\u00e1n tr\u00ean nhi\u1ec1u m\u00f4i tr\u01b0\u1eddng. Tuy nhi\u00ean, b\u1ea1n v\u1eabn th\u01b0\u1eddng c\u1ea7n m\u1ed9t h\u1ec7 th\u1ed1ng \u0111i\u1ec1u ph\u1ed1i (orchestration) nh\u01b0 Kubernetes \u0111\u1ec3 qu\u1ea3n l\u00fd, scale v\u00e0 v\u1eadn h\u00e0nh c\u00e1c container n\u00e0y.<\/p>\n<p>FaaS ti\u1ebfn th\u00eam m\u1ed9t b\u01b0\u1edbc, <strong>tr\u1eebu t\u01b0\u1ee3ng h\u00f3a c\u1ea3 vi\u1ec7c \u0111\u00f3ng g\u00f3i l\u1eabn \u0111i\u1ec1u ph\u1ed1i<\/strong>. B\u1ea1n ch\u1ec9 c\u1ea7n cung c\u1ea5p m\u00e3 ngu\u1ed3n h\u00e0m, n\u1ec1n t\u1ea3ng FaaS lo ph\u1ea7n c\u00f2n l\u1ea1i. Vi\u1ec7c co gi\u00e3n trong FaaS th\u01b0\u1eddng di\u1ec5n ra t\u1ef1 \u0111\u1ed9ng v\u00e0 chi ti\u1ebft h\u01a1n \u1edf c\u1ea5p \u0111\u1ed9 t\u1eebng h\u00e0m so v\u1edbi vi\u1ec7c scale container.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nhung-truong-hop-su-dung-FaaS-pho-bien\"><\/span>Nh\u1eefng tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng FaaS ph\u1ed5 bi\u1ebfn<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nh\u1edd t\u00ednh linh ho\u1ea1t, kh\u1ea3 n\u0103ng co gi\u00e3n t\u1ee9c th\u1eddi v\u00e0 m\u00f4 h\u00ecnh chi ph\u00ed t\u1ed1i \u01b0u, Function as a Service (FaaS) \u0111\u00e3 tr\u1edf th\u00e0nh m\u1ed9t c\u00f4ng c\u1ee5 c\u1ef1c k\u1ef3 h\u1eefu \u00edch trong nhi\u1ec1u k\u1ecbch b\u1ea3n \u1ee9ng d\u1ee5ng th\u1ef1c t\u1ebf. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 nh\u1eefng tr\u01b0\u1eddng h\u1ee3p m\u00e0 FaaS th\u1ef1c s\u1ef1 t\u1ecfa s\u00e1ng:<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Backend-cho-ung-dung-web-va-di-dong-WebMobile-App-Backends\"><\/span>Backend cho \u1ee9ng d\u1ee5ng web v\u00e0 di \u0111\u1ed9ng (Web\/Mobile App Backends)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>FaaS r\u1ea5t l\u00fd t\u01b0\u1edfng \u0111\u1ec3 x\u00e2y d\u1ef1ng c\u00e1c API (Application Programming Interfaces) cho \u1ee9ng d\u1ee5ng. M\u1ed7i h\u00e0m x\u1eed l\u00fd m\u1ed9t endpoint c\u1ee5 th\u1ec3, v\u00ed d\u1ee5 nh\u01b0 \u0111\u0103ng nh\u1eadp ng\u01b0\u1eddi d\u00f9ng hay l\u1ea5y d\u1eef li\u1ec7u s\u1ea3n ph\u1ea9m. M\u00f4 h\u00ecnh n\u00e0y ph\u00f9 h\u1ee3p v\u1edbi ki\u1ebfn tr\u00fac microservices v\u00e0 t\u1ef1 \u0111\u1ed9ng co gi\u00e3n theo l\u01b0\u1ee3ng ng\u01b0\u1eddi d\u00f9ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Xu-ly-du-lieu-thoi-gian-thuc-Real-time-Data-Processing\"><\/span>X\u1eed l\u00fd d\u1eef li\u1ec7u th\u1eddi gian th\u1ef1c (Real-time Data Processing)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C\u00e1c h\u00e0m FaaS c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t ngay khi c\u00f3 d\u1eef li\u1ec7u m\u1edbi, v\u00ed d\u1ee5 t\u1eeb thi\u1ebft b\u1ecb IoT, log ng\u01b0\u1eddi d\u00f9ng, ho\u1eb7c giao d\u1ecbch t\u00e0i ch\u00ednh. Ch\u00fang th\u1ef1c hi\u1ec7n x\u1eed l\u00fd, ph\u00e2n t\u00edch, ho\u1eb7c chuy\u1ec3n \u0111\u1ed5i d\u1eef li\u1ec7u g\u1ea7n nh\u01b0 t\u1ee9c th\u00ec, \u0111\u00e1p \u1ee9ng nhu c\u1ea7u th\u00f4ng tin nhanh ch\u00f3ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tac-vu-theo-lich-trinh-Scheduled-Tasks-Cron-Jobs\"><\/span>T\u00e1c v\u1ee5 theo l\u1ecbch tr\u00ecnh (Scheduled Tasks \/ Cron Jobs)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Thay v\u00ec duy tr\u00ec m\u1ed9t m\u00e1y ch\u1ee7 ch\u1ec9 \u0111\u1ec3 ch\u1ea1y c\u00e1c t\u00e1c v\u1ee5 \u0111\u1ecbnh k\u1ef3, b\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng FaaS. C\u00e1c h\u00e0m \u0111\u01b0\u1ee3c l\u00ean l\u1ecbch ch\u1ea1y t\u1ef1 \u0111\u1ed9ng (h\u00e0ng gi\u1edd, h\u00e0ng ng\u00e0y) \u0111\u1ec3 t\u1ea1o b\u00e1o c\u00e1o, g\u1eedi email h\u00e0ng lo\u1ea1t, ho\u1eb7c d\u1ecdn d\u1eb9p d\u1eef li\u1ec7u m\u00e0 kh\u00f4ng t\u1ed1n chi ph\u00ed khi kh\u00f4ng ch\u1ea1y.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Chatbots-va-tro-ly-ao\"><\/span>Chatbots v\u00e0 tr\u1ee3 l\u00fd \u1ea3o<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>FaaS cung c\u1ea5p n\u1ec1n t\u1ea3ng backend linh ho\u1ea1t cho logic c\u1ee7a chatbot. M\u1ed7i h\u00e0m c\u00f3 th\u1ec3 \u0111\u1ea3m nh\u1eadn vi\u1ec7c x\u1eed l\u00fd m\u1ed9t \u00fd \u0111\u1ecbnh (intent) ho\u1eb7c l\u1ec7nh c\u1ee5 th\u1ec3 t\u1eeb ng\u01b0\u1eddi d\u00f9ng, d\u1ec5 d\u00e0ng t\u00edch h\u1ee3p v\u1edbi c\u00e1c d\u1ecbch v\u1ee5 x\u1eed l\u00fd ng\u00f4n ng\u1eef t\u1ef1 nhi\u00ean (NLP) v\u00e0 co gi\u00e3n khi l\u01b0\u1ee3ng t\u01b0\u01a1ng t\u00e1c t\u0103ng cao.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Tu-dong-hoa-IT-IT-Automation\"><\/span>T\u1ef1 \u0111\u1ed9ng h\u00f3a IT (IT Automation)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>S\u1eed d\u1ee5ng FaaS \u0111\u1ec3 t\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00e1c t\u00e1c v\u1ee5 v\u1eadn h\u00e0nh IT l\u1eb7p \u0111i l\u1eb7p l\u1ea1i. C\u00e1c h\u00e0m c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t b\u1edfi s\u1ef1 ki\u1ec7n h\u1ea1 t\u1ea7ng (nh\u01b0 c\u1ea3nh b\u00e1o gi\u00e1m s\u00e1t) \u0111\u1ec3 th\u1ef1c hi\u1ec7n h\u00e0nh \u0111\u1ed9ng nh\u01b0 kh\u1edfi \u0111\u1ed9ng\/d\u1eebng m\u00e1y \u1ea3o, sao l\u01b0u d\u1eef li\u1ec7u, hay ki\u1ec3m tra c\u1ea5u h\u00ecnh b\u1ea3o m\u1eadt.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Xu-ly-da-phuong-tien-Media-Processing\"><\/span>X\u1eed l\u00fd \u0111a ph\u01b0\u01a1ng ti\u1ec7n (Media Processing)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Khi ng\u01b0\u1eddi d\u00f9ng t\u1ea3i l\u00ean h\u00ecnh \u1ea3nh ho\u1eb7c video, s\u1ef1 ki\u1ec7n n\u00e0y c\u00f3 th\u1ec3 k\u00edch ho\u1ea1t h\u00e0m FaaS. H\u00e0m s\u1ebd t\u1ef1 \u0111\u1ed9ng th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 nh\u01b0 thay \u0111\u1ed5i k\u00edch th\u01b0\u1edbc \u1ea3nh cho ph\u00f9 h\u1ee3p v\u1edbi web\/mobile, chuy\u1ec3n m\u00e3 (transcode) video sang \u0111\u1ecbnh d\u1ea1ng kh\u00e1c, ho\u1eb7c tr\u00edch xu\u1ea5t th\u00f4ng tin metadata.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Xac-thuc-va-uy-quyen-Authentication-Authorization\"><\/span>X\u00e1c th\u1ef1c v\u00e0 \u1ee7y quy\u1ec1n (Authentication &amp; Authorization)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>B\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng FaaS \u0111\u1ec3 x\u00e2y d\u1ef1ng logic x\u00e1c th\u1ef1c v\u00e0 ph\u00e2n quy\u1ec1n t\u00f9y ch\u1ec9nh cho c\u00e1c API ho\u1eb7c microservices. H\u00e0m FaaS c\u00f3 th\u1ec3 t\u00edch h\u1ee3p v\u1edbi nh\u00e0 cung c\u1ea5p danh t\u00ednh (identity providers) ho\u1eb7c ki\u1ec3m tra t\u00ednh h\u1ee3p l\u1ec7 c\u1ee7a token\/API key m\u1ed9t c\u00e1ch t\u1eadp trung v\u00e0 hi\u1ec7u qu\u1ea3.<\/p>\n<div style=\"background-color: #e6f2ff; border-radius: 10px; padding: 20px; margin: 20px 0; border: 1px solid #b3d9ff;\">\n<p>N\u1ebfu b\u1ea1n \u0111ang t\u00ecm ki\u1ebfm gi\u1ea3i ph\u00e1p l\u01b0u tr\u1eef m\u1ea1nh m\u1ebd cho c\u00e1c \u1ee9ng d\u1ee5ng FaaS, d\u1ecbch v\u1ee5 <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/interdata.vn\/cloud-server\/\">thu\u00ea Cloud Server gi\u00e1 r\u1ebb<\/a> c\u1ee7a InterData l\u00e0 l\u1ef1a ch\u1ecdn l\u00fd t\u01b0\u1edfng. M\u00e1y ch\u1ee7 s\u1eed d\u1ee5ng b\u1ed9 vi x\u1eed l\u00fd AMD EPYC Gen 3 t\u1ed1c \u0111\u1ed9 2.4GHz &#8211; 3.5GHz, l\u01b0u tr\u1eef NVMe U.2 Gen 4, b\u0103ng th\u00f4ng l\u1edbn v\u1edbi c\u1ed5ng m\u1ea1ng 10Gbps, \u0111\u1ea3m b\u1ea3o hi\u1ec7u su\u1ea5t v\u01b0\u1ee3t tr\u1ed9i v\u00e0 \u0111\u1ed9 \u1ed5n \u0111\u1ecbnh cao. Giao di\u1ec7n qu\u1ea3n tr\u1ecb th\u00e2n thi\u1ec7n, h\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt 24\/7, gi\u00fap b\u1ea1n d\u1ec5 d\u00e0ng tri\u1ec3n khai v\u00e0 qu\u1ea3n l\u00fd h\u1ec7 th\u1ed1ng. Li\u00ean h\u1ec7 ngay v\u1edbi InterData \u0111\u1ec3 \u0111\u01b0\u1ee3c t\u01b0 v\u1ea5n v\u00e0 tr\u1ea3i nghi\u1ec7m d\u1ecbch v\u1ee5 ch\u1ea5t l\u01b0\u1ee3ng.\u200b<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Functions as a Service (FaaS) \u0111ang tr\u1edf th\u00e0nh m\u1ed9t gi\u1ea3i ph\u00e1p \u0111\u1ed9t ph\u00e1 trong \u0111i\u1ec7n to\u00e1n \u0111\u00e1m m\u00e2y, gi\u00fap doanh nghi\u1ec7p tri\u1ec3n khai v\u00e0 ch\u1ea1y m\u00e3 ngu\u1ed3n m\u00e0 kh\u00f4ng c\u1ea7n qu\u1ea3n l\u00fd h\u1ea1 t\u1ea7ng. M\u00f4 h\u00ecnh n\u00e0y ho\u1ea1t \u0111\u1ed9ng theo ki\u1ebfn tr\u00fac serverless, mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch v\u1ec1 chi ph\u00ed, hi\u1ec7u su\u1ea5t v\u00e0 kh\u1ea3<\/p>\n","protected":false},"author":2,"featured_media":26564,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48],"tags":[],"class_list":["post-17722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-server"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/17722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=17722"}],"version-history":[{"count":1,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/17722\/revisions"}],"predecessor-version":[{"id":26565,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/17722\/revisions\/26565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/26564"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=17722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=17722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=17722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}