Շատ կարևոր է հասկանալ, թե իրականում ինչ է նշանակում առանց սերվերի, քանի որ դա չի նշանակում, որ սերվեր չկա:
Իրականում, որպես ծրագրավորող, դուք չեք տալիս ետին պլանում գտնվող սերվերի մասին: Քանի որ մշակողի մշակած կոդը պետք է գործարկվի ինչ-որ տեղ, միշտ կա սերվեր, որն աշխատում է հետին պլանում:
Տարբերությունն այն է, որ եթե դուք ծրագրավորող եք, չպետք է անհանգստանաք սերվեր ստեղծելու, պահպանելու կամ տեղակայելու կամ սերվերի հետ կապված կոդ գրելու մասին:
Դուք այլևս պատասխանատվություն չեք կրում այդ բաներից որևէ մեկի համար, ուստի պետք չէ անհանգստանալ դրանց համար:
Դուք պետք է ձեր ուշադրությունը դարձնեք կոդը մշակելուն որպես ծրագրավորող և ոչ թե ենթակառուցվածքի:
Առանց սերվերի շրջանակներ
Ամպային վրա հիմնված հավելվածների մշակման և տեղակայման մեթոդն առանց սերվերի է: Ամպային ենթակառուցվածքը պահպանվում է ամպային մատակարարի կողմից, ոչ թե մշակողների կողմից:
Նրանցից ուղղակի պահանջվում է գումարը վճարել օգտագործման հիման վրա:
Սերվեր չունեցող շրջանակը հարթակ է, որը հնարավորություն է տալիս ստեղծել սպասարկման հավելվածներ՝ հավելվածներ, որոնք ահռելիորեն մեծանում են ինքնուրույն՝ միևնույն ժամանակ արժենալով կոպեկներ, և այն այժմ ներառում է մոնիտորինգ, թեստավորում և անվտանգության գործիքներ, որոնք կօգնեն ձեզ կառավարել նման հավելվածները:
Այժմ ավելի մանրամասն կքննարկենք առանց սերվերի շրջանակների տարբեր տեսակներ:
1. Serverless
Դուք կարող եք մտածել, որ ինչ-որ մեկը, ով բավականաչափ բախտ է ունեցել ապահովելու տիրույթի անունը Serverless.com պարզապես կանխիկացնում է նրանց բարի բախտը, բայց ես պետք է ձեզ վստահեցնեմ, որ դա այդպես չէ:
Ամենահայտնի առանց սերվերի շրջանակը Serverless Framework-ն է, որն ունի ավելի քան 43,000 աստղ: GitHub.
Ամենահայտնի առանց սերվերի շրջանակը Serverless-ն է, որն ի սկզբանե ստեղծվել է օգնելու ծրագրավորողներին ստեղծել հավելվածներ AWS Lambda-ի համար:
Lambda-ի և FaaS այլ պլատֆորմների միջոցով այն հնարավորություն է տալիս արագ նախագծել, տեղակայել և կառավարել առանց սերվերի հավելվածները: Բացի Kubeless-ից և Apache OpenWhisk-ից, այն աջակցում է Azure Functions, Google Cloud Functions և այլն:
Տվյալ գործառույթների և իրադարձությունների համար անհրաժեշտ ենթակառուցվածքը ավտոմատ կերպով ստեղծվում է առանց սերվերի շրջանակի կողմից:
Հետևաբար, դուք կարող եք ստեղծել բարդ, իրադարձությունների վրա հիմնված ծրագրեր կամ միկրոծառայություններ, որոնք իրենց մասշտաբները կկատարեն պահանջարկի հիման վրա:
Բացի այդ, քանի որ այն չեզոք է մատակարարից, դուք կարող եք փաթեթավորել և տեղակայել հավելվածները մի շարք ամպերի մեջ, ներառյալ Google Cloud, Azure, AWS և այլն:
Բացի այդ, դուք կարող եք ընդլայնել դրա օգտագործման դեպքերը՝ փոփոխելով շրջանակի ֆունկցիոնալությունը՝ օգտագործելով պլագիններ:
Օգտագործման դեպքերի զարգացման համար, որոնք ներկայումս չեն լուսաբանվում, Serverless-ն առաջարկում է պլագինների լայն էկոհամակարգ:
2. AWS Չարլի
Փնտրու՞մ եք Python շրջանակ՝ առանց սերվերի հավելվածներ ստեղծելու համար:
AWS Chalice-ը Python է առանց սերվերի հավելվածների մշակման հարթակ դա նախագիծ է Python-ի սիրահարների համար:
Այն առաջարկում է միկրոշրջանակ, որը հնարավորություն է տալիս հավելվածների արագ մշակում և տեղակայում՝ օգտագործելով AWS Lambda և API Gateway:
Chalice-ը ավտոմատ կերպով կարգավորում է համապատասխան ռեսուրսները՝ հնարավորություն տալով արագ գործարկել և տեղակայել առանց սերվերի միկրոծառայություններ և վեբ ծրագրեր.
Բացի այդ, REST API- ներ կարող է արագ տեղակայվել AWS-ում՝ օգտագործելով Chalice CLI: Բացի այդ, հեշտ է ստեղծել 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-ները կարող են ստեղծվել և տեղակայվել արագ և առանց անհանգստության ծրագրավորողների կողմից:
Դրա ընդլայնման գրադարանները օգտվողներին հնարավորություն են տալիս հեշտությամբ ստեղծել չաթ-բոտեր և վեբ API-ի վերջնակետեր: Սա հիանալի մեթոդ է ձեր կայքի բազմաթիվ տարբերակները միաժամանակ կառավարելու համար՝ չվնասելով այն հարմարավետությունն ու հաճույքը, որը դուք սպասում էիք Կլաուդիայից:
Այն ներառում է տարբերակների կառավարման պարզ գործիք, որը թույլ է տալիս միաժամանակ աշխատել բազմաթիվ տարբերակների վրա՝ առանց անհանգստանալու կոնֆլիկտների կամ կոդերի ծովում կորչելու մասին:
4. Զապպա
Zappa-ն՝ Python-ի մեկ այլ շրջանակ, օգտագործման համար պարզ է և հարուստ է հատկանիշներով: Այն թույլ է տալիս նախագծել և տեղակայել իրադարձությունների վրա հիմնված առանց սերվերի Python-ի վրա հիմնված հավելվածներ AWS Lambda-ում անխափան կերպով:
Zappa-ն նաև հայտնի շրջանակ է WSGI-ի վրա հիմնված հավելվածների և նախագծերի մշակման համար:
Այն համատեղելի է գրեթե ցանկացած WSGI-ին համապատասխան շրջանակի հետ, ներառյալ Pyramid-ը, Bottle-ը և նույնիսկ Django-ն:
Ավելին, երբ օգտագործվում է Flask-ի հետ համատեղ, Zappa-ն իդեալական է բարդ հոսթինգի համար առանց սերվերի: վեբ ծրագրեր, պատկերի մշակում, տեքստի մշակում և թվերի ճզմում։
Zappa-ն ավտոմատ կերպով կարգավորում է տեղակայման պարամետրերը: Տեղադրեք հավելվածը արտադրության փուլ՝ օգտագործելով մեկ հրամանի տող, երբ կարգավորումները պատշաճ կերպով նշված են:
Եթե ցանկանում եք API Gateway CloudFormation ձևանմուշ, օգտագործեք ձևանմուշ հրամանը:
Օգտագործեք SSL վկայագրերը, AWS վկայագրերի կառավարչի վկայագրերը և Let's encrypt վկայականները՝ Zappa-ն հատուկ ենթադոմեյններում և տիրույթների անուններում տեղակայելու համար:
Միացնել API Gateway-ի անվտանգ վերջնակետերը, ներառյալ API բանալին, IAM քաղաքականությունը, Lambda հեղինակավորները, Cognito User Pool Authorizers-ը և Resource Policy-ը:
Բացի այդ, օգտագործելով S3 ֆայլը, դուք կարող եք փոխել շրջակա միջավայրի փոփոխականները տեղական միջավայրի, հեռավոր AWS միջավայրի և հեռավոր միջավայրի համար:
5. Ճարտարապետ
Architect-ը հզոր շրջանակ է արագ, արդիական և մասշտաբային ամպային բնօրինակ հավելվածներ ստեղծելու համար:
Այն համալիր և համապարփակ շրջանակ է: Այն ծրագրավորողներին հնարավորություն է տալիս արագորեն ստեղծել առանց սերվերի ճարտարապետություն՝ օգտագործելով նվազագույն կոդ, առանց ձևականությունների և հակիրճ կոնֆիգուրացիա:
Այսպիսով, նրանք կարող են կենտրոնանալ բացառապես բիզնես տրամաբանության վրա: Բացի այդ, դուք վճարում եք միայն այն ծառայությունների համար, որոնք օգտագործվում են, պահանջվում են կամ նվազեցվում են զրոյի:
Architect-ը ստեղծված է տվյալների բազայի դինամիկ աջակցությամբ վեբ հավելվածներ ստեղծելու համար: Տեխնիկական իմաստով դա առաջադեմ փաթաթա է AWS SAM-ի համար:
Այսպիսով, այն ամենը, ինչ կարելի է անել SAM-ով, կարող է արվել նաև Architect-ի հետ:
Այնուամենայնիվ, շրջանակը գերազանցում է վեբ հավելվածների ստեղծմանը: Տեղակայումը պարզեցնելու համար ճարտարապետը օգտագործում է այնպիսի տեխնոլոգիաներ, ինչպիսիք են Google Cloud Build-ը և G Init պայմանները:
Առանց մարդկային աշխատանքի, ճարտարապետն օգտագործում է app.arc ֆայլը, որպեսզի ստեղծի կոդը, որն ավտոմատ կերպով կազմաձևված և տրամադրվում է օգտատիրոջ թույլտվության կարգավորումներին համապատասխան:
Պարզապես վարում են իրենց սցենարները, օժանդակ միջոցները Javascript- ի մշակողներ գրավոր, վրիպազերծում և փորձարկում իրենց բիզնես տրամաբանությունը:
6. Sigma
Նոր ամպի վրա հիմնված IDE, որը կոչվում է Sigma, հիմնված է առանց սերվերի զարգացման հայեցակարգի վրա:
Սա լիովին հագեցած IDE է, որը հնարավորություն է տալիս ստեղծել կոդ և հրապարակել այն որպես կենդանի հավելված իրական ժամանակում: Դա պարզապես պարզ տեքստային խմբագիր չէ մի քանի շքեղ առանձնահատկություններով:
Sigma IDE-ն կարող է հետ ու առաջ շփվել ձեր ընտրած առանց սերվերի (FaaS) հարթակի հետ, բայց միայն այն դեպքում, եթե առկա է կազմաձևման ֆայլ:
Որպես հետևանք, դուք կարող եք խուսափել անհամար ժամերով հոգնեցուցիչ աշխատանք կատարելուց: Sigma-ն իր բնույթով սերվերազուրկ է՝ ի տարբերություն այլ ծրագրերի, որոնք փորձում են իրականացնել համադրելի նպատակ:
Մի քանի բացառություններով, IDE-ն կարող է օգտագործվել առանց հետին սպասարկման ծառայության՝ բացառապես բրաուզերի ներսում աշխատելու միջոցով: Մասնավորապես, back-end-ը անհրաժեշտ է վերլուծական տվյալներ հավաքելու և օգտատերերի իսկությունը հաստատելու համար:
Հավելվածները տեղադրվում են աստիճանաբար և միանում են բազմաթիվ այլ AWS ծառայությունների, ներառյալ DynamoDB, AWS Lambda և AWS API:
NodeJS-ը լավ աջակցվում է Sigma IDE-ի կողմից, քանի որ այն թույլ է տալիս իրական ժամանակում կիրառել: Կարևոր է հետևել այս մեկին և փորձել այն:
7. Jets
Դուք փայփայում եք Ռուբին:
Ապա դուք կարող եք գնահատել Jets-ը՝ առանց սերվերի Ruby Framework-ը՝ միկրոծառայությունների նախագծման և տեղակայման համար: Դուք կարող եք ստեղծել API կառուցվածքներ և դրանք հասցնել Lambda-ին շրջանակի համապարփակ գործիքակազմի միջոցով:
Jets-ը կարող է օգտագործվել նաև ինքնուրույն գործառույթներ ստեղծելու համար, որոնք միացնում են մի քանի AWS ծառայություններ և ռեսուրսներ:
Ձեր ընթացիկ կոդը վերափոխվում է գործառույթների Lambda-ի և այլ AWS ծառայությունների համար Jets-ի շրջանակի միջոցով:
Սա ձեզ հնարավորություն է տալիս ավելի շատ ժամանակ ծախսել ֆունկցիոնալ կոդ ստեղծելու միջոցով՝ բաց թողնելով այնպիսի գործընթացներ, ինչպիսիք են տեղակայումը և ապահովումը:
Ruby կոդը կարող է գրվել ծրագրավորողների կողմից և Jets-ի կողմից վերածվել Lambda ֆունկցիաների և Amazon API Gateway ռեսուրսների:
Արդյունքում Jets-ը թույլ է տալիս ստեղծել դիզայնի մի շարք օրինաչափություններ, ինչպիսիք են առցանց API հավելվածները, իրադարձությունների վրա հիմնված ծրագրերը, IoT ճարտարապետությունը և այլն:
Ժամանակ խնայելու համար այն նախագծված է թույլ տալու, որ կոդը հեշտությամբ փոխարկվի լամբդա ֆունկցիաների և 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-ի վրա հիմնված առանց սերվերի հավելվածների մշակման համար:
Այն բաց կոդով էկոհամակարգ է՝ իրադարձությունների վրա հիմնված առանձնահատկություններով, որոնք հեշտացնում են ժամանակակից, ռեսուրսների վրա հիմնված առանց սերվերի հավելվածների ստեղծումը:
Այն առաջարկում է հարմարեցված շրջանակ՝ AWS Lambda-ում հավելվածները արագ նախագծելու, տեղակայելու և կառավարելու համար՝ օգտագործելով միայն Docker պատկերները և գրված է Golang ծրագրավորման լեզվով:
Project Flogo-ն օգտագործվել է մի քանի ձեռնարկությունների կողմից, այդ թվում՝ Thingstream, Liturgical Publishing, Biogen, Cosentino և Campari Group՝ աջակցելու դրանց օգտագործման դեպքերին:
CargoSmart-ը, օրինակ, կարող է օգտագործել AI՝ IoT-ի տվյալները վերլուծելու համար՝ ավելի լավ դատողությունների միջոցով օգտվողների փորձը բարելավելու համար:
Այն օգտագործեց Flogo-ի պարզությունը ինտեգրման հարցում Machine Learning (ML) մոդելներ.
Այն առաջարկում է լուծումներ տարբեր բիզնեսների համար, որոնք պետք է արագ արձագանքեն և արագ մշակեն հավելվածներ՝ ժամանակ խնայելու համար:
Golang ծրագրավորման լեզուն և տեսողական վեբ միջերեսը աջակցվում են Flogo-ի կողմից և կարող են օգտագործվել ձեր հավելվածները նախագծելու և ստեղծելու համար:
10: AWS ուժեղացնել
Օգտագործեք AWS Amplify շրջանակը, որպեսզի հեշտությամբ ստեղծեք լայնածավալ առանց սերվերի հավելվածներ վեբ և բջջային հարթակների համար և վայելեք անսահման ճկունություն:
Օգտագործելով խելացի գործընթացներ՝ դուք կարող եք կարգավորել ձեր առանց սերվերի հետնամասերը տվյալների, պահեստավորման, իսկորոշման և այլնի հետ:
Ավելի քիչ կոդի տողերով միացրեք բջջային և վեբ հավելվածները նոր կամ գոյություն ունեցող AWS ծառայություններին:
Մեկ էջանոց վեբ հավելվածները, սերվերի կողմից մատուցված հավելվածները և կարգավիճակի վեբ էջերը կարող են տեղակայվել և տեղակայվել ընդամենը մի քանի կտտոցով:
Բացի այդ, այն հեշտացնում է հավելվածի օգտատերերի և բովանդակության կառավարումը: Առջևի բջջային և վեբ ծրագրավորողները կարող են AWS-ում ավելի արագ ստեղծել ամբողջական փաթեթային հավելվածներ և ցանկացած պահի փոխել հավելվածը AWS Amplify-ի օգնությամբ:
Բազմաթիվ վեբ շրջանակներ, այդ թվում Արձագանքել, Angular, JavaScript, Vue.js, Next.js և այլն, ինչպես նաև բջջային հարթակներ, ներառյալ iOS, Ionic, Flutter, Android և React Native, աջակցվում են Amplify-ի կողմից:
Եզրափակում
Մենք այժմ լուսաբանել ենք առանց սերվերի լավագույն շրջանակները, որոնք դուք կարող եք ինտեգրել ձեր հավելվածին:
Այս տեխնոլոգիան մեզ թույլ է տալիս ավելի արագ հրապարակել հավելվածները շուկայում և ավելացնել արժեքը՝ օպտիմալացնելով ձեր հավելվածը, ինչպես նաև խնայելով գումար և ռեսուրսներ՝ ռեսուրսները մեծացնելով երթևեկության պահանջարկին համապատասխան:
Մեր ամպի վրա հիմնված հավելվածների ստեղծման և մատուցման նորագույն միտումը առանց սերվերի հաշվարկն է: Հաջորդ տարիներին կստեղծվեն ավելի շատ նոր առանց սերվերի շրջանակներ՝ բիզնես լուծումները պարզեցնելու, ծախսերը նվազեցնելու և տեխնոլոգիան որոշ լրացուցիչ առավելություններով ապահովելու համար:
Թողնել գրառում