Энэ нь сервер байхгүй гэсэн үг биш учраас сервергүй гэж юу болохыг ойлгох нь маш чухал юм.
Үнэндээ хөгжүүлэгчийн хувьд та серверийн талаар ямар ч арын дэвсгэр дээр урвуулдаггүй. Хөгжүүлэгчийн боловсруулсан кодыг хаа нэг газар ажиллуулах шаардлагатай байдаг тул дандаа сервер ажиллаж байдаг.
Ялгаа нь гэвэл хэрэв та хөгжүүлэгч бол сервер байгуулах, засвар үйлчилгээ хийх, байршуулах, сервертэй холбоотой код бичих талаар санаа зовох хэрэггүй болно.
Та эдгээрийн алинд нь ч хариуцлага хүлээхээ больсон тул санаа зовох хэрэггүй.
Та дэд бүтцэд бус харин хөгжүүлэгчийн хувьд кодыг хөгжүүлэхэд анхаарлаа хандуулах ёстой.
Сервергүй хүрээ
Үүлэнд суурилсан програмуудыг хөгжүүлэх, ашиглах арга нь сервергүй байдаг. Үүлний дэд бүтцийг хөгжүүлэгчид бус үүлэн үйлчилгээ үзүүлэгч хариуцдаг.
Тэд зүгээр л хэрэглээнд тулгуурлан нийлбэрийг төлөхийг шаарддаг.
Сервергүй систем нь танд маш их хэмжээний зардал гаргахын зэрэгцээ өөрөө асар том хэмжээний үйлчилгээ үзүүлэх программ үүсгэх боломжийг олгодог платформ бөгөөд одоо танд ийм програмуудыг удирдахад туслах хяналт, туршилт, хамгаалалтын хэрэгслүүдийг багтаасан болно.
Одоо янз бүрийн сервергүй хүрээний төрлүүдийг нарийвчлан авч үзье.
1. Сервергүй
Та домэйн нэрийг хамгаалах азтай хүн гэж бодож байж магадгүй юм Serverless.com зүгээр л тэдний аз завшааныг мөнгө болгож байгаа боловч энэ нь тийм биш гэдгийг би танд хэлэх ёстой.
Хамгийн алдартай сервергүй хүрээ бол 43,000 гаруй одтой Сервергүй Framework юм. GitHub.
Хамгийн алдартай сервергүй хүрээ бол AWS Lambda-д зориулсан программыг хөгжүүлэгчдэд бий болгоход туслах зорилгоор анх бүтээгдсэн сервергүй систем юм.
Lambda болон бусад FaaS платформуудын тусламжтайгаар сервергүй програмуудыг хурдан зохион бүтээх, байршуулах, удирдах боломжийг танд олгоно. Kubeless болон Apache OpenWhisk-ээс гадна Azure Functions, Google Cloud Functions гэх мэтийг дэмждэг.
Өгөгдсөн функцууд болон үйл явдлуудад шаардлагатай дэд бүтцийг Сервергүй Framework автоматаар үүсгэнэ.
Үүний үр дүнд та эрэлт хэрэгцээнд тулгуурлан өөрийгөө өргөжүүлэх цогц, үйл явдалд тулгуурласан программууд эсвэл микро үйлчилгээг бий болгож чадна.
Нэмж дурдахад, энэ нь үйлчилгээ үзүүлэгчээс хамааралгүй тул та Google Cloud, Azure, AWS гэх мэт олон төрлийн үүлэн дээр програмуудыг багцалж, байршуулах боломжтой.
Нэмж дурдахад, та залгаасуудыг ашиглан хүрээний функцийг өөрчлөх замаар түүний хэрэглээний тохиолдлыг өргөжүүлж болно.
Одоогоор хамрагдаагүй хэрэглээний тохиолдлуудыг хөгжүүлэхийн тулд Serverless нь нэмэлт өргөтгөлүүдийн өргөн экосистемийг санал болгодог.
2. AWS Чарли
Та сервергүй програм үүсгэх Python хүрээ хайж байна уу?
AWS Chalice бол Python юм сервергүй програм хөгжүүлэх платформ Энэ бол Python сонирхогчдод зориулсан төсөл юм.
Энэ нь AWS Lambda болон API Gateway ашиглан програмыг хурдан хөгжүүлж, байршуулах боломжийг олгодог микрофрэймворкийг санал болгодог.
Chalice нь тохирох нөөцийг автоматаар тохируулж, сервергүй микро үйлчилгээг хурдан ажиллуулж, байршуулах боломжийг танд олгоно. вэб програмууд.
Нэмж хэлэхэд, REST API Chalice CLI ашиглан AWS-д хурдан байршуулах боломжтой. Нэмж дурдахад, Chalice AWS CodeBuild болон CodePipeline ашиглан автоматаар байршуулах дамжуулах шугам үүсгэдэг тул CI/CD дамжуулах шугамыг үүсгэхэд хялбар байдаг.
Жишээлбэл, CyberArk нь Chalice ашиглан сервергүй микро үйлчилгээ, AWS CDK-тэй илүү том дэд бүтцийг бүтээсэн. Хөгжүүлэгчдийн газар дээрх архитектураас үүлэн архитектур руу шилжих ажлыг Chalice илүү хялбар болгосон.
Amazon API Gateway, Amazon S3, Amazon SNS, Amazon SQS болон бусад AWS үйлчилгээг нэгтгэх нь API-г сайжруулдаг.
Chalice нь Python төвтэй тул ашиглах тохиолдлуудыг Python дээр үүсгэсэн үйлчилгээнүүдэд хязгаарлаж болно.
3. Claudia.js
Энэ нь хүрээ гэхээсээ илүү байршуулах хэрэгсэл болж үйлчилдэг.
Энэ нь програмистуудад Node програмуудыг AWS Lambda болон API Gateway-д (серверүүдийг өөрсдөө мэдэхгүйгээр) хурдан бөгөөд хялбар байрлуулах боломжийг олгодог нээлттэй эхийн хэрэгсэл юм.
Энэ нь JavaScript орчныг автоматаар тохируулж, тохиргоо болон байршуулах ажлыг автоматжуулдаг.
Цаашилбал, үүнийг хостинг, өргөтгөх чадвар гэх мэт асуудалгүйгээр үйлчлүүлэгчийн код эсвэл сервергүй функц болгон ашиглаж болно.
Үйл явдалд тулгуурласан программууд болон автомат масштабтай вэб API-уудыг бүтээгчид хурдан бөгөөд санаа зоволтгүй ажиллуулж болно.
Түүний өргөтгөлийн сангууд нь хэрэглэгчдэд чатбот болон Web API төгсгөлийн цэгүүдийг хялбархан үүсгэх боломжийг олгодог. Энэ нь Клаудиагаас хүлээж байсан тав тух, таашаалыг алдагдуулахгүйгээр сайтынхаа олон хувилбарыг нэгэн зэрэг удирдах гайхалтай арга юм.
Энэ нь энгийн хувилбарын удирдлагын хэрэгслийг багтаасан бөгөөд танд зөрчилдөөн, кодын далайд төөрөхгүйн тулд олон хувилбар дээр нэгэн зэрэг ажиллах боломжийг олгодог.
4. Заппа
Zappa, өөр нэг Python framework нь хэрэглэхэд хялбар, олон боломжуудтай. Энэ нь танд үйл явдалд тулгуурласан сервергүй Python-д суурилсан програмуудыг AWS Lambda-д саадгүй зохион бүтээх, байрлуулах боломжийг олгоно.
Zappa нь WSGI-д суурилсан програм, төслүүдийг хөгжүүлэхэд зориулагдсан түгээмэл хүрээ юм.
Энэ нь Pyramid, Bottle, тэр ч байтугай Django гэх мэт бараг бүх WSGI-тай нийцтэй хүрээтэй нийцдэг.
Цаашилбал, Flask-тай хамт хэрэглэхэд Zappa нь төвөгтэй програмуудыг сервергүй байршуулахад тохиромжтой. вэб програмууд, зураг боловсруулах, текст боловсруулах, тоон хэмжилт.
Zappa нь байршуулалтын параметрүүдийг автоматаар тохируулдаг. Тохиргоог зохих ёсоор зааж өгсөн тохиолдолд нэг тушаалын мөрийг ашиглан програмыг үйлдвэрлэлийн шатанд байрлуулна.
Хэрэв та API Gateway CloudFormation загварыг авахыг хүсвэл template командыг ашиглана уу.
Zappa-г захиалгат дэд домайнууд болон домэйн нэрүүдэд байрлуулахын тулд SSL сертификат, AWS Certificate Manager сертификат, Шифрлэцгээе гэрчилгээг ашиглана уу.
API түлхүүр, IAM бодлого, Lambda Authorizers, Cognito User Pool Authorizers, Resource Policy зэрэг API гарцын аюулгүй төгсгөлийн цэгүүдийг идэвхжүүлнэ үү.
Нэмж дурдахад, S3 файлыг ашиглан та локал орчин, алсын AWS орчин болон алслагдсан орчны орчны хувьсагчдыг өөрчлөх боломжтой.
5. Архитектор
Архитектор бол хурдан, шинэчлэгдсэн, өргөтгөх боломжтой үүлэн программуудыг бий болгох хүчирхэг хүрээ юм.
Энэ бол цогц бөгөөд цогц бүтэц юм. Энэ нь програмистуудад хамгийн бага код, албан ёсны шаардлагагүй, товч тохиргоог ашиглан сервергүй архитектурыг хурдан бүтээх боломжийг олгодог.
Тиймээс тэд зөвхөн бизнесийн логик дээр анхаарлаа төвлөрүүлж чадна. Нэмж дурдахад, та зөвхөн ашиглагдаж байгаа, хүссэн эсвэл тэг хүртэл бууруулсан үйлчилгээний төлбөрийг төлдөг.
Архитектор нь динамик мэдээллийн баазын дэмжлэгтэйгээр вэб програм үүсгэхэд зориулагдсан. Техникийн утгаараа энэ нь AWS SAM-д зориулсан дэвшилтэт боодол юм.
Тиймээс SAM-тай хийж болох бүх зүйлийг Архитектороор хийж болно.
Гэсэн хэдий ч, энэ хүрээ нь вэб програмуудыг бүтээхдээ маш сайн байдаг. Байршлыг хялбаршуулахын тулд архитектор Google Cloud Build болон G Init-ийн нөхцөл зэрэг олонд таалагдсан технологийг ашигладаг.
Архитектор хүний хүчин чармайлтгүйгээр программ.arc файлыг ашиглан хэрэглэгчийн зөвшөөрлийн тохиргооны дагуу автоматаар тохируулж өгсөн кодыг бүтээдэг.
Зүгээр л тэдний скрипт, туслахуудыг ажиллуулж байна Javascript хөгжүүлэгчид бичих, дибаг хийх, бизнесийн логикийг шалгах.
6. Sigma
Sigma хэмээх үүлэнд суурилсан шинэ IDE нь сервергүй хөгжүүлэлтийн үзэл баримтлал дээр суурилдаг.
Энэ нь танд код үүсгэж, бодит цаг хугацаанд шууд програм хэлбэрээр нийтлэх боломжийг олгодог бүрэн онцлогтой IDE юм. Энэ нь хэдхэн сонирхолтой функц бүхий энгийн текст засварлагч биш юм.
Sigma IDE нь таны сонгосон сервергүй (FaaS) платформтой нааш цааш холбогдож болно, гэхдээ зөвхөн тохиргооны файл байгаа тохиолдолд л.
Үүний үр дүнд та тоо томшгүй олон цагаар уйтгартай ажил хийхээс зайлсхийх боломжтой. Сигма нь ижил төстэй зорилгод хүрэхийг оролддог бусад програмуудаас ялгаатай нь сервергүй байдаг.
Хэд хэдэн үл хамаарах зүйлүүдийг эс тооцвол IDE-г зөвхөн хөтөч дотор ажиллуулснаар арын үйлчилгээгүйгээр ашиглах боломжтой. Ялангуяа аналитик мэдээлэл цуглуулж, хэрэглэгчдийг баталгаажуулахад арын хэсэг шаардлагатай.
Аппликейшнүүдийг үе шаттайгаар байрлуулж, DynamoDB, AWS Lambda, AWS API зэрэг бусад олон AWS үйлчилгээтэй холбогддог.
NodeJS нь Sigma IDE-ээр сайн дэмжигддэг, учир нь энэ нь бодит цагийн програмуудыг ашиглах боломжийг олгодог. Үүнийг анхааралтай ажиглаж, туршиж үзэх нь чухал юм.
7. онгоц
Та Ruby-г эрхэмлэдэг үү?
Дараа нь та микро үйлчилгээг зохион бүтээх, ашиглахад зориулагдсан сервергүй Ruby Framework болох Jets-д талархаж магадгүй юм. Та API бүтцийг үүсгэж, хүрээний иж бүрэн хэрэгслийн тусламжтайгаар Lambda-д хүргэх боломжтой.
Мөн тийрэлтэт онгоцыг хэд хэдэн AWS үйлчилгээ, нөөцийг холбосон бие даасан функцүүдийг бий болгоход ашиглаж болно.
Таны одоогийн кодыг Jets фреймворкоор дамжуулан Lambda болон бусад AWS үйлчилгээний функцууд болгон хувиргадаг.
Энэ нь байршуулах, хангах зэрэг процессуудыг алгасаж функциональ код бүтээхэд илүү их цаг зарцуулах боломжийг танд олгоно.
Ruby кодыг хөгжүүлэгчид бичиж, Lambda функц болон Amazon API Gateway-ийн нөөц болгон хувиргаж болно.
Үүний үр дүнд Jets нь танд онлайн API програмууд, үйл явдалд суурилсан програмууд, IoT архитектур гэх мэт төрөл бүрийн дизайны загварыг бий болгох боломжийг олгодог.
Цаг хэмнэхийн тулд энэ нь кодыг lambda функц болон AWS нөөц болгон хялбархан хөрвүүлэх боломжийг олгох зорилготой юм.
8. AWS сервергүй хэрэглээний загвар
Энгийнээр хэлэхэд AWS SAM нь янз бүрийн AWS үйлчилгээнүүдтэй нэгдсэн сервергүй програмуудыг үүсгэхэд хялбар болгодог.
Энэ нь AWS-ийн албан ёсны сервергүй байршуулалтын хүрээ учраас AWS орчинд сервергүй програмуудыг зохион бүтээх, байрлуулах, дибаг хийхэд хялбар болгодог.
SAM-ийн товчилсон синтаксийн тусламжтайгаар хөгжүүлэгчид AWS CloudFormation-д шаардлагатай цөөн тооны шугамын нөөцийг дүрслэх боломжтой. AWS SAM-ийн тусламжтайгаар та үйл явдалд тулгуурласан асинхрон үйл ажиллагаануудыг багтаасан төрөл бүрийн програмуудыг үүсгэж болно.
Нэмж дурдахад, энэ нь Docker-д суурилсан зураг дээр суурилсан Lambda функцуудыг идэвхжүүлж, сервергүй хөгжлийг ихээхэн хялбаршуулдаг.
AWS Lambda, API Gateway, DynamoDB хүснэгтүүд болон S3 үйлчилгээг үндэс болгон ашигладаг тул сервергүй програмуудыг байршуулах ажлыг автоматжуулахын тулд уг хүрээг ихэвчлэн ашигладаг.
SAM загварууд эсвэл AWS CDK-ээр тодорхойлсон програмуудыг SAM CLI-ийн Lambda-тай төстэй гүйцэтгэх орчныг ашиглан дотооддоо бүтээж, туршиж, дибаг хийж болно.
Хөгжүүлэгчид SAM Accelerate-ийн тусламжтайгаар үүлэнд суурилсан кодын өөрчлөлтийг турших боломжтой бөгөөд ингэснээр сервергүй программуудад орон нутгийн эмуляц хийх шаардлагагүй болно. янз бүрийн сервергүй AWS бүтээгдэхүүнүүдтэй холбогддог.
Үүнд төрөл бүрийн практик SAM CLI командууд (хамгийн алдартай нь sam init, sam logs, sam багц гэх мэт) багтдаг.
9. Флого
Flogo нь Docker-д суурилсан сервергүй програм хөгжүүлэхэд тохиромжтой.
Энэ нь үйл явдалд тулгуурласан онцлог бүхий нээлттэй эхийн экосистем бөгөөд орчин үеийн, нөөцөд суурилсан сервергүй програмуудыг бий болгоход хялбар болгодог.
Энэ нь зөвхөн Docker дүрсийг ашиглан AWS Lambda дээрх програмуудыг хурдан зохион бүтээх, байршуулах, удирдахад зориулагдсан тусгай хүрээг санал болгодог бөгөөд Голанг програмчлалын хэл дээр бичигдсэн.
Flogo төслийг Thingstream, Liturgical Publishing, Biogen, Cosentino, Campari групп зэрэг хэд хэдэн бизнесүүд өөрсдийн хэрэглээний тохиолдлыг дэмжих зорилгоор ашигласан.
Жишээлбэл, CargoSmart нь илүү сайн дүгнэлт хийх замаар хэрэглэгчийн туршлагыг сайжруулахын тулд IoT өгөгдөлд дүн шинжилгээ хийхэд AI ашиглаж болно.
Энэ нь интеграцид Flogo-ийн энгийн байдлыг ашигласан машин суралцах (ML) загварууд.
Энэ нь цаг хугацаа хэмнэхийн тулд хурдан хариу үйлдэл үзүүлэх, програмыг хурдан хөгжүүлэх шаардлагатай янз бүрийн бизнесүүдэд зориулсан шийдлүүдийг санал болгодог.
Golang програмчлалын хэл болон визуал вэб UI-г Flogo дэмждэг бөгөөд таны апп-уудыг зохион бүтээх, бүтээхэд ашиглаж болно.
10. AWS олшруулах
AWS Amplify хүрээг ашиглан вэб болон гар утасны платформд зориулсан өргөтгөх боломжтой сервергүй програмуудыг хялбархан үүсгэж, хязгааргүй уян хатан байдлыг эдлээрэй.
Ухаалаг процессуудыг ашигласнаар та сервергүй backends-ээ өгөгдөл, хадгалалт, баталгаажуулалт болон бусад зүйлсээр тохируулах боломжтой.
Цөөн мөр кодын тусламжтайгаар гар утас болон вэб програмуудыг шинэ эсвэл одоо байгаа AWS үйлчилгээнүүдтэй холбоно уу.
Ганц хуудасны вэб программууд, сервер талын хөрвүүлсэн програмууд болон статус вэб хуудсыг хэдхэн товшилтоор байршуулж, байрлуулж болно.
Нэмж дурдахад, энэ нь програмын хэрэглэгчид болон контентыг удирдахад хялбар болгодог. Мобайл болон вэб хөгжүүлэгчид AWS дээр бүрэн хэмжээний програмуудыг илүү хурдан бүтээж, AWS Amplify-ийн тусламжтайгаар хүссэн үедээ програмаа өөрчлөх боломжтой.
Олон тооны вэб хүрээ, үүнд урвалд, Angular, JavaScript, Vue.js, Next.js гэх мэт, мөн iOS, Ionic, Flutter, Android, React Native зэрэг гар утасны платформуудыг Amplify дэмждэг.
Дүгнэлт
Бид одоо таны програмд нэгтгэж болох шилдэг сервергүй фрэймворкуудыг авч үзсэн.
Энэхүү технологи нь бидэнд хэрэглүүрүүдийг зах зээлд илүү хурдан нийтлэх, таны програмыг оновчтой болгох замаар үнэ цэнийг нэмэгдүүлэх, мөн замын хөдөлгөөний эрэлт хэрэгцээнд нийцүүлэн нөөцийг нэмэгдүүлэх замаар мөнгө, нөөцийг хэмнэх боломжийг олгодог.
Манай үүлэнд суурилсан програмуудыг бий болгож, түгээх хамгийн сүүлийн үеийн чиг хандлага бол сервергүй тооцоолол юм. Дараагийн жилүүдэд бизнесийн шийдлүүдийг хялбарчлах, зардлыг бууруулах, технологид нэмэлт ашиг тус өгөх зорилгоор сервергүй олон шинэ хүрээг бий болгоно.
хариу үлдээх