Azure Compute Meetups

AzureHeads 1st Meetup: WebJobs, Azure Functions & Serverless Computing

Η πρώτη συνάντηση των 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 όπου μπορούσαμε να ρωτήσουμε για τον καιρό σε διάφορες περιοχές και να πάρουμε μια απάντηση όπου εκτός της θερμοκρασίας, επέστρεφε ένα χάρτη της περιοχής που ζητήσαμε και σχετικές φωτογραφίες για τον καιρό στην περιοχή αυτή.

azureheads-weather-demo

Κλείνοντας συνοψίσαμε τα πλεονεκτήματα και μειονεκτήματα της κάθε υπηρεσίας και αναλύσαμε τις διαφορές μεταξύ τους τόσο σε προγραμματιστικό όσο και σε hosting μοντέλο.

Το υλικό για την παρουσίαση θα το βρείτε στα παρακάτω links.

Παρουσίαση
GitHub: WebJobs Demo
GitHub: AzureFunctions Demo

Τέλος θα θέλαμε να ευχαριστήσουμε ιδιαίτερα τη Microsoft για τη διάθεση του χώρου και το e-food για την ευγενική χορηγία του, την οποία όλοι ευχαριστήθηκαν 🙂

 

About the author

Paris Polyzos

I am a Software Engineer, with 10 years of experience in the field. I hold an MSc in Electrical & Computer Engineering, while, since the early days of my career, I had the chance to work in large and challenging projects. Nowadays, I am mainly focused on the cloud where I design and build complex software for a new company of the ZuluTrade Group. I am particularly passionate about the Web, Microsoft technologies and the cloud; thus, my new-found enthusiasm is Microsoft Azure!

Add Comment

Click here to post a comment

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