Προγραμματισμός

Τι είναι το PaaS; Εξήγησε η πλατφόρμα ως υπηρεσία

Το Platform-as-a-service (PaaS) είναι ένας τύπος προσφοράς cloud computing στην οποία ένας πάροχος υπηρεσιών παρέχει μια πλατφόρμα σε πελάτες, επιτρέποντάς τους να αναπτύξουν, να τρέξουν και να διαχειριστούν επιχειρηματικές εφαρμογές χωρίς να χρειάζεται να χτίσουν και να διατηρήσουν την υποδομή αυτού του λογισμικού συνήθως απαιτούνται διαδικασίες ανάπτυξης.

Επειδή οι αρχιτεκτονικές PaaS διατηρούν την υποκείμενη υποδομή μακριά από τους προγραμματιστές και άλλους χρήστες, το μοντέλο είναι παρόμοιο με τις έννοιες του υπολογιστικού συστήματος χωρίς διακομιστές και της λειτουργίας-ως-υπηρεσία (FaaS), στις οποίες ένας πάροχος υπηρεσιών cloud παρέχει και εκτελεί τον διακομιστή και διαχειρίζεται την κατανομή των πόρων.

Το FaaS είναι ένας τύπος προσφοράς χωρίς διακομιστή που επιτρέπει στις εταιρείες να αναπτύσσουν και να εκτελούν διακριτές λειτουργίες βάσει συμβάντων χωρίς την πολυπλοκότητα της κατασκευής και της συντήρησης της υποδομής που συνήθως απαιτείται για την ανάπτυξη και την εκκίνηση μιας εφαρμογής.

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

Όλα στην οικογένεια cloud

Όπως και με άλλες υπηρεσίες cloud, όπως υποδομή-ως-υπηρεσία (IaaS) και λογισμικό-ως-υπηρεσία (SaaS), το PaaS προσφέρεται μέσω της φιλοξενούμενης υποδομής του παρόχου υπηρεσιών cloud. Οι χρήστες έχουν συνήθως πρόσβαση στις προσφορές PaaS μέσω ενός προγράμματος περιήγησης ιστού.

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

Με μια ιδιωτική προσφορά cloud, το PaaS παραδίδεται ως λογισμικό ή συσκευή εντός του τείχους προστασίας ενός πελάτη, συνήθως στο κέντρο δεδομένων του. Το υβριδικό cloud PaaS προσφέρει ένα συνδυασμό των δύο τύπων υπηρεσίας cloud.

Αντί να αντικαταστήσει ολόκληρη την υποδομή πληροφορικής ενός οργανισμού για την ανάπτυξη λογισμικού, το PaaS παρέχει βασικές υπηρεσίες όπως φιλοξενία εφαρμογών ή ανάπτυξη Java. Ορισμένες προσφορές PaaS περιλαμβάνουν σχεδιασμό εφαρμογών, ανάπτυξη, δοκιμή και ανάπτυξη. Οι υπηρεσίες PaaS μπορούν επίσης να περιλαμβάνουν ενοποίηση υπηρεσιών Ιστού, συνεργασία ομάδας ανάπτυξης, ενοποίηση βάσεων δεδομένων και ασφάλεια πληροφοριών.

Όπως και με άλλους τύπους υπηρεσιών cloud, οι πελάτες πληρώνουν για PaaS ανά χρήση, με ορισμένους παρόχους να χρεώνουν ένα σταθερό μηνιαίο τέλος για πρόσβαση στην πλατφόρμα και εφαρμογές που φιλοξενούνται στην πλατφόρμα.

Σχετικό βίντεο: Ποια είναι η προσέγγιση εγγενών σύννεφων;

Σε αυτό το βίντεο 60 δευτερολέπτων, μάθετε πώς η προσέγγιση που βασίζεται στο cloud αλλάζει τον τρόπο με τον οποίο οι επιχειρήσεις δομούν τις τεχνολογίες τους, από τον Craig McLuckie, ιδρυτή και διευθύνοντα σύμβουλο της Heptio, και έναν από τους εφευρέτες του συστήματος ανοιχτού κώδικα Kubernetes.

Πλεονεκτήματα PaaS

Ένα από τα μεγαλύτερα πλεονεκτήματα του PaaS είναι ότι οι επιχειρήσεις μπορούν να αποκτήσουν ένα περιβάλλον στο οποίο να δημιουργούν και να αναπτύσσουν νέες εφαρμογές χωρίς να χρειάζεται να ξοδεύουν χρόνο και χρήμα για τη δημιουργία και συντήρηση μιας υποδομής που περιλαμβάνει διακομιστές και βάσεις δεδομένων.

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

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

Και η χρήση του PaaS αναγκάζει τους προγραμματιστές εταιρικών λογισμικών να χρησιμοποιούν τεχνικές cloud στις εφαρμογές τους, βοηθώντας στη συνέχεια να υιοθετήσουν σύγχρονες αρχές και να εκμεταλλευτούν καλύτερα τις πλατφόρμες υποδομής cloud (IaaS).

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

Εφαρμογές PaaS

Η παροχή ενός φιλοξενούμενου περιβάλλοντος για ανάπτυξη εφαρμογών, δοκιμές και ανάπτυξη είναι μία από τις πιο κοινές χρήσεις για το PaaS. Αλλά δεν είναι ο μόνος λόγος για τον οποίο οι επιχειρήσεις χρησιμοποιούν το PaaS.

Η ερευνητική εταιρεία Gartner αναφέρει μια ποικιλία περιπτώσεων χρήσης για το PaaS, όπως:

  • Ανάπτυξη και διαχείριση API. Οι εταιρείες μπορούν να χρησιμοποιήσουν το PaaS για να αναπτύξουν, να εκτελέσουν, να διαχειριστούν και να ασφαλίσουν διεπαφές προγραμματισμού εφαρμογών και μικροσυσκευές. Αυτό περιλαμβάνει τη δημιουργία νέων API και νέων διεπαφών για υπάρχοντα API, καθώς και διαχείριση API end-to-end.
  • Επιχειρηματική ανάλυση / νοημοσύνη. Τα εργαλεία που παρέχονται μέσω PaaS επιτρέπουν στις επιχειρήσεις να αναλύσουν τα δεδομένα τους για να βρουν επιχειρηματικές πληροφορίες και πρότυπα συμπεριφοράς, ώστε να μπορούν να λαμβάνουν καλύτερες αποφάσεις και να προβλέπουν με μεγαλύτερη ακρίβεια μελλοντικά γεγονότα, όπως η ζήτηση αγοράς για προϊόντα,
  • Διαχείριση επιχειρηματικών διαδικασιών (BPM). Οι οργανισμοί μπορούν να χρησιμοποιήσουν το PaaS για να αποκτήσουν πρόσβαση σε μια πλατφόρμα BPM που παρέχεται ως υπηρεσία όπως και με άλλες προσφορές cloud. Οι σουίτες BPM ενσωματώνουν στοιχεία πληροφορικής που απαιτούνται για τη διαχείριση διεργασιών, συμπεριλαμβανομένων δεδομένων, επιχειρηματικών κανόνων και συμφωνιών σε επίπεδο υπηρεσίας.
  • Διαβιβάσεις. Το PaaS μπορεί επίσης να χρησιμεύσει ως μηχανισμός παράδοσης για πλατφόρμες επικοινωνίας. Αυτό επιτρέπει στους προγραμματιστές να προσθέτουν δυνατότητες επικοινωνίας, όπως φωνή, βίντεο και μηνύματα σε εφαρμογές.
  • Βάσεις δεδομένων Ένας πάροχος PaaS μπορεί να παρέχει υπηρεσίες όπως τη δημιουργία και τη συντήρηση της βάσης δεδομένων ενός οργανισμού. Η ερευνητική εταιρεία Forrester Research ορίζει τη βάση δεδομένων PaaS ως «πλατφόρμα βάσεων δεδομένων αυτοεξυπηρέτησης κατά παραγγελία, ασφαλή και επεκτάσιμη που αυτοματοποιεί την παροχή και τη διαχείριση βάσεων δεδομένων και μπορεί να χρησιμοποιηθεί από προγραμματιστές και μη τεχνικό προσωπικό».
  • Το διαδίκτυο των πραγμάτων. Το IoT αναμένεται να αποτελέσει μεγάλο μέρος της χρήσης PaaS τα επόμενα χρόνια, υποστηρίζοντας το ευρύ φάσμα περιβαλλόντων εφαρμογών και γλωσσών προγραμματισμού και εργαλείων που θα χρησιμοποιήσουν διάφορες εφαρμογές IoT.
  • Κύρια διαχείριση δεδομένων (MDM). Αυτό καλύπτει τις διαδικασίες, τη διακυβέρνηση, τις πολιτικές, τα πρότυπα και τα εργαλεία που διαχειρίζονται τα κρίσιμα επιχειρηματικά δεδομένα που διαθέτει μια επιχείρηση, παρέχοντας ένα μόνο σημείο αναφοράς για τα δεδομένα. Τέτοια δεδομένα μπορεί να περιλαμβάνουν δεδομένα αναφοράς, όπως πληροφορίες για συναλλαγές πελατών και αναλυτικά δεδομένα για την υποστήριξη της λήψης αποφάσεων.

Τεχνολογίες PaaS

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

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

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

Παραδείγματα PaaS

Μεταξύ των κορυφαίων παρόχων PaaS είναι οι Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard και Heroku. Οι πιο ευρέως χρησιμοποιούμενες γλώσσες, βιβλιοθήκες, κοντέινερ και σχετικά εργαλεία είναι διαθέσιμα σε όλα τα σύννεφα των μεγάλων παρόχων PaaS.

Η Amazon, η Microsoft και η Google ειδικότερα προσφέρουν πλήρη σύνολα υπηρεσιών που βασίζονται στο cloud, συμπεριλαμβανομένων υπολογιστών, αποθήκευσης, βάσεων δεδομένων, αναλυτικών στοιχείων, δικτύωσης, back-end για κινητά, εργαλεία προγραμματιστών, εργαλεία διαχείρισης και ασφάλεια Σε πολλές περιπτώσεις αυτές είναι πλήρως διαχειριζόμενες υπηρεσίες που συμπληρώνουν τις υπηρεσίες PaaS σε αυτά τα δημόσια σύννεφα.

Δεν είναι τυχαίο ότι πολλοί προμηθευτές PaaS είναι επίσης κορυφαίοι πάροχοι εργαλείων ανάπτυξης λογισμικού. Η Gartner εκτιμά ότι υπάρχουν περίπου 200 πάροχοι PaaS σήμερα.

Εδώ είναι μια σύντομη ματιά σε μερικές από τις κορυφαίες προσφορές PaaS.

AWS Elastic Beanstalk

Με το Elastic Beanstalk, οι εταιρείες μπορούν να αναπτύξουν και να διαχειριστούν γρήγορα εφαρμογές στο AWS Cloud χωρίς να χρειάζεται να μάθουν για την υποδομή που εκτελεί τις εφαρμογές. Το Elastic Beanstalk χειρίζεται αυτόματα τις λεπτομέρειες της παροχής χωρητικότητας, της εξισορρόπησης φορτίου, της κλιμάκωσης και της παρακολούθησης της υγείας της εφαρμογής.

AWS Λάμδα

Το AWS Lambda είναι μια πλατφόρμα υπολογιστών χωρίς διακομιστές που εκτελεί τον κώδικά σας ως απόκριση σε συμβάντα και διαχειρίζεται αυτόματα τους υπολογιστικούς πόρους που απαιτούνται από αυτόν τον κώδικα. Η AWS Lambda διαδίδει την ιδέα του FaaS, αν και προηγείται του όρου.

Μηχανή εφαρμογών Google

Το Google App Engine είναι μια προσφορά PaaS για ανάπτυξη και φιλοξενία εφαρμογών ιστού σε κέντρα δεδομένων που διαχειρίζεται η Google. Οι εφαρμογές είναι sandbox, εκτελούνται και κλιμακώνονται αυτόματα σε πολλούς διακομιστές.

Λειτουργίες Google Cloud

Το Google Cloud Functions έχει σχεδιαστεί για να διευκολύνει τους προγραμματιστές να εκτελούν και να κλιμακώσουν κώδικα στο cloud και να δημιουργήσουν εφαρμογές χωρίς διακομιστές που βασίζονται σε συμβάντα.

Υπηρεσία εφαρμογών Azure

Η υπηρεσία Microsoft Azure App είναι ένα πλήρως διαχειριζόμενο PaaS που ενσωματώνει τους ιστότοπους Microsoft Azure, τις υπηρεσίες κινητής τηλεφωνίας και τις υπηρεσίες BizTalk σε μία μόνο προσφορά. Η Azure App Service παρέχει ενοποίηση μεταξύ εσωτερικών και cloud συστημάτων.

Λειτουργίες Azure

Το Microsoft Azure Functions είναι μια πλατφόρμα υπολογιστών χωρίς διακομιστή που επιτρέπει στους προγραμματιστές να αναλάβουν δράση συνδέοντας πηγές δεδομένων ή λύσεις ανταλλαγής μηνυμάτων, καθιστώντας εύκολη την επεξεργασία και την αντίδραση σε συμβάντα. Οι προγραμματιστές μπορούν να χρησιμοποιήσουν τις λειτουργίες Azure για τη δημιουργία τελικών σημείων API που βασίζονται σε HTTP προσβάσιμα από μια σειρά εφαρμογών.

Red Hat OpenShift

Το OpenShift είναι μια οικογένεια προσφορών PaaS, οι οποίες μπορούν να φιλοξενηθούν στο cloud ή να αναπτυχθούν εσωτερικά, για τη δημιουργία και την ανάπτυξη εφαρμογών σε κοντέινερ. Το κορυφαίο προϊόν είναι το OpenShift Container Platform, ένα PaaS εσωτερικού χώρου που χτίστηκε γύρω από κοντέινερ Docker ενορχηστρωμένο και διαχειριζόμενο από την Kubernetes σε ένα ίδρυμα του Red Hat Enterprise Linux.

Pivotal Cloud Foundry

Το Cloud Foundry είναι PaaS ανοιχτού κώδικα που διέπεται από το Ίδρυμα Cloud Foundry. Αρχικά αναπτύχθηκε από την VMware και στη συνέχεια μεταφέρθηκε στο Pivotal Software, μια κοινοπραξία της EMC, της VMware και της General Electric. Όπως το OpenShift, το Cloud Foundry έχει σχεδιαστεί για την κατασκευή και εκτέλεση εφαρμογών με βάση κοντέινερ, χρησιμοποιώντας το Kubernetes για ενορχήστρωση.

Κίνδυνοι PaaS

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

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

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

Επίσης, επειδή οι οργανισμοί βασίζονται σε υποδομή και λογισμικό ενός συγκεκριμένου παρόχου υπηρεσιών, υπάρχει πιθανό πρόβλημα κλειδώματος προμηθευτή με περιβάλλοντα PaaS. Μια νόμιμη ερώτηση που πρέπει να υποβάλει η πληροφορία είναι ότι το PaaS που επιλέγει θα λειτουργεί με τις τρέχουσες και μελλοντικές αναπτύξεις IaaS και SaaS;

Ένας άλλος κίνδυνος με το PaaS είναι όταν η υποδομή του παρόχου υπηρεσιών αντιμετωπίζει το χρόνο διακοπής λειτουργίας για οποιονδήποτε λόγο και τον αντίκτυπο που μπορεί να έχει στις υπηρεσίες. Επίσης, τι γίνεται αν ο πάροχος κάνει αλλαγές στη στρατηγική ανάπτυξης, στις γλώσσες προγραμματισμού ή σε άλλους τομείς;

Μην περιμένετε αυτά τα πιθανά εμπόδια που θα σας εμποδίσουν να πάρετε την κατάδυση στο PaaS. Παρέχει περισσότερη ευελιξία ακριβώς επειδή ο προμηθευτής χειρίζεται τις πλατφόρμες ενώ χειρίζεστε τον προγραμματισμό.

iPaaS

Οποιαδήποτε συζήτηση για το PaaS πρέπει να περιλαμβάνει αναφορά στο iPaaS, πλατφόρμα ενσωμάτωσης ως υπηρεσία. Το iPaaS είναι ένα σύνολο αυτοματοποιημένων εργαλείων για τη σύνδεση εφαρμογών που αναπτύσσονται σε διαφορετικά περιβάλλοντα. Σημαντικά παραδείγματα παρόχων iPaaS περιλαμβάνουν τα Dell Boomi, Informatica, MuleSoft και SnapLogic.

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