Εργαζόμενοι στο Cloudflare

Γρήγορες λειτουργίες χωρίς διακομιστές που φιλοξενούνται από το CDN του Cloudflare

Λειτουργίες χωρίς διακομιστή στο δίκτυο Edge

Το Cloudflare διαθέτει μια ολόκληρη σειρά προϊόντων που βασίζονται σε σύννεφο και σας προσφέρουν ένα "backend-as-a-service" και το Cloudflare Workers είναι ένα σημαντικό μέρος αυτής της σουίτας. Το Cloudflare Workers είναι λειτουργίες χωρίς διακομιστές, γραμμένες σε Javascript (ή κατά προτίμηση, Typescript) που φιλοξενούνται σε περιβάλλον Node.js που τροφοδοτείται από τη μηχανή V8. Μπορείτε να τα γράψετε τοπικά και να τα αναπτύξετε μέσω του "wrangler" -CLI ή να αναπτυχθείτε απευθείας στο cloud.

// This is a minimal example for a
// serverless function hosed by
// Cloudflare. You define this code
// in a JS-file and upload it via the
// 'wrangler'-CLI.

addEventListener("fetch", event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  return new Response("Hello world")
}

Εάν ακούτε για "λειτουργίες χωρίς διακομιστή" εδώ για πρώτη φορά, ακολουθεί μια γρήγορη εξήγηση. Οι λειτουργίες χωρίς διακομιστές είναι κυριολεκτικά συναρτήσεις που ενσωματώνουν την επιχειρησιακή λογική της υπηρεσίας σας και φιλοξενούνται στο cloud. Το κύριο πλεονέκτημα είναι ότι δεν χρειάζεται να χάνετε ούτε ένα δευτερόλεπτο του χρόνου σας για τη φιλοξενία, την ενημέρωση κώδικα και τη συντήρηση ενός διακομιστή μόνοι σας. Απλώς "ανεβάζετε" τις λειτουργίες σας και είναι διαθέσιμες παγκοσμίως σε λίγα λεπτά.

Το Cloudflare προωθεί ιδιαίτερα την ταχύτητα των προϊόντων του, καθώς ελέγχει ένα πολύ μεγάλο δίκτυο παράδοσης περιεχομένου, με πολλά τελικά σημεία σε ολόκληρο τον πλανήτη. Φυσικά, αυτό το CDN αξιοποιείται επίσης για το Cloudflare Workers.

Πώς να διανείμετε το backend σας σε όλο τον κόσμο

Κάθε φορά που αναπτύσσετε το Cloudflare Workers, κοινοποιούνται και ενημερώνονται σε πολλές τοποθεσίες παγκοσμίως. Αυτό επιτρέπει στο Cloudflare να δρομολογεί εισερχόμενα αιτήματα στο πλησιέστερο τελικό σημείο για να επικαλεστεί τις λειτουργίες χωρίς διακομιστή, γεγονός που μειώνει την καθυστέρηση δικτύου σε μερικά χιλιοστά του δευτερολέπτου. Αυτή η δρομολόγηση που πραγματοποιείται από το Cloudflare είναι διαφανής κατά την υποβολή αιτημάτων - η δρομολόγηση και η φόρτωση ισορροπίας πραγματοποιούνται αυτόματα στο παρασκήνιο.

Για να κατανοήσετε καλύτερα την τοπολογία της αρχιτεκτονικής του Cloudflare Worker, ακολουθεί μια ανάλυση από υψηλό σε χαμηλό επίπεδο:

Όπως αναφέρθηκε, το Cloudflare διαθέτει ένα CDN που αποτελείται από πολλούς διακομιστές σε διαφορετικές τοποθεσίες στον κόσμο
Μια μεμονωμένη τοποθεσία αποτελείται από πολλούς διακομιστές που επεξεργάζονται εισερχόμενα αιτήματα
Μεγέθυνση σε έναν μόνο διακομιστή, βλέπουμε ότι αυτό το μηχάνημα εκτελεί το λεγόμενο «Worktime runtime», το οποίο τροφοδοτείται από τον κινητήρα Javascript V8
Τέλος, η λειτουργία χωρίς διακομιστή σας είναι μόνο μία "απομόνωση" εντός αυτού του χρόνου εκτέλεσης. Ένας ενιαίος χρόνος εκτέλεσης μπορεί να φιλοξενήσει χιλιάδες λειτουργίες ταυτόχρονα

Ένα ιδιαίτερα σημαντικό κομμάτι πληροφοριών: κάθε Cloudflare Worker που αναπτύσσετε έχει τη δική του μνήμη, απομονωμένη από κάθε άλλη διαδικασία. Αυτό διασφαλίζει ότι τα δεδομένα σας είναι πραγματικά προσβάσιμα μόνο από την περίπτωσή σας.

Πότε να χρησιμοποιείτε το Cloudflare Workers και πότε όχι

Το Cloudflare Workers ακούγεται πολύ συναρπαστικό και σίγουρα αξίζει να το δοκιμάσετε, ακόμα κι αν έχετε ήδη υπάρχουσες εφαρμογές που χρησιμοποιούν λειτουργίες χωρίς διακομιστές από άλλους παρόχους. Ωστόσο, αυτό μπορεί επίσης να επισημάνει τον κύριο λόγο για τον οποίο το προϊόν Cloudflare είναι πιο δύσκολο να υιοθετηθεί: Πολλές υπηρεσίες, όπως το Next.js σε συνδυασμό με το Vercel ή το Firebase από την Google, προσφέρουν επίσης τέτοιες λύσεις. Εάν χρησιμοποιείτε τα προϊόντα τους αυτήν τη στιγμή, η μετάβαση στο Cloudflare δεν έχει νόημα.

Αλλά εάν ξεκινάτε ένα νέο έργο, αξίζει να εξετάσετε το ενδεχόμενο να χρησιμοποιήσετε το Cloudflare Workers ως το backend σας. Η χρήση τους είναι πρακτικά απεριόριστη όσον αφορά τις περιπτώσεις χρήσης. Επιπλέον, το Cloudflare προσφέρει μια μεγάλη γκάμα άλλων υπηρεσιών που μπορεί να ταιριάζουν μόνο στις απαιτήσεις σας.

Προτάσεις

Σχετικά

Προσάρτημα

Γλώσσες