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

10 καλύτερα εργαλεία διαχείρισης API

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

Τα περισσότερα προϊόντα διαχείρισης API παρέχουν έναν κοινό συμπλέκτη χαρακτηριστικών: δρομολόγηση και διακομιστής μεσολάβησης, μετασχηματισμός δεδομένων και διευθύνσεων URL, πίνακες ελέγχου και αναλυτικά στοιχεία, πολιτικές και περιορισμούς και εργαλεία προγραμματιστών, όπως δημιουργίες τεκμηρίωσης. Εδώ θα δούμε 10 δημοφιλή εργαλεία διαχείρισης API — έργα ανοιχτού κώδικα, εμπορικά προϊόντα, υπηρεσίες cloud και μίγματα των ίδιων — που προσφέρουν τα πάντα, από μια σουίτα πλήρους υπηρεσίας για API έως εστιασμένα εργαλεία για συγκεκριμένα σενάρια.

3 κλίμακα

Αρχικά ένα προϊόν κλειστού κώδικα, το 3scale αποκτήθηκε από την Red Hat και ανοιχτή προέλευση μετά από περίπου δύο χρόνια εργασίας. Το έργο ανοιχτού κώδικα μπορεί να χρησιμοποιηθεί ελεύθερα με την άδεια Apache, ενώ η Red Hat προσφέρει μια εμπορικά υποστηριζόμενη εφαρμογή SaaS.

Οι δυνατότητες του 3scale είναι σύμφωνες με τις άλλες προσφορές σε αυτήν τη συλλογή. Θα βρείτε έκδοση API, έλεγχο πρόσβασης και περιορισμό τιμών, ελέγχους ασφαλείας και αναλυτικά στοιχεία. Το 3scale προσφέρει επίσης λειτουργίες φιλικές για προγραμματιστές, όπως πύλη προγραμματιστών και CMS για τη δημιουργία τεκμηρίωσης για τα API ενός. Το 3scale προσφέρει επίσης εγγενή εργαλεία για τη δημιουργία εσόδων από API, όπως η τιμολόγηση και η ενοποίηση με υπηρεσίες πληρωμών.

Εάν σκοπεύετε να εγκαταστήσετε τον εαυτό σας 3-κλίμακα για παραγωγή, θα χρειαστείτε Oracle Database και OpenShift. Δεδομένου ότι ακόμη και μια ελάχιστη εγκατάσταση 3-κλιμάκων για δοκιμές απαιτεί Minishift, ένα σύμπλεγμα OpenShift ενός κόμβου, μπορεί να σας εξυπηρετείται καλύτερα χρησιμοποιώντας τη δωρεάν δοκιμαστική έκδοση 90-ημερών της 3-κλίμακας εάν θέλετε να ξεκινήσετε το συντομότερο δυνατό.

Η έκδοση Pro ξεκινά από 750 $ ανά μήνα για 5.000 λογαριασμούς προγραμματιστών, 500.000 κλήσεις API καθημερινά και έως και τρία API. Η έκδοση Enterprise (η τιμή διατίθεται κατόπιν αιτήματος) καταργεί τους περισσότερους από αυτούς τους περιορισμούς.

Πρεσβευτής

Το Ambassador είναι ένα σύστημα διαχείρισης API ανοιχτού κώδικα που έχει δημιουργηθεί για να συνεργάζεται με το Kubernetes. Το Ambassador υλοποιείται στην κορυφή του διακομιστή μεσολάβησης του Envoy, ο οποίος χειρίζεται την αφαίρεση δικτύου για μικροϋπηρεσίες, οπότε το μεγαλύτερο μέρος της βαριάς ανύψωσης γίνεται από τους Envoy και Kubernetes.

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

Ωστόσο, η πλειονότητα των χαρακτηριστικών του Ambassador περιστρέφεται γύρω από τη διαχείριση χρόνου εκτέλεσης και την ενοποίηση με το Kubernetes και άλλα εργαλεία Kubernetes (π.χ. Prometheus). Το Ambassador αφήνει τον σχεδιασμό και τη δηλωτική διαμόρφωση των API αποκλειστικά στον χρήστη. Λειτουργίες όπως η έκδοση API δεν υποστηρίζονται εγγενώς. πρέπει να χειριστείτε τέτοια πράγματα μόνοι σας. Αυτό καθιστά το Ambassador πιο κατάλληλο για εργασία με API ως μέρος της ανάπτυξης του Kubernetes και όχι ως γενική λύση διαχείρισης API.

Apiman

Το Apiman - στο παρελθόν "JBoss Apiman" - είναι ένα έργο ανοιχτού κώδικα Red Hat χτισμένο στην Java. Παρόλο που εξακολουθεί να συντηρείται από την Red Hat, το μεγαλύτερο μέρος της ενεργού ανάπτυξης της Red Hat στη διαχείριση API φαίνεται να έχει μετακινηθεί στο προϊόν 3Scale.

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

Η Apiman μπορεί να ορίσει πολιτικές για API σχετικά με την ασφάλεια, τους πόρους (π.χ. περιορισμό ρυθμού), μετασχηματισμούς δεδομένων, προσωρινή αποθήκευση και καταγραφή. Οι πολιτικές διαμορφώνονται μέσω JSON, έτσι ώστε να μπορούν να διαβαστούν και να επεξεργαστούν τόσο από ανθρώπους όσο και από μηχανές. Οι πολιτικές ασφαλείας μπορούν να εφαρμοστούν από την ταυτότητα χρήστη ή τον ρόλο και τα API μπορούν να ελεγχθούν χαλαρά ή αυστηρά. Μπορείτε να δημοσιεύσετε API με το αναγνωριστικό αναθεώρησης στη διεύθυνση URL και κανένα συμβόλαιο που να σχετίζεται με τη χρήση τους. ή μπορείτε να ζητήσετε ένα κλειδί API και να διαχειριστείτε στενά τον τρόπο έκδοσής τους.

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

DreamFactory

Η πλατφόρμα διαχείρισης του DreamFactory API έχει δημιουργηθεί με το πλαίσιο Laravel στο PHP. Το DreamFactory διατίθεται ως δωρεάν προσφορά ανοιχτού κώδικα ή με διαφορετικά επίπεδα εμπορικής υποστήριξης (η τιμή δεν γνωστοποιείται). Είναι μια φυσική επιλογή για προγραμματιστές που έχουν ήδη επενδύσει στην PHP και που θέλουν να μπουν στην εφαρμογή ανοιχτού κώδικα. Το DreamFactory προσφέρει επίσης ενοποίηση σεναρίων από διακομιστή με Node.js και Python.

Η λειτουργία "Datamesh" του DreamFactory, διαθέσιμη εκτός συσκευασίας σε όλες τις ενσαρκώσεις του, σας επιτρέπει να συνδυάζετε αποτελέσματα από πολλές, ετερογενείς κλήσεις βάσης δεδομένων - συμπεριλαμβανομένων διαφορετικών προϊόντων βάσης δεδομένων - και να επιστρέφετε τα αποτελέσματα ως μία κλήση API. Ομοίως, οι ενημερώσεις πινάκων σε πολλές βάσεις δεδομένων μπορούν να συνδυαστούν σε μία κλήση API.

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

Κονγκ

Το Kong είναι ένα από τα πιο γνωστά εργαλεία διαχείρισης API, που δημιουργήθηκε αρχικά από τη Mashape (μετονομάστηκε Kong) για να τροφοδοτήσει το δικό του προϊόν αγοράς API. Το Kong είναι διαθέσιμο σε μια έκδοση ανοιχτού κώδικα ή σε μια εμπορική προσφορά εταιρικού επιπέδου (η τιμή δεν αποκαλύπτεται) με πρόσθετες δυνατότητες διαχείρισης, παρακολούθησης και προγραμματιστή. Η εταιρική έκδοση μπορεί να εκτελεστεί on-prem ή σε υπηρεσία cloud επιλογής. Η τεκμηρίωση τόσο για τα προϊόντα ανοιχτού κώδικα όσο και για εταιρικά προϊόντα είναι άφθονη και λεπτομερής.

Το Kong παρέχει έναν ελεγκτή Ingress για την ενσωμάτωση του Kubernetes και ένα πλέγμα υπηρεσιών που επιτρέπει στη λειτουργία του Kong να «εγχέεται» σε μια υπάρχουσα ανάπτυξη υπηρεσιών. Η εταιρική έκδοση προσφέρει μια πύλη προγραμματιστή με στόχο τη διευκόλυνση της δημιουργίας νέων API και την εξοικείωση των νέων προγραμματιστών με τη βάση κωδικών API.

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

Κράκεν

Το KrakenD, γραμμένο στο Go, προσφέρει μόνο τα γυμνά απαραίτητα, αλλά χαρακτηρίζει την υψηλή απόδοση ως βασικό χαρακτηριστικό. Το KrakenD παραδίδεται ως ένα, αυτόνομο δυαδικό, όπως συμβαίνει με τις περισσότερες εφαρμογές που είναι ενσωματωμένες στο Go. Εναλλακτικά, μπορεί να μεταγλωττιστεί από την πηγή ή να χρησιμοποιηθεί ως βιβλιοθήκη Go εάν θέλετε να δημιουργήσετε τη δική σας εφαρμογή γύρω από αυτήν.

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

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

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

MuleSoft Anypoint πλατφόρμα

Η πλατφόρμα Anypoint της MuleSoft προορίζεται να είναι μια ολοκληρωμένη προσφορά. Καλύπτει το σχεδιασμό API, την κατασκευή, τη φιλοξενία, τη διαχείριση, την ενσωμάτωση και την υποστήριξη προγραμματιστών σε ένα μόνο, εμπορικό προϊόν.

Με το Anypoint, μπορείτε να αναπτύξετε API από το μηδέν ή να επαναχρησιμοποιήσετε υπάρχοντες συνδέσμους και ενσωματώσεις που δημιουργήθηκαν από άλλους πελάτες του MuleSoft και κοινοποιήθηκαν στο Anypoint Exchange. Οι υποδοχές είναι διαθέσιμες για γενικά πρωτόκολλα (πρόσβαση αρχείων, HTTP, email), λειτουργικές μονάδες γλώσσας για μετασχηματισμούς δεδομένων (Java, JavaScript), υπηρεσίες cloud (Amazon AWS), εμπορικές εφαρμογές (Salesforce, SAP) και εφαρμογές ανοιχτού κώδικα (MongoDB).

Για εκείνους που δημιουργούν API που θα καταναλώνονται από συνεργάτες ή το κοινό, το Anypoint παρέχει στον Διαχειριστή κοινότητας API για τη δημιουργία διεπαφών ιστού - αυτό που το MuleSoft αποκαλεί "πύλες" - για αυτά τα API. Διατίθενται διαδραστική τεκμηρίωση, εξατομίκευση (συμπεριλαμβανομένων λειτουργιών όπως προσαρμογή της παραγωγής βάσει της γεωγραφικής τοποθεσίας του χρήστη) και αναλυτικά στοιχεία χρήσης API.

Το Anypoint προσφέρει τρία σχέδια τιμολόγησης, το Gold, το Platinum και το Titanium, τα οποία ποικίλλουν ανάλογα με το επίπεδο υποστήριξης των πελατών και των επιχειρηματικών χαρακτηριστικών. Και τα τρία σχέδια περιλαμβάνουν απεριόριστα API και επιπλέον χρέωση για βύσματα "premium" (π.χ., το IBM AS / 400 mainframe connector).

Netflix Zuul

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

Το Zuul είναι γραμμένο στην Java και χρησιμοποιεί κοινά εργαλεία Java - Gradle, Ivy, Maven - για να ξεκινήσει. Η Zuul προσφέρει ένα σχετικά ελάχιστο σύνολο χαρακτηριστικών σε σύγκριση με άλλα συστήματα διαχείρισης API, εστιάζοντας στο φιλτράρισμα και την αποστολή εισερχόμενων αιτημάτων σε όλες τις υπηρεσίες. Η Zuul παρέχει δυνατότητες ανακάλυψης υπηρεσιών, εξισορρόπησης φορτίου, ομαδοποίησης σύνδεσης και εντοπισμού σφαλμάτων (το "αίτημα διαβατηρίου"), αλλά δεν διαθέτει πιο εξελιγμένες λειτουργίες, όπως ενσωματωμένο προγραμματιστή και αυτόματη τεκμηρίωση.

Το Zuul είναι ένα ενεργό έργο με πολλές νέες δυνατότητες σχεδιασμένες για μελλοντικές εκδόσεις. Το επερχόμενο "φίλτρο brownout", για παράδειγμα, θα απενεργοποιήσει ορισμένες δυνατότητες για να ελευθερώσει την CPU σε περιόδους υψηλής δραστηριότητας.

Tyk

Το Tyk περιλαμβάνει πολλά από προεπιλογή: την πύλη API, τα εργαλεία ανάλυσης, μια πύλη dev και έναν πίνακα ελέγχου διαχείρισης. Περιλαμβάνει επίσης λειτουργικότητα για πλαστή API πριν από την επίσημη κυκλοφορία τους, ενσωματωμένη προσωρινή αποθήκευση αιτημάτων (η οποία μπορεί να συμπεριληφθεί απευθείας σε ορισμό API) και πρότυπα απόκρισης για διαφορετικούς κωδικούς σφάλματος HTTP.

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

Η εσωτερική έκδοση σάς επιτρέπει να χρησιμοποιείτε το πλήρες εμπορικό προϊόν πίσω από το τείχος προστασίας. Οι άδειες μίας πύλης - εκδόσεις προγραμματιστών, ουσιαστικά - διατίθενται δωρεάν, χωρίς όρια κλήσεων API, αν και τα API δεν μπορούν να χρησιμοποιηθούν σε εμπορικές ρυθμίσεις. Οι άδειες για εμπορική χρήση ξεκινούν από 3000 $ ετησίως.

Οι εκδόσεις cloud και multi-cloud, διαθέσιμες για μια ποικιλία δημοφιλών υπηρεσιών cloud, παρέχουν το Tyk ως φιλοξενούμενη υπηρεσία. Μια βασική έκδοση ενός cloud που υποστηρίζει 1.000 κλήσεις API ανά ημέρα είναι διαθέσιμη δωρεάν (εκτός από ό, τι χρεώνει ο πάροχος υπηρεσιών cloud). τα προγράμματα pro-level ξεκινούν από 450 $ το μήνα.

Διαχειριστής API WSO2

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

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

Το WSO2 διαθέτει περίπου 200 συνδέσμους που μπορούν να χρησιμοποιηθούν για τη σύνδεση εξωτερικών υπηρεσιών. Πολλά είναι συνηθισμένα συρραπτικά προγραμματιστών: Slack, Splunk, Kafka, Redis, Amazon S3 και ούτω καθεξής.

Ένα άλλο χαρακτηριστικό WSO2, το "API microgateway", διασφαλίζει ότι ορισμένα είδη κλήσεων λαμβάνουν πρόσθετη ασφάλεια και χαμηλότερη καθυστέρηση. Για παράδειγμα, οι κλήσεις που χρησιμοποιούνται για τη διαχείριση της πύλης, ή οι κλήσεις που δρομολογούνται μεταξύ μικροϋπηρεσιών, μπορούν να αντιμετωπιστούν με αυτόν τον τρόπο.

Ένα νέο πρόσθετο στο WSO2 προσθέτει ενοποίηση με το πλέγμα υπηρεσιών Istio για το Kubernetes. Το Istio δεν διαχειρίζεται τα API που εκτίθενται από τις μικροϋπηρεσίες που διαχειρίζεται, επομένως το WSO2 ενσωματώνεται με τον διακομιστή μεσολάβησης Envoy που χρησιμοποιείται από την Istio για να το κάνει.

Η τιμολόγηση για τις εμπορικές προσφορές του WSO2 ξεκινά με μια δωρεάν δοκιμαστική περίοδο δύο εβδομάδων με έως και ένα εκατομμύριο κλήσεις API, συνεχίζεται στα 550 $ το μήνα για 20 εκατομμύρια κλήσεις και αυξάνεται από εκεί για να παραγγείλει διαμορφώσεις.