გადამწყვეტი მნიშვნელობა აქვს იმის გაგებას, თუ რას გულისხმობს ჭეშმარიტად სერვერის გარეშე, რადგან ეს არ ნიშნავს რომ სერვერი არ არის.
სინამდვილეში, როგორც დეველოპერი, თქვენ არ აძლევთ ახსნას სერვერის ფონზე. იმის გამო, რომ კოდი, რომელსაც დეველოპერი ავითარებს, სადმე უნდა გაუშვას, ყოველთვის არის სერვერი, რომელიც მუშაობს ფონზე.
განსხვავება ისაა, რომ თუ თქვენ ხართ დეველოპერი, არ გჭირდებათ ფიქრი სერვერის შექმნაზე, შენარჩუნებაზე ან განთავსებაზე ან სერვერთან დაკავშირებული კოდის დაწერაზე.
თქვენ აღარ ხართ პასუხისმგებელი რომელიმე ამ საკითხზე, ამიტომ არ უნდა ინერვიულოთ მათზე.
თქვენ ყურადღება უნდა მიაქციოთ კოდის შემუშავებას, როგორც დეველოპერს და არა ინფრასტრუქტურაზე.
სერვერის გარეშე ჩარჩოები
ღრუბელზე დაფუძნებული აპლიკაციების შემუშავებისა და განლაგების მეთოდი სერვერის გარეშეა. ღრუბლოვანი ინფრასტრუქტურა ინარჩუნებს ღრუბლოვან პროვაიდერს და არა დეველოპერებს.
მათ უბრალოდ მოეთხოვებათ თანხის გადახდა მოხმარების საფუძველზე.
სერვერის გარეშე ჩარჩო არის პლატფორმა, რომელიც საშუალებას გაძლევთ შექმნათ სერვისული აპლიკაციები — აპლიკაციები, რომლებიც საოცრად იზრდებიან დამოუკიდებლად და მხოლოდ პენი დაგიჯდებათ — და ის ახლა მოიცავს მონიტორინგს, ტესტირებას და უსაფრთხოების ინსტრუმენტებს, რომლებიც დაგეხმარებათ ასეთი აპლიკაციების მართვაში.
მოდით ახლა უფრო დეტალურად განვიხილოთ უსერვერო ჩარჩოს სხვადასხვა ტიპები.
1. უსაფუძვლო
შეიძლება ფიქრობთ, რომ ვინმეს, ვისაც გაუმართლა დომენის სახელის დაცვა სერვერის გარეშე.com უბრალოდ განაღდება მათი კარგი ბედი, მაგრამ უნდა დაგარწმუნოთ, რომ ეს ასე არ არის.
ყველაზე ცნობილი უსერვერო ფრეიმვორკი არის სერვერის გარეშე ჩარჩო, რომელსაც აქვს 43,000-ზე მეტი ვარსკვლავი. GitHub.
ყველაზე პოპულარული სერვერის გარეშე ჩარჩო არის Serverless, რომელიც თავდაპირველად შეიქმნა იმისათვის, რომ დაეხმარა დეველოპერებს შექმნან აპლიკაციები AWS Lambda-სთვის.
Lambda და სხვა FaaS პლატფორმებით, ის საშუალებას გაძლევთ სწრაფად შექმნათ, განათავსოთ და მართოთ სერვერის გარეშე აპლიკაციები. Kubeless-ისა და Apache OpenWhisk-ის გარდა, ის მხარს უჭერს Azure ფუნქციებს, Google Cloud ფუნქციებს და სხვა.
მოცემული ფუნქციებისა და მოვლენებისთვის საჭირო ინფრასტრუქტურა ავტომატურად იქმნება სერვერის გარეშე ჩარჩოს მიერ.
შესაბამისად, თქვენ შეგიძლიათ შექმნათ რთული, მოვლენებზე ორიენტირებული პროგრამები ან მიკროსერვისები, რომლებიც გაიზრდება მოთხოვნის მიხედვით.
გარდა ამისა, იმის გამო, რომ ის პროვაიდერის ნეიტრალურია, შეგიძლიათ შეფუთოთ და განათავსოთ აპლიკაციები სხვადასხვა ღრუბლებში, მათ შორის Google Cloud, Azure, AWS და ა.შ.
გარდა ამისა, შეგიძლიათ გააფართოვოთ მისი გამოყენების შემთხვევები ფრეიმერის ფუნქციონირების შეცვლით დანამატების გამოყენებით.
გამოყენების შემთხვევების განვითარებისთვის, რომლებიც ამჟამად არ არის დაფარული, Serverless გთავაზობთ დანამატების ფართო ეკოსისტემას.
2. AWS ჩარლი
ეძებთ Python ჩარჩოს სერვერის გარეშე აპლიკაციების შესაქმნელად?
AWS Chalice არის პითონი სერვერის გარეშე აპლიკაციის განვითარების პლატფორმა ეს არის პროექტი პითონის მოყვარულთათვის.
ის გთავაზობთ მიკროჩარჩოებს, რომელიც საშუალებას აძლევს აპლიკაციის სწრაფ განვითარებას და განთავსებას AWS Lambda და API Gateway-ის გამოყენებით.
Chalice ავტომატურად აყენებს შესაბამის რესურსებს, რაც საშუალებას გაძლევთ სწრაფად გაუშვათ და განათავსოთ სერვერის გარეშე მიკროსერვისები და ვებ პროგრამები.
გარდა ამისა, დანარჩენი 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 არის პითონზე ორიენტირებული, ამიტომ გამოყენების შემთხვევები შეიძლება შემოიფარგლოს პითონში შექმნილი სერვისებით.
3. კლაუდია.ჯს
ის უფრო მეტად ემსახურება როგორც განლაგების ინსტრუმენტს, ვიდრე ჩარჩოს.
ეს არის ღია კოდის ინსტრუმენტი, რომელიც პროგრამისტებს საშუალებას აძლევს სწრაფად და მარტივად განათავსონ Node აპლიკაციები AWS Lambda-სა და API Gateway-ში (თვითონ სერვერების შესახებ ცოდნის გარეშე).
ის ავტომატურად აყენებს JavaScript გარემოს და ავტომატიზირებს კონფიგურაციისა და განლაგების სამუშაოებს.
გარდა ამისა, ის შეიძლება გამოყენებულ იქნას ჰოსტინგის, მასშტაბურობის და ა.შ. კლიენტის მხარის კოდის ან სერვერის გარეშე ფუნქციების გარეშე.
შედეგად, მოვლენებზე ორიენტირებული აპები და ავტომატური სკალირების ვებ API-ები შეიძლება შეიქმნას და განლაგდეს დეველოპერების მიერ სწრაფად და უშფოთველად.
მისი გაფართოების ბიბლიოთეკები მომხმარებლებს საშუალებას აძლევს ადვილად შექმნან ჩატბოტები და ვებ API ბოლო წერტილები. ეს შესანიშნავი მეთოდია თქვენი საიტის მრავალი ვერსიის ერთდროულად მართვისთვის, კომფორტისა და სიამოვნების კომპრომეტირების გარეშე, რომელსაც კლაუდიასგან ელოდით.
იგი მოიცავს ვერსიების მართვის მარტივ ინსტრუმენტს, რომელიც საშუალებას გაძლევთ ერთდროულად იმუშაოთ მრავალ ვერსიაზე, კონფლიქტების ან კოდების ზღვაში დაკარგვის გარეშე.
4. ზპაა
Zappa, პითონის კიდევ ერთი ჩარჩო, მარტივი გამოსაყენებელია და მდიდარია ფუნქციებით. ეს საშუალებას გაძლევთ შექმნათ და განათავსოთ ივენთზე ორიენტირებული სერვერის გარეშე Python-ზე დაფუძნებული აპლიკაციები AWS Lambda-ზე უპრობლემოდ.
Zappa ასევე პოპულარული ჩარჩოა WSGI-ზე დაფუძნებული აპლიკაციებისა და პროექტების შესაქმნელად.
ის თავსებადია თითქმის ნებისმიერ WSGI-თან შესაბამის ჩარჩოსთან, მათ შორის Pyramid, Bottle და თუნდაც Django.
გარდა ამისა, როდესაც გამოიყენება Flask-თან ერთად, Zappa იდეალურია რთული ჰოსტინგისთვის. ვებ პროგრამები, გამოსახულების დამუშავება, ტექსტის დამუშავება და რიცხვების შეკუმშვა.
Zappa ავტომატურად აკონფიგურირებს განლაგების პარამეტრებს. განათავსეთ აპლიკაცია წარმოების ეტაპზე ერთი ბრძანების ხაზის გამოყენებით, როდესაც პარამეტრები სათანადოდ არის მითითებული.
თუ გსურთ API Gateway CloudFormation შაბლონი, გამოიყენეთ შაბლონის ბრძანება.
გამოიყენეთ SSL სერთიფიკატები, AWS სერთიფიკატების მენეჯერის სერთიფიკატები და მოდით დავაშიფროთ სერთიფიკატები Zappa-ს მორგებულ ქვედომენებსა და დომენურ სახელებზე გამოსაყენებლად.
ჩართეთ API Gateway-ის უსაფრთხო საბოლოო წერტილები, მათ შორის API გასაღები, IAM პოლიტიკა, Lambda ავტორიზატორები, Cognito მომხმარებლის ფონდის ავტორიზატორები და რესურსების პოლიტიკა.
გარდა ამისა, S3 ფაილის გამოყენებით, შეგიძლიათ შეცვალოთ გარემოს ცვლადები ადგილობრივი გარემოსთვის, დისტანციური AWS გარემოსთვის და შორეული გარემოსთვის.
5. არქიტექტორი
Architect არის ძლიერი ჩარჩო სწრაფი, განახლებული და მასშტაბური ღრუბლოვანი აპლიკაციების შესაქმნელად.
ეს არის რთული და ყოვლისმომცველი ჩარჩო. ის საშუალებას აძლევს პროგრამისტებს სწრაფად შექმნან სერვერის გარეშე არქიტექტურა მინიმალური კოდის, ფორმალობის გარეშე და ლაკონური კონფიგურაციის გამოყენებით.
ამრიგად, მათ შეუძლიათ კონცენტრირება მხოლოდ ბიზნეს ლოგიკაზე. გარდა ამისა, თქვენ იხდით მხოლოდ იმ სერვისებისთვის, რომლებიც გამოიყენება, ითხოვენ ან მცირდება ნულამდე.
Architect შექმნილია ვებ აპლიკაციების შესაქმნელად დინამიური მონაცემთა ბაზის მხარდაჭერით. ტექნიკური გაგებით, ეს არის მოწინავე შეფუთვა AWS SAM-ისთვის.
ამრიგად, ყველაფერი, რაც შეიძლება გაკეთდეს SAM-ით, ასევე შეიძლება გაკეთდეს Architect-თან.
თუმცა, ჩარჩო აჯობებს ვებ აპების შექმნას. განლაგების მარტივი მიზნით, არქიტექტორი იყენებს ისეთ ტექნოლოგიებს, როგორიცაა Google Cloud Build და G Init პირობები.
ყოველგვარი ადამიანური შრომის გარეშე, არქიტექტორი იყენებს app.arc ფაილს ავტომატურად კონფიგურირებული და მოწოდებული კოდის შესაქმნელად მომხმარებლის ავტორიზაციის პარამეტრების შესაბამისად.
უბრალოდ გაშვება მათი სკრიპტები, შიდსის Javascript დეველოპერები წერილობით, გამართვისა და მათი ბიზნეს ლოგიკის შესამოწმებლად.
6. სიგმა
ღრუბელზე დაფუძნებული ახალი IDE სახელწოდებით Sigma დაფუძნებულია სერვერის გარეშე განვითარების კონცეფციაზე.
ეს არის სრულად გამორჩეული IDE, რომელიც საშუალებას გაძლევთ შექმნათ კოდი და გამოაქვეყნოთ ის, როგორც ცოცხალი აპლიკაცია რეალურ დროში. ეს არ არის უბრალოდ მარტივი ტექსტური რედაქტორი რამდენიმე ლამაზი ფუნქციით.
Sigma IDE-ს შეუძლია დაუკავშირდეს თქვენს მიერ არჩეულ სერვერულ (FaaS) პლატფორმას, მაგრამ მხოლოდ კონფიგურაციის ფაილის არსებობის შემთხვევაში.
შედეგად, თქვენ შეგიძლიათ თავიდან აიცილოთ დამღლელი სამუშაოების შესრულება უამრავი საათის განმავლობაში. Sigma ბუნებით სერვერის გარეშეა, განსხვავებით სხვა პროგრამებისგან, რომლებიც ცდილობენ მიაღწიონ შესადარებელ მიზნებს.
რამდენიმე გამონაკლისის გარდა, IDE შეიძლება გამოყენებულ იქნას უკანა სერვისის გარეშე, მხოლოდ ბრაუზერის შიგნით გაშვებით. კერძოდ, back-end აუცილებელია ანალიტიკური მონაცემების შეგროვებისა და მომხმარებლების ავთენტიფიკაციისთვის.
აპლიკაციები განლაგებულია თანდათანობით და უკავშირდება ბევრ სხვა AWS სერვისს, მათ შორის DynamoDB, AWS Lambda და AWS API.
NodeJS კარგად არის მხარდაჭერილი Sigma IDE-ის მიერ, რადგან ის რეალურ დროში აპლიკაციების საშუალებას იძლევა. მნიშვნელოვანია თვალი ადევნოთ ამას და სცადოთ.
7. თვითმფრინავები
გიყვართ რუბი?
მაშინ შეიძლება დააფასოთ Jets, უსერვერო Ruby Framework მიკროსერვისების დიზაინისა და განლაგებისთვის. თქვენ შეგიძლიათ შექმნათ API სტრუქტურები და მიაწოდოთ ისინი ლამბდას ფრეიმერის ყოვლისმომცველი ხელსაწყოების ნაკრებით.
Jets ასევე შეიძლება გამოყენებულ იქნას დამოუკიდებელი ფუნქციების შესაქმნელად, რომლებიც აკავშირებს რამდენიმე AWS სერვისსა და რესურსს.
თქვენი მიმდინარე კოდი გარდაიქმნება ფუნქციებად ლამბდასა და სხვა AWS სერვისებისთვის Jets ჩარჩოს მეშვეობით.
ეს საშუალებას გაძლევთ დახარჯოთ მეტი დრო ფუნქციური კოდის შექმნაზე ისეთი პროცესების გამოტოვებით, როგორიცაა განლაგება და უზრუნველყოფა.
Ruby კოდი შეიძლება დაიწეროს დეველოპერებმა და გადაკეთდეს Lambda ფუნქციებად და Amazon API Gateway რესურსებად Jets-ის მიერ.
შედეგად, 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-ს მსგავსი აღსრულების გარემოს გამოყენებით.
დეველოპერებს შეუძლიათ Cloud-ში კოდის ცვლილებების ტესტირება 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-ს სიმარტივე ინტეგრაციისას მანქანა სწავლის (ML) მოდელები.
ის გთავაზობთ გადაწყვეტილებებს სხვადასხვა ბიზნესისთვის, რომლებსაც სჭირდებათ სწრაფი რეაგირება და აპლიკაციების სწრაფად განვითარება დროის დაზოგვის მიზნით.
Golang პროგრამირების ენა და ვიზუალური ვებ ინტერფეისი მხარდაჭერილია Flogo-ს მიერ და მათი გამოყენება შესაძლებელია თქვენი აპების დიზაინისა და შესაქმნელად.
10. AWS გაძლიერება
გამოიყენეთ AWS Amplify ჩარჩო, რათა მარტივად შექმნათ მასშტაბირებადი სერვერის გარეშე აპლიკაციები ვებ და მობილური პლატფორმებისთვის და ისიამოვნოთ უსაზღვრო მოქნილობით.
ინტელექტუალური პროცესების გამოყენებით, თქვენ შეგიძლიათ დააკონფიგურიროთ თქვენი უსერვერო ბექენდები მონაცემებით, შენახვით, ავთენტიფიკაციით და სხვა.
კოდის ნაკლები ხაზით, დაუკავშირეთ მობილური და ვებ აპლიკაციები ახალ ან არსებულ AWS სერვისებს.
ერთი გვერდიანი ვებ აპლიკაციები, სერვერის მხრიდან გაფორმებული აპლიკაციები და სტატუსის ვებგვერდები შეიძლება განთავსდეს და განთავსდეს მხოლოდ რამდენიმე დაწკაპუნებით.
გარდა ამისა, ეს აადვილებს აპის მომხმარებლებისა და შინაარსის მართვას. წინა დონის მობილური და ვებ დეველოპერებს შეუძლიათ AWS-ზე უფრო სწრაფად შექმნან სრული დასტა აპლიკაციები და შეცვალონ აპი ნებისმიერ დროს, როცა დაგჭირდებათ AWS Amplify-ის დახმარებით.
მრავალი ვებ ჩარჩო, მათ შორის რეაგირებას, Angular, JavaScript, Vue.js, Next.js და ა.შ., ისევე როგორც მობილური პლატფორმები, მათ შორის iOS, Ionic, Flutter, Android და React Native, მხარდაჭერილია Amplify-ის მიერ.
დასკვნა
ჩვენ ახლა გავაშუქეთ ყველაზე სერვერის გარეშე ჩარჩოები, რომელთა ინტეგრირებაც შეგიძლიათ თქვენს აპლიკაციაში.
ეს ტექნოლოგია საშუალებას გვაძლევს უფრო სწრაფად გამოვაქვეყნოთ აპლიკაციები ბაზარზე და გავზარდოთ ღირებულება თქვენი აპლიკაციის ოპტიმიზაციის გზით, ასევე დაზოგოთ ფული და რესურსები რესურსების სკალირების გზით ტრაფიკის მოთხოვნის შესაბამისად.
ჩვენი ღრუბელზე დაფუძნებული აპლიკაციების შექმნისა და მიწოდების უახლესი ტენდენცია არის სერვერის გარეშე გამოთვლა. მომდევნო წლებში შეიქმნება მრავალი ახალი სერვერის გარეშე ჩარჩო, რათა გაამარტივოს ბიზნეს გადაწყვეტილებები, შეამციროს ხარჯები და უზრუნველყოს ტექნოლოგია გარკვეული დამატებითი უპირატესობებით.
დატოვე პასუხი