
AWS-მა წარადგინა Lambda Web Functions სტანდარტული HTTP აპლიკაციებისთვის
AWS-მა შექმნა Lambda Web Functions, ახალი ტიპი, რომელიც სტანდარტულ Node.js HTTP სერვერებს Lambda-ზე აშვებს ადაპტერების გარეშე. გთავაზობთ მრავალკონკურენტულ შესრულებას, აქტიური CPU-ს ბილინგს, ერთი ბრძანებით დეპლოის მრავალრეგიონული როუტინგით.
Amazon Web Services-მა გამოაცხადა AWS Lambda Web Functions, ახალი ფორმ-ფაქტორი, რომელიც დეველოპერებს საშუალებას აძლევს, სტანდარტული HTTP ვებ-აპლიკაციები Lambda-ზე გაუშვან კოდის მოვლენის დამმუშავებელ ფუნქციად გადაწერის გარეშე. Express-ით, Hono-თი, Fastify-ით, Next.js-ით ან ნებისმიერი Node.js ფრეიმვორკით აწყობილი აპლიკაციები შეიძლება ერთი ბრძანებით განთავსდეს, Lambda კი სკალირებას, მრავალრეგიონულ გავრცელებასა და აქტიური CPU-ს ბილინგს უზრუნველყოფს.
Lambda-ის სამი ფორმ-ფაქტორი
ამ გამოშვებით AWS Lambda ახლა სამ სხვადასხვა ფორმ-ფაქტორს გვთავაზობს, რომელთაგან თითოეული ერთსა და იმავე Firecracker იზოლაციის ტექნოლოგიას ეფუძნება. Lambda Event Functions იყენებს მოვლენებით მართულ, ერთდროულად ერთი მოთხოვნის დამმუშავებელ მოდელს რეალური დროის ბილინგით და გამოდგება მოვლენების დამუშავებისთვის, რიგების მომხმარებლებისთვის და სხვა AWS სერვისებით გამოწვეული გამოძახებებისთვის. Lambda Web Functions იყენებს HTTP-ზე ორიენტირებულ პროგრამირების მოდელს მრავალკონკურენტული შესრულებითა და აქტიური CPU-ს ბილინგით და გამიზნულია ვებ-აპლიკაციებზე, API-ბექენდებსა და ინტერაქტიულ HTTP დატვირთვებზე. Lambda MicroVMs გთავაზობთ იზოლირებულ, მდგომარეობის მქონე სენდბოქს გარემოებს მომხმარებლის მიერ მართული სასიცოცხლო ციკლებით, რათა გაუშვათ არასანდო ან მომხმარებლის მიერ გენერირებული კოდი.
როგორ მუშაობს Web Functions
Web Function-ის თითოეული შესრულების გარემო ერთდროულად 128-მდე კონკურენტულ მოთხოვნას ამუშავებს, ამიტომ ტრაფიკის აფეთქებებს შეუძლიათ გაზიარებული თბილი გარემოები გამოიყენონ, იმის ნაცვლად, რომ ყოველი მოთხოვნა ახალ გარემოს დაუკავშირდეს. Web Functions ითვლის მხოლოდ იმ CPU-ს დროს, რომელსაც კოდი რეალურად იყენებს, რაც ნიშნავს, რომ მონაცემთა ბაზის მოთხოვნის ან API გამოძახების ლოდინში გატარებული დრო ცოტა CPU-ს მოიხმარს, მეხსიერება კი ითვლება მანამ, სანამ შესრულების გარემო არსებობს. AWS-ის თქმით, ამან შეიძლება შეამციროს გამოთვლითი ხარჯები I/O-ინტენსიური დატვირთვებისთვის, როგორიცაა სერვერზე რენდერინგი, API-ბექენდები და AI inference endpoint-ები, რომლებიც token-ებით პასუხებს სტრიმინგავენ.
დეველოპერები წერენ სტანდარტულ პორტზე მსმენელ სერვერს და host-სა და პორტს კითხულობენ AWS_LAMBDA_HTTP_ENDPOINT გარემოს ცვლადიდან, რომელსაც Lambda ავტომატურად ადგენს. განთავსება ხდება AWS CLI-ის მეშვეობით ერთი ბრძანებით, aws lambda-web deploy, რომელიც აფუთავს წყაროს, ქმნის Web Function-ს, აქვეყნებს მის პირველ რევიზიას, მიურთავს endpoint-ს და აბრუნებს ცოცხალ HTTPS URL-ს. რევიზიები განთავსებული კოდის უცვლელი სნეპშოტებია, endpoint-ები კი HTTPS URL-ები, რომლებიც ტრაფიკს რევიზიაზე მიმართავენ ან რევიზიებს შორის ანაწილებენ.
მრავალრეგიონული განთავსება და ტრაფიკის გადანაწილება
deploy ბრძანებისთვის --regions დროშის გადაცემა კოდს მრავალ რეგიონში ამრავლებს და ერთი გლობალური URL-ის მეშვეობით ავტომატურად აყენებს ლატენტობაზე დაფუძნებულ როუტინგს, თითოეულ მოთხოვნას კი მაქსიმალური ძალისხმევით უგზავნის გამომძახებლისთვის ყველაზე დაბალი ლატენტობის მქონე რეგიონს. კოდის ცვლილების შემდეგ deploy ბრძანების ხელახლა გაშვება ატვირთავს ახალ რევიზიას და endpoint-ს რამდენიმე წამში მასზე მიუთითებს. ეტაპობრივი გაშვებისთვის ერთი API გამოძახებით შეიძლება ტრაფიკის გადანაწილება რევიზიებს შორის კონფიგურირებული წონებით, რაც დამატებითი ხელსაწყოების გარეშე canary განთავსებას შესაძლებელს ხდის.
CloudFront-თან ინტეგრაცია და ხელმისაწვდომობა
Web Functions შეიძლება გამოდგეს origin-ად Amazon CloudFront განაწილებებისთვის: სტატიკური რესურსები ქეშიდან მიეწოდება, დინამიკური მოთხოვნები კი ფუნქციაზე გადამისამართდება. გამოშვება აუმჯობესებს private-origin გამოცდილებასაც: მომხმარებლები CloudFront origin access control-ს ამაგრებენ Web Function endpoint-ს, ამიტომ CloudFront მოთხოვნებს ხელს აწერს და endpoint მხოლოდ იმ განაწილებას აძლევს მისი გამოძახების უფლებას, რაც ემთხვევა private-origin მოდელს, რომელსაც CloudFront უკვე Amazon S3-ისთვის იყენებს.
Lambda Web Functions დღეს ხელმისაწვდომია აშშ-ის აღმოსავლეთში (ჩრდილოეთ ვირჯინია), აშშ-ის აღმოსავლეთში (ოჰაიო), აშშ-ის დასავლეთში (ორეგონი), აზია-წყნარი ოკეანის რეგიონში (ტოკიო) და ევროპაში (ირლანდია). Web Functions გაშვებისას მუშაობს Node.js 24 (nodejs24.x) Arm64-ზე და მხარს უჭერს Amazon VPC-თან კავშირს VPC-ის შიგნით არსებულ რესურსებზე წვდომისთვის.
წყაროები: AWS News Blog
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.