Η πρώτη συνάντηση των AzureHeads ολοκληρώθηκε και σιγά σιγά αρχίζουμε να οργανωνόμαστε για την επόμενη.
Το θέμα που συζητήσαμε αφορούσε WebJobs, AzureFunctions και Serverless Computing. Αρχικά, ξεκινήσαμε με μια εισαγωγή στο συναρτησιακό προγραμματιστικό μοντέλο (Functions programming model) όπου πλέον οι συναρτήσεις αποτελούν το δομικό λίθο στην σύνθεση των εφαρμογών μας. Δώσαμε ιδιαίτερη έμφαση σε βέλτισες πρακτικές που πρέπει να ακολουθούνται κατά την σχεδίαση των μεθόδων μας και ποιες είναι οι βασικές ερωτήσεις που πρέπει να κάνει κάποιος όταν αρχίζει να δουλεύει με το μοντέλο αυτό.
Στη συνέχεια παρουσίασαμε τα Azure WebJobs που παρέχουν έναν εύκολο και γρήγορο τρόπο για την κατασκευή προγραμμάτων και scripts που τρέχουν ως διεργασίες στο παρασκήνιο, είτε ανά τακτά χρονικά διαστήματα, είτε χρησιμοποιώντας ως έναυσμα κάποιο event, όπως π.χ. ένα καινούριο αρχείο ή ένα μήνυμα σε μια ούρα.
Στο πρώτο demo, αρχικοποιήσαμε κάποιες βασικές υπηρεσίες στο Azure, όπως Storage Accounts, Azure Web Apps και χρησιμοποιήσαμε το Visual Studio για να ξεκινήσουμε και να κάνουμε deploy την εφαρμογή μας, ενώ μέσα από το WebJobs dashboard και το KUDU service αντλήσαμε πληροφορίες για την εκτέλεση της κάθε function.
Πριν αρχίσουμε να συζητάμε για Azure Functions, δώσαμε έμφαση στο γεγονός ότι για θέματα scaling και hosting των WebJobs, υπεύθυνοι είμαστε εμείς και πώς θα μπορούσαμε, μέσα από το serverless computing μοντέλο, τα δύο αυτά σημαντικά θέματα να αντιμετωπιστούν από την πλατφόρμα που χρησιμοποιούμε. Αναλύσαμε τα θετικά και αρνητικά μιας Serverless αρχιτεκτονικής και τα οφέλη κυρίως σε οικονομικό επίπεδο που προκύπτουν από αυτή.
Κατόπιν, ασχοληθήκαμε με τα Azure Functions:
- το διαφορετικό pricing model που χρησιμοποιεί,
- τα εργαλεία στο Azure Portal για να ξεκινήσεις, καθώς και
- τo πώς μπορείς να κάνεις monitoring βασικές πληροφορίες κατά την εκτέλεση τους.
Το demo περιλάμβανε από απλά Web APIs γραμμένα σε node.js που επέστρεφαν εγγραφές από έναν πίνακα στο Azure Table Storage, μέχρι πιο σύνθετα παραδείγματα σε C#, όπου χρησιμοποιώντας το Slack κατασκευάσαμε ένα μικρό bot όπου μπορούσαμε να ρωτήσουμε για τον καιρό σε διάφορες περιοχές και να πάρουμε μια απάντηση όπου εκτός της θερμοκρασίας, επέστρεφε ένα χάρτη της περιοχής που ζητήσαμε και σχετικές φωτογραφίες για τον καιρό στην περιοχή αυτή.
Κλείνοντας συνοψίσαμε τα πλεονεκτήματα και μειονεκτήματα της κάθε υπηρεσίας και αναλύσαμε τις διαφορές μεταξύ τους τόσο σε προγραμματιστικό όσο και σε hosting μοντέλο.
Το υλικό για την παρουσίαση θα το βρείτε στα παρακάτω links.
Παρουσίαση
GitHub: WebJobs Demo
GitHub: AzureFunctions Demo
Τέλος θα θέλαμε να ευχαριστήσουμε ιδιαίτερα τη Microsoft για τη διάθεση του χώρου και το e-food για την ευγενική χορηγία του, την οποία όλοι ευχαριστήθηκαν 🙂
Add Comment