Серверсиз эмнени билдирерин түшүнүү абдан маанилүү, анткени бул сервер жок дегенди билдирбейт.
Чынында, иштеп чыгуучу катары, сиз фондо сервер жөнүндө эч нерсе бербейсиз. Иштеп чыгуучу иштеп чыккан код кандайдыр бир жерде иштеши керек болгондуктан, ар дайым фондо иштеген сервер бар.
Айырмачылыгы, эгерде сиз иштеп чыгуучу болсоңуз, анда серверди түзүү, тейлөө же жайылтуу же серверге тиешелүү код жазуу жөнүндө кабатырлануунун кереги жок.
Сиз мындан ары алардын эч бири үчүн жооптуу эмессиз, андыктан алар жөнүндө кабатыр болбоңуз.
Сиз инфраструктурага эмес, иштеп чыгуучу катары кодду иштеп чыгууга көңүл бурушуңуз керек.
Serverless Frameworks
Булутка негизделген колдонмолорду иштеп чыгуу жана жайылтуу ыкмасы серверсиз. Булут инфраструктурасын иштеп чыгуучулар эмес, булут провайдери тейлейт.
Алар жөн гана колдонууга жараша сумманы төлөөгө милдеттүү.
Серверсиз алкак – бул сизге кызматтык тиркемелерди түзүүгө мүмкүндүк берген платформа – өз алдынча чоңойгон колдонмолор, бирок сизге тыйын гана талап кылынат – жана азыр ал мындай тиркемелерди башкарууга жардам бере турган мониторинг, тестирлөө жана коопсуздук куралдарын камтыйт.
Келгиле, ар кандай серверсиз алкак түрлөрүн дагы майда-чүйдөсүнө чейин карап көрөлү.
1. Серверсиз
Сиз домендик аталышты камсыз кылуу үчүн бактылуу болгон адам деп ойлошуңуз мүмкүн Serverless.com жөн гана алардын жакшы бактысы үчүн накталай болуп саналат, бирок мен бул андай эмес деп ишендирип коюшум керек.
Эң белгилүү серверсиз алкак - бул Serverless Framework, анын 43,000 XNUMXден ашык жылдыздары бар. GitHub.
Эң популярдуу серверсиз алкак - бул Serverless, ал башында иштеп чыгуучуларга AWS Lambda үчүн колдонмолорду түзүүгө жардам берүү үчүн түзүлгөн.
Lambda жана башка FaaS платформалары менен серверсиз тиркемелерди тез иштеп чыгууга, жайылтууга жана башкарууга мүмкүндүк берет. Kubeless жана Apache OpenWhiskден тышкары, ал Azure Functions, Google Cloud Functions жана башкаларды колдойт.
Берилген функциялар жана окуялар үчүн талап кылынган инфраструктура Serverless Framework тарабынан автоматтык түрдө түзүлөт.
Демек, сиз суроо-талаптын негизинде масштабдуу татаал, окуяга негизделген программаларды же микросервистерди түзө аласыз.
Кошумча, ал провайдер үчүн нейтралдуу болгондуктан, сиз колдонмолорду ар кандай булуттарда, анын ичинде Google Cloud, Azure, AWS ж.б. бириктирип, орното аласыз.
Кошумчалай кетсек, сиз плагиндерди колдонуу менен алкактын функционалдуулугун өзгөртүү менен анын колдонуу учурларын кеңейте аласыз.
Учурда камтылбаган колдонуу учурларын иштеп чыгуу үчүн Serverless плагиндердин кеңири экосистемасын сунуштайт.
2. AWS Чарли
Сиз серверсиз тиркемелерди түзүү үчүн Python алкагын издеп жатасызбы?
AWS Chalice - бул Python серверсиз тиркемелерди иштеп чыгуу платформасы бул Python ышкыбоздору үчүн долбоор.
Ал AWS Lambda жана API Gateway аркылуу тиркемени тез иштеп чыгууга жана жайылтууга мүмкүндүк берген микрофремворкти сунуштайт.
Chalice автоматтык түрдө тийиштүү ресурстарды орнотуп, сизге серверсиз микросервистерди тез иштетүүгө жана жайылтууга мүмкүндүк берет. веб тиркемелер.
Андан тышкары, REST API Chalice CLI аркылуу AWSге тез жайгаштырса болот. Кошумчалай кетсек, CI/CD түтүктөрүн түзүү оңой, анткени Chalice автоматтык түрдө AWS CodeBuild жана CodePipeline аркылуу жайылтуу түтүктөрүн түзөт.
Мисалы, 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
Zappa, башка Python алкактары, колдонууга жөнөкөй жана өзгөчөлүктөргө бай. Бул сизге окуяга негизделген серверсиз Python негизиндеги колдонмолорду AWS Lambdaга бир калыпта иштеп чыгууга жана жайылтууга мүмкүндүк берет.
Zappa ошондой эле WSGI негизиндеги колдонмолорду жана долбоорлорду иштеп чыгуу үчүн популярдуу негиз болуп саналат.
Бул дээрлик бардык WSGI ылайыктуу алкактарга, анын ичинде Пирамидага, Бөтөлкө жана ал тургай Джангого шайкеш келет.
Мындан тышкары, Flask менен бирге колдонулганда, Zappa татаал серверсиз хостинг үчүн идеалдуу. веб тиркемелер, сүрөттөрдү иштетүү, текстти иштетүү жана сандарды кысуу.
Zappa автоматтык түрдө жайылтуу параметрлерин конфигурациялайт. Орнотуулар тийиштүү түрдө көрсөтүлгөндөн кийин, бир буйрук сабын колдонуп, колдонмону өндүрүш баскычына жайгаштырыңыз.
Эгер сиз API Gateway CloudFormation үлгүсүн кааласаңыз, шаблон буйругун колдонуңуз.
Zappa'ны ыңгайлаштырылган субдомендерге жана домен аттарына жайылтуу үчүн SSL сертификаттарын, AWS Certificate Manager сертификаттарын жана Let's Encrypt сертификаттарын колдонуңуз.
API Gateway'дин коопсуз акыркы чекиттерин иштетиңиз, анын ичинде API ачкычы, IAM саясаты, Lambda Authorizers, Cognito User Pool Authorizers жана Resource Policy.
Кошумчалай кетсек, S3 файлын колдонуп, сиз жергиликтүү чөйрө, алыскы AWS чөйрөсү жана алыскы чөйрө үчүн чөйрө өзгөрмөлөрүн өзгөртө аласыз.
5. архитектор
Архитектор тез, заманбап жана масштабдуу булуттагы жергиликтүү колдонмолорду түзүү үчүн күчтүү негиз болуп саналат.
Бул татаал жана комплекстүү алкак болуп саналат. Бул программисттерге минималдуу кодду, эч кандай формалдуулукту жана кыска конфигурацияны колдонуу менен серверсиз архитектураны тез түзүүгө мүмкүндүк берет.
Ошентип, алар бизнес логикасына гана көңүл бура алышат. Кошумчалай кетсек, сиз колдонулуп жаткан, суралып жаткан же нөлгө чейин төмөндөгөн кызматтар үчүн гана төлөйсүз.
Архитектор динамикалык маалымат базасын колдоосу менен веб тиркемелерди түзүү үчүн жасалган. Техникалык мааниде, бул AWS SAM үчүн өнүккөн орогуч.
Ошентип, SAM менен жасала турган нерсени Архитектор менен да жасаса болот.
Бирок, алкак веб-тиркемелерди түзүүдө мыкты. Жайгаштырууну жөнөкөй кылуу үчүн архитектор Google Cloud Build жана G Init шарттары сыяктуу жакшы көргөн технологияларды колдонот.
Архитектор эч кандай адам эмгегисиз, колдонуучунун авторизация орнотууларына ылайык автоматтык түрдө конфигурацияланган жана берилген кодду түзүү үчүн app.arc файлын колдонот.
Жөн эле алардын скрипттерин, жардамдарын иштетүү Javascript иштеп чыгуучулары жазууда, мүчүлүштүктөрдү оңдоодо жана алардын бизнес логикасын текшерүүдө.
6. Sigma
Sigma деп аталган жаңы булутка негизделген IDE серверсиз өнүгүү концепциясына негизделген.
Бул реалдуу убакыт режиминде кодду түзүүгө жана аны тирүү тиркеме катары жарыялоого мүмкүндүк берген толук өзгөчөлөнгөн IDE. Бул жөн гана бир нече кооз өзгөчөлүктөрү бар жөнөкөй текст редактору эмес.
Sigma IDE сиз тандаган серверсиз (FaaS) платформа менен алдыга жана кайра байланыша алат, бирок конфигурация файлы болгондо гана.
Натыйжада, сиз сансыз сааттар бою тажатма жумуштарды жасоодон качсаңыз болот. Сигма салыштырмалуу максатка жетүүгө аракет кылган башка программалардан айырмаланып, табиятынан серверсиз.
Кээ бир учурларды эске албаганда, IDE браузердин ичинде гана иштөө менен бэк-эндик кызматсыз колдонулушу мүмкүн. Атап айтканда, аналитикалык маалыматтарды чогултуу жана колдонуучулардын аныктыгын текшерүү үчүн зарыл.
Тиркемелер акырындык менен жайгаштырылат жана башка көптөгөн AWS кызматтары, анын ичинде DynamoDB, AWS Lambda жана AWS API менен туташат.
NodeJS Sigma IDE тарабынан жакшы колдоого алынат, анткени ал реалдуу убакыт режиминдеги тиркемелерди колдонууга мүмкүндүк берет. Ол иһин билигин даҕаны ыалдьыттаатыбыт.
7. учактары
Сиз Рубинди баалайсызбы?
Анда сиз Jetsти, микросервистерди долбоорлоо жана жайылтуу үчүн серверсиз Ruby Framework баалай аласыз. Сиз API структураларын түзүп, аларды Ламбдага алкактын комплекстүү инструменттери менен жеткире аласыз.
Jets бир нече AWS кызматтарын жана ресурстарын бириктирген өз алдынча функцияларды түзүү үчүн да колдонулушу мүмкүн.
Учурдагы кодуңуз Jets алкагы аркылуу Lambda жана башка AWS кызматтары үчүн функцияларга айландырылат.
Бул жайгаштыруу жана камсыздоо сыяктуу процесстерди өткөрүп жиберүү менен функционалдык кодду курууга көбүрөөк убакыт коротууга мүмкүндүк берет.
Ruby кодун иштеп чыгуучулар жазып, Lambda функцияларына жана Amazon API Gateway ресурстарына Jets тарабынан айландырылышы мүмкүн.
Натыйжада, Jets сизге ар кандай дизайн үлгүлөрүн түзүүгө мүмкүндүк берет, мисалы, онлайн API тиркемелери, окуяларга негизделген программалар, IoT архитектурасы жана башкалар.
Убакытты үнөмдөө үчүн, ал кодду ламбда функцияларына жана AWS ресурстарына оңой айландыруу үчүн иштелип чыккан.
8. AWS серверсиз колдонмо модели
Жөнөкөй сөз менен айтканда, AWS SAM ар кандай AWS кызматтары менен интеграцияланган серверсиз колдонмолорду түзүүнү жеңилдетет.
Бул AWS чөйрөсүндө серверсиз колдонмолорду иштеп чыгууну, жайгаштырууну жана мүчүлүштүктөрдү оңдоону жеңилдетет, анткени бул AWSтин расмий серверсиз жайылтуу алкагы.
SAMдин стенографиялык синтаксиси менен иштеп чыгуучулар ресурстарды AWS CloudFormation менен керектүү саптардын бир бөлүгүндө сүрөттөй алышат. AWS SAM менен сиз ар кандай колдонмолорду, анын ичинде күчтүү окуяга негизделген асинхрондук аракеттерди түзө аласыз.
Кошумчалай кетсек, ал Докерге негизделген сүрөткө негизделген 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
Flogo Докерге негизделген серверсиз тиркемелерди иштеп чыгуу үчүн идеалдуу.
Бул ачык булактуу экосистема, бул окуяга негизделген өзгөчөлүктөргө ээ, бул заманбап, ресурсту эске алган серверсиз колдонмолорду түзүүнү жеңилдетет.
Ал жөн гана Docker сүрөттөрүн колдонуу менен AWS Lambda колдонмолорун тез иштеп чыгуу, жайгаштыруу жана башкаруу үчүн ылайыкташтырылган негизди сунуштайт жана Голанг программалоо тилинде жазылган.
Flogo долбоору бир нече ишканалар тарабынан колдонулган, анын ичинде Thingstream, Liturgical Publishing, Biogen, Cosentino жана Campari Group, алардын колдонуу учурларын колдоо үчүн.
Мисалы, CargoSmart жакшыраак чечим чыгаруу аркылуу колдонуучунун тажрыйбасын жакшыртуу үчүн IoT маалыматтарын талдоо үчүн AI колдонушу мүмкүн.
Ал интеграциялоодо Флогонун жөнөкөйлүгүн колдонгон машина үйрөнүү (ML) моделдери.
Ал убакытты үнөмдөө үчүн тез реакция кылып, колдонмолорду тез иштеп чыгууга муктаж болгон ар кандай бизнес үчүн чечимдерди сунуштайт.
Голанг программалоо тили жана визуалдык веб UI Flogo тарабынан колдоого алынган жана колдонмолоруңузду долбоорлоо жана куруу үчүн колдонулушу мүмкүн.
10. AWS Amplify
Веб жана мобилдик платформалар үчүн масштабдуу серверсиз колдонмолорду оңой түзүү жана чексиз ийкемдүүлүктөн ырахат алуу үчүн AWS Amplify алкагын колдонуңуз.
Интеллектуалдык процесстерди колдонуу менен серверсиз серверлериңизди маалыматтар, сактоо, аутентификация жана башкалар менен конфигурациялай аласыз.
Коддун азыраак саптары менен мобилдик жана веб тиркемелерди жаңы же учурдагы AWS кызматтарына туташтырыңыз.
Бир беттик веб-тиркемелер, сервер тарабында көрсөтүлгөн колдонмолор жана статус веб-баракчаларынын бардыгын бир нече чыкылдатуу менен жайгаштырып, жайгаштырууга болот.
Андан тышкары, бул колдонмонун колдонуучуларын жана мазмунун башкарууну жеңилдетет. Фронттук мобилдик жана веб-иштеп чыгуучулар AWS'те толук стек колдонмолорун тезирээк куруп, AWS Amplify жардамы менен колдонмону каалаган убакта өзгөртө алышат.
Көптөгөн веб алкактары, анын ичинде иш-аракет кылгыла, Angular, JavaScript, Vue.js, Next.js ж.б., ошондой эле мобилдик платформалар, анын ичинде iOS, Ionic, Flutter, Android жана React Native Amplify тарабынан колдоого алынат.
жыйынтыктоо
Эми биз сиздин колдонмоңузга бириктире турган серверсиз алкактарды карап чыктык.
Бул технология бизге тиркемелерди тезирээк рынокко чыгарууга жана колдонмоңузду оптималдаштыруу аркылуу наркты жогорулатууга, ошондой эле трафиктин суроо-талабына ылайык ресурстарды масштабдоо аркылуу акчаны жана ресурстарды үнөмдөөгө мүмкүндүк берет.
Булутка негизделген колдонмолорубузду түзүү жана жеткирүүдөгү эң жаңы тенденция серверсиз эсептөө болуп саналат. Кийинки жылдары бизнес чечимдерин жөнөкөйлөтүү, чыгымдарды азайтуу жана технологияны кошумча артыкчылыктар менен камсыз кылуу үчүн дагы көптөгөн жаңы серверсиз алкактар түзүлөт.
Таштап Жооп