AWS Lambda თუ Cloudflare Workers: სწრაფი edge-ს უფრო მკაცრი ჩარჩო ახლავს

|ავტორი: QUASA-ს სარედაქციო გუნდი|5 წთ საკითხავი
AWS Lambda თუ Cloudflare Workers: სწრაფი edge-ს უფრო მკაცრი ჩარჩო ახლავს

მოკლე API-სთვის, რომელსაც სხვადასხვა რეგიონიდან მიმართავენ, Cloudflare Workers-ის edge შესრულება მიმზიდველია. თუ ფუნქციას მეტი მეხსიერება ან ხანგრძლივი აქტიური გამოთვლა სჭირდება, AWS Lambda Event Functions უფრო ფართო რესურსულ ჩარჩოს იძლევა. არჩევანისას მხოლოდ მილიონი მოთხოვნის ფასის შედარება საკმარისი არ არის.

ფასი იმაზეც არის დამოკიდებული, რას აკეთებს ფუნქცია მოთხოვნის მიღების შემდეგ: სწრაფად აბრუნებს პასუხს, გარე სერვისს ელოდება თუ პროცესორს დიდხანს ამუშავებს. ქვემოთ მოცემული სამი თვიური ანგარიში პირობითია. ისინი ერთი და იმავე აპლიკაციის გაზომილ ხარჯს ან ორივე პლატფორმაზე კოდის ერთნაირ სიჩქარეს არ გულისხმობს.

რას ითვლის თითოეული ტარიფი

AWS Lambda Event Functions-ის ტარიფი მოთხოვნებსა და გამოყოფილი მეხსიერებით გამრავლებულ შესრულების დროს ითვლის. უფასო თვიური მოცულობა მილიონ მოთხოვნასა და 400 000 GB-წამს მოიცავს. AWS-ის x86 მაგალითში, აშშ-ის აღმოსავლეთ რეგიონში, დამატებითი მილიონი მოთხოვნა $0,20 ღირს, ხოლო პირველი საფასო საფეხურის განაკვეთი თითო GB-წამზე $0,0000166667-ია. ინიციალიზაციის კოდში გატარებული დროც შეიძლება დარიცხულ ხანგრძლივობაში შევიდეს.

Cloudflare Workers Paid-ის ტარიფში მინიმალური გადასახადი ანგარიშზე თვეში $5-ია. Standard მოდელი მოიცავს 10 მილიონ მოთხოვნასა და 30 მილიონ CPU-მილიწამს; დამატებითი მილიონი მოთხოვნა $0,30, ხოლო მილიონი CPU-მილიწამი $0,02 ღირს. მოთხოვნის სრული ხანგრძლივობა ცალკე არ იბეგრება და Workers-ის მონაცემთა გადაცემაზე დამატებითი გადასახადი არ არის. საცავს, მონაცემთა ბაზას ან სხვა დაკავშირებულ პროდუქტს საკუთარი ხარჯი შეიძლება ჰქონდეს.

ამ ანგარიშებში Lambda-სთვის გამოყენებულია Event Functions-ის x86 განაკვეთი და დაშვებულია, რომ მისი უფასო მოცულობა სხვა ფუნქციებს არ დაუხარჯავს. AWS ცალკე აღწერს Lambda Web Functions-საც, რომლის ფასი აქტიურ CPU-ზე, მეხსიერებასა და მოთხოვნებზეა აგებული; ქვემოთ მოყვანილი Lambda-ს თანხები ამ რეჟიმს არ ეხება. ორივე პლატფორმაზე თითო მოთხოვნა ფუნქციას ერთხელ იძახებს. HTTP შესასვლელის, დამოკიდებული სერვისებისა და შენახვის შესაძლო ხარჯები გამოტოვებულია.

სწრაფი შესრულება და ცივი გაშვება

EuroSys 2026-ის კვლევაში მინიმალური ფუნქცია ცარიელ პასუხს აბრუნებდა, ხოლო ხანგრძლივობები პლატფორმების მიერ მოწოდებულ მონაცემებს ეყრდნობოდა. ასეთ პირობებში Lambda-ს მოთხოვნის დამუშავების არქიტექტურული ზედნადები საშუალოდ დაახლოებით 1,17 მილიწამი იყო; Workers-ის მაჩვენებელი Cloudflare-ის მიერ წარმოდგენილი 0,01 მილიწამის სიზუსტის ზღვარს ქვემოთ დარჩა. ეს საქართველოდან API-ის სრული პასუხის დრო არ არის: მას ქსელური გზა, აპლიკაციის კოდი და გარე სერვისების პასუხიც ემატება.

კვლევაში აღწერილი Lambda Event Functions მოთხოვნას runtime-ის ხანგრძლივი გამოკითხვის გზით იღებს, Workers კი კოდს იზოლირებულ გარემოში ასრულებს. ცივი გაშვება ცალკე მოვლენაა — ახალი შესრულების გარემოს მომზადება უმოქმედობის ან მასშტაბირების შემდეგ. Cloudflare ფუნქციის წინასწარ მომზადებას TLS კავშირის დამყარების ეტაპზე იწყებს, რამაც ჩატვირთვის დაყოვნება შეიძლება დაფაროს. იშვიათ webhook-ზე გარემოს ხელახალი მომზადება მომხმარებლისთვის უფრო შესამჩნევი შეიძლება იყოს, ვიდრე მინიმალური ფუნქციის არქიტექტურული სხვაობა.

მოკლე edge API: ფუნქციის იაფი ანგარიში

მოკლე API-ის პირობით სცენარში AWS Lambda-ს ფუნქციის ხარჯი Cloudflare Workers Paid-ის ხარჯზე დაბალია.

დავუშვათ, API თვეში 12 მილიონ მოთხოვნას იღებს. Lambda-ს თითოეულ გამოძახებაზე 128 MB აქვს გამოყოფილი და შესრულება 20 მილიწამს გრძელდება; Workers თითო მოთხოვნაზე 2 მილიწამ აქტიურ CPU დროს ხარჯავს. Lambda-ს ჯამი 30 000 GB-წამია, რაც დაშვებულ უფასო მოცულობაში ეტევა. გადასახდელი რჩება 11 მილიონი მოთხოვნა — $2,20.

Workers იმავე ტრაფიკზე 24 მილიონ CPU-მილიწამს ხარჯავს, ანუ ჩართულ CPU მოცულობას არ აჭარბებს. დამატებითი 2 მილიონი მოთხოვნა $0,60 ღირს და Paid გეგმის თვიური ჯამი $5,60 გამოდის. ამ მხოლოდ ფუნქციის ანგარიშში Lambda იაფია. Workers-ის სასარგებლოდ შეიძლება გადაწყვიტოს edge-ზე შესრულებამ, მაგრამ რეალური დაყოვნება მომხმარებლებისა და მონაცემთა წყაროს მდებარეობაზე იქნება დამოკიდებული. თუ Lambda-ს წინ ფასიანი HTTP შესასვლელი დგას, მისი გადასახადი ცალკე უნდა დაემატოს.

არათანაბარი webhook-ები: ლოდინი ფასს ცვლის

მეორე პირობით სცენარში თვეში 8 მილიონი webhook მოდის. მათი 90% Lambda-ში 50 მილიწამს გრძელდება და Workers-ში 5 მილიწამ CPU-ს იყენებს. დარჩენილი 10% გარე სისტემის პასუხს ელოდება: Lambda-ში თითოეული ასეთი გამოძახება 5 წამს გრძელდება, Workers-ში კი მისი აქტიური CPU დრო მხოლოდ 50 მილიწამია. ორივე პლატფორმა ერთსა და იმავე პასუხს აბრუნებს; განსხვავდება დრო, რომელსაც მათი ტარიფები ითვლის.

512 MB-იანი Lambda-სთვის ეს დატვირთვა 2,18 მილიონ GB-წამს იძლევა. უფასო მოცულობის გამოკლებით შესრულება დაახლოებით $29,67, მოთხოვნები კი $1,40 ღირს — ჯამში $31,07. Workers-ის 76 მილიონი CPU-მილიწამიდან 46 მილიონი ჩართულ მოცულობას აჭარბებს; დამატება $0,92-ია და Paid გეგმით ჯამი $5,92 გამოდის. სხვაობას ქმნის დაშვება, რომ ნელი webhook უმეტეს დროს ქსელს ელოდება. თუ ის პროცესორს ამუშავებს, Workers-ის CPU ხარჯიც მოიმატებს.

არათანაბარ ტრაფიკში საშუალო დრო მთელ სურათს ვერ აღწერს. webhook-ების მცირე, მაგრამ ნელი ჯგუფი Lambda-ს GB-წამების დიდ ნაწილს ქმნის, მაშინაც კი, როცა მოთხოვნების უმრავლესობა სწრაფია. ასეთ დატვირთვაზე ფასის შესაფასებლად საჭიროა ცალკე ვიცოდეთ სრული შესრულების ხანგრძლივობა და აქტიური CPU დრო; მხოლოდ მოთხოვნების რაოდენობა ამ სხვაობას ფარავს.

ხანგრძლივი გამოთვლა: რესურსის ზღვარი ფასზე წინ დგას

ექვსწუთიანი პირობითი CPU ამოცანა Cloudflare Workers-ის HTTP ლიმიტს აჭარბებს, AWS Lambda-ს შესრულების ვადაში კი ეტევა.

მესამე პირობით სცენარში თვეში 100 000 ამოცანა სრულდება და თითოეულს 4 წუთი აქტიური გამოთვლა სჭირდება. თუ Lambda-ზე თითო ამოცანას 2 GB მეხსიერება და ამდენივე შესრულების დრო სჭირდება, მიიღება 48 მილიონი GB-წამი. უფასო ნაწილის გამოკლების შემდეგ ფუნქციის ხარჯი დაახლოებით $793,33-ია. Workers-ზე იმავე CPU ხანგრძლივობის თეორიული ანგარიში $484,40 გამოდის, თუკი ამოცანა მის მეხსიერებაში ეტევა. ეს ტარიფების არითმეტიკაა; მეხსიერების გამოყოფა და კოდის წარმადობა ორ გარემოში ერთნაირი არ არის.

Workers-ის რესურსული ლიმიტებით, თითო იზოლატს 128 MB მეხსიერება აქვს. Paid გეგმაზე HTTP მოთხოვნის CPU-ის ნაგულისხმევი ზღვარი 30 წამია და მისი გაზრდა მაქსიმუმ 5 წუთამდე შეიძლება. შესაბამისად, პირობითი 4-წუთიანი ამოცანა მხოლოდ გაზრდილი ლიმიტით და ამ მეხსიერების ფარგლებში ეტევა. HTTP მოთხოვნის სრულ ხანგრძლივობას მკაცრი ზღვარი არ აქვს, სანამ კლიენტი დაკავშირებულია, მაგრამ ქსელის ლოდინი CPU-ის ზღვარს არ ზრდის.

Lambda-ს ფუნქციის კვოტები ჩვეულებრივ Event Functions-ს 128 MB-დან 10 240 MB-მდე მეხსიერების არჩევისა და მაქსიმუმ 15-წუთიანი შესრულების საშუალებას აძლევს. ამდენად, 128 MB-ზე მეტი სამუშაო მეხსიერების ან 5 წუთზე მეტი აქტიური CPU დროის საჭიროებისას Workers-ის თეორიულად დაბალი ფასი ამავე ფორმით გამოსადეგ არჩევანს აღარ ნიშნავს. მოკლე და ლოდინით დატვირთულ API-ზე ბილინგის ერთეული შეიძლება გადამწყვეტი იყოს; მძიმე ფუნქციაზე ჯერ მისი გაშვების შესაძლებლობა წყდება.

ასევე წაიკითხეთ:

გაზიარება:

გამოიწერეთ ჩვენი ბიულეტენი

მიიღეთ უახლესი ამბები Web3-ის, AI-სა და კრიპტოს შესახებ პირდაპირ თქვენს ელფოსტაზე.

0