Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Το Azure δεν είναι χορτοφάγο! - 59ο DotNetZone Event

640 vues

Publié le

59ο DotNetZone event - Το Azure δεν είναι χορτοφάγο.

Το Azure είναι κατάλληλο:
- Για φτηνό Hosting
- Μόνο για startups
- Για περιστασιακή χρήση
- Να σηκώσει ολόκληρη την παραγωγή οποιασδήποτε επιχείρησης

Μόνο μία απάντηση είναι σωστή. Κι όμως, οι περισσότερες εισαγωγικές παρουσιάσεις για Azure δίνουν την αντίθετη εντύπωση, ακόμα και ότι για σοβαρές εγκαταστάσεις καλύτερες είναι ... Antagonistikes Υπηρεσίες.

Ξεκινώντας από ένα όχι και τόσο υποθετικό παράδειγμα, ενός online travel agency του ευρωπαϊκού Top ten, θα δούμε:

- Ποιες είναι οι ανάγκες μιας επιχείρησης
- Πως καλύπτονται από τις υπηρεσίες που παρέχει το Azure
- Πως συγκρίνεται το Azure με Antagonistikes Υπηρεσίες.

Publié dans : Logiciels
  • Soyez le premier à commenter

Το Azure δεν είναι χορτοφάγο! - 59ο DotNetZone Event

  1. 1. Το Azure Δεν είναι χορτοφάγο ΠΑΝΑΓΙΩΤΗΣ ΚΑΝΑΒΟΣ DOTNETZONE MODERATOR 59ο DotNetZone Event
  2. 2. Το Azure είναι …  Φτηνό Hosting  Για startups  Για περιστασιακή χρήση  Για να στηρίξει mobile apps  Ικανό να σηκώσει ολόκληρη την παραγωγή μίας επιχείρησης
  3. 3. Το Σενάριο ONLINE TRAVEL AGENCY
  4. 4. Online Travel Agency (Μεγάλο)  Ευρωπαϊκό Top 10, 3η στη Ρωσία  Εκατομμύρια αναζητήσεις/μέρα  Χιλιάδες πωλήσεις/μέρα  ~ 5 Billion Events/year  Μερικά εκατομμύρια/μέρα  50+ servers  Δεκάδες εφαρμογές, services  Διάρκεια αναζήτησης: ~6 sec  10 sec = The china syndrome
  5. 5. Μία απλή αναζήτηση Web Site Back End GDS ΑΤΗ – SKG 21/3 – 5/4 WS Request Search time 1-6sec Response 100-300 results 2 MB Parse Trim junk Price Add extra info (punctuality, reliability) Build out/return combinations REST call Recommendations Render
  6. 6. Μία απλή κράτηση Web Site Back End GDS OA1234 Φουφουτόπο υλος Reservation Request Record reservation Start cancellation timers REST call Display Reservation info
  7. 7. Μία απλή πληρωμή Web Site Back End GDS OA1234 .. Issue Ticket Payment call Display ticket info Payment Gateway Πληρωμή με πιστωτική Approval code CRM
  8. 8. Η Αρχιτεκτονική  Front end web sites  Ruby  ALT.NET κανείς ?  Αναζητήσεις, κρατήσεις πληρωμές  Πολλαπλά Backend services σε .ΝΕΤ  REST API  Integration με third parties  Mobile Apps  Background batch jobs  Ακυρώσεις  Ανανεώσεις κρατήσεων …  Όχι Microservices, Lots of services
  9. 9. Integration με τρίτους  GDS – Αυτοί που πουλάνε τα εισιτήρια  Ας πούμε Web Services  Βαρύ payload  μπόλικο processing  Payment Gateways   Payments μέσω web services   Financial Reports σε οτιδήποτε (WS, flat files, screen scraping)  Αεροπορικές  Κυρίως financial  IATA
  10. 10. Η υποδομή Front End Web Servers Backend Services Batch Jobs CRM Load Balancer Redis Cluster Couchbase Cluster MySQL SQL Server SNS SQS
  11. 11. Οι προκλήσεις  Μεγάλος αριθμός αναζητήσεων  Ενδοεπικοινωνίες συστημάτων  End-to-End παρακολούθηση κράτησης  Συνεχής εξέλιξη  Ασταμάτητη αλλαγή
  12. 12. Γιατί Cloud;  Αξιοπιστία  Κι αν πλημμυρίσει το data center;  Κεραυνός στον ουδέτερο  Ατυχείς πρωτοβουλίες  Μακαρονάδα  Κι ας είναι ακριβότερο, είναι φθηνότερο  < 5 IT  20+ Developers  DevOps!  You build it, you deploy it
  13. 13. Οι ανάγκες
  14. 14. Ενδοεπικοινωνίες  Πολλά services  Από CRM μέχρι τρέχουσες ισοτιμίες  Αποφυγή tight coupling  Κι αν είναι κάτω;  Deployment  Fault  Meltdown
  15. 15. Ενδοεπικοινωνίες – Λύσεις  Publish/subscribe  Queued delivery  Συνήθως τα ίδια προϊόντα on premises  Διαφορετικές υπηρεσίες στο Cloud  Διαφορετικά lifetimes, persistence
  16. 16. Queues και Pub/Sub Hosted Queues  Persistent  Rabbit MQ  In Memory  Zero MQ, Redis Lists και blocking  Και queueing και pub/sub στο ίδιο σύστημα  Χρειάζονται VMs  AMQP protocol – συμβατότητα με Azure Service Bus  Εναλλαξιμότητα ? Cloud Services  Pub/sub με Amazon SNS/Azure Service Bus  Καλό για microservices, REST APIs  Queueing με Amazon SQS/Azure Queues  Κόλλα και σπάγκος  Δεν χρειάζονται VMs
  17. 17. Πολλαπλά συστήματα  Best of breed  Managed ή VM;  Κόστος;  Διαθεσιμότητα;  Διαχείριση;  Κόστος αδειών (ακόμα και για open source)
  18. 18. Managed  Μικρότερο διαχειριστικό κοστος  Χωρίς άδειες  Διαθεσιμότητα  Scalable  Pay as you go  Ακριβότερο operation σε μεγάλη χρήση  SaaS για developers ?
  19. 19. VM deployment  Φθηνότερη χρήση σε αρκετές περιπτώσεις  Up front cost vs pay per use  Μπελάδες και πονοκέφαλοι   Κόστος διαχείρισης   Ευθύνη για availability, recovery
  20. 20. Πολλά VM  Πολλαπλά λειτουργικά  Linux  Windows  Καλύτερα βαρύτερο VM παρά πολλά μικρά  Azure Web Sites, Web Roles θέλουν το αντίθετο  Ανάγκη για  Αυτοματοποιημένο Deployment  Cross platform monitoring  Containers και Docker!
  21. 21. Docker ?  Application Isolation μέσα σε containers  Κάθε App βλέπει το δικό του περιβάλλον, hardware resources  Κάθε container μπορεί να κάνει reference άλλα containers  Περίπου σαν package dependencies  Εύκολο να κάνεις deploy πολλές εφαρμογές σε ένα VM  Δεν χρειάζεσαι ένα VM Image με-απ-όλα  Μα δεν το είχαμε αυτό στα mainframes του `80?
  22. 22. Πολύ processing  GDS responses ακόμα και 2 MB  Mainframe-style communications  Χεράτη διαχείριση συνδέσεων  Parsing, pricing   Πολύ CPU  Αποφυγή dumb processing όσο γίνεται  Οι γκάφες κοστίζουν
  23. 23. Server Meltdown
  24. 24. Server Meltdown - 1  Load Balanced φάρμα  Μεγάλος φόρτος  Πρώτος server κολλάει στα 100% CPU  Timeouts, App pool Recycle  Περισσότερα requests στους υπόλοιπους server  Ο δεύτερος server φτάνει 100%  Κάτσε κάτω από τη μπάρα!  …
  25. 25. Server Meltdown - 2  Το αυτόματο scale out *μπορεί* να βοηθήσει  Αν υπάρχει μεγάλος φόρτος  Μπορεί να βλάψει  Αν οφείλεται σε γκάφα
  26. 26. Ζέσταμα  Δεν αρκεί να σηκώσεις ένα VM ή Site  Ζέσταμα local cache  Άνοιγμα συνδέσεων με GDS, Databases  Μεγάλο CPU στο VM Αργή απάντηση network layers  Timeouts χωρίς καν σύνδεση  Network virtualization matters!  Amazon only issue?
  27. 27. Δεδομένα  Διαφορετικές ανάγκες  Μεγάλες και ακριβές αναζητήσεις, δεν σπάνε  Κρατήσεις, πληρωμές = κλασσικό OLTP  Reference data  Αεροδρόμια, Αεροπορικές, Προορισμοί  Logs και events
  28. 28. Δεδομένα – Λύσεις  Document databases  Memcache, Redis για reference δεδομένα, volatile data  Κλασσικό OLTP
  29. 29. Caching  Ακριβά searches  Αλλά και μεγάλα DTOs  Πολλά Reference data  Πολλοί servers/ clients  Μεγάλο traffic - > μεγάλο κόστος lookup  Συγχρονισμός μεταξύ servers  Μα πότε άλλαξε η τιμή;
  30. 30. End-to-End παρακολούθηση  Γίνεται και με Events, Logs  Όχι ό,τι ωραιότερο  Workflow  Απλουστεύει τον κώδικα και τα services  Διευκολύνει failure handling, timeouts, compensations  Orchestration μεν φτάνει να μην είναι βαρύ σαν συμφωνική ορχήστρα  Sagas αλα NServiceBus  Μάλλον το καλύτερο  Έξτρα framework
  31. 31. Deployment & Automation - 1  Windows Group Policies  Ένα λειτουργικό  Πολλά μηχανήματα  Drop-in deployments  Ανεξάρτητα πακέτα  Το αντίστροφο  Δεκάδες servers  Διακριτοί ρόλοι  Πολλαπλά βήματα  Αλληλεξαρτήσεις  Πολλά Λειτουργικά  Rollout waves
  32. 32. Deployment & Automation – Puppet, Chef  H Microsoft λατρεύει τα Puppet και Chef!  Declarative ορισμός του configuration  VMs, services, accounts  Περιγραφή σε Ruby  Cross platform  Windows Specific  Octopus Deploy
  33. 33. Monitoring  Διαφορετικές μορφές  Admins want Performance Counters  Devs want Log records  Biz want business events  Different systems
  34. 34. Big data  >1 εκατομμύριο search τη μέρα  50000000000 events το χρόνο  Κάθε αναζήτηση, κράτηση προκαλεί πολλαπλά events  Logs σε κάθε βήμα  Ανάγκη για  Document DBs  Blob storage  Splunk για log processing
  35. 35. Internet of Things ?  Δεν είναι ένα app που μιλάει με ένα server  Χιλιάδες συσκευές χωρίς UI που στέλνουν συνέχεια events  «Μερικοί» servers που στέλνουν εκατοντάδες events το δευτερόλεπτο
  36. 36. Analytics & recommendations  Μασάει data, βγάζουμε μοντέλα  Αποτελέσματα καμπάνιας – offline  Recommendations – online  Πολλές πηγές και μορφές  Βάσεις  Χύμα κείμενο  REST calls  Ανάγκη για batch processing
  37. 37. Τι προσφέρει το Azure
  38. 38. Ενδοεπικοινωνίες – Βασική ιδέα  Κάθε “service” ορίζει ένα topic ή queue  Οι clients κάνουν post στο queue  Τα Azure Service Bus queues έχουν ένα subscriber  Topics – πολλοί subscribers  Azure Ta Storage Queues απαιτούν polling  Αλλά είναι πιο γρήγορα  Scale out με το μέγεθος του Queue 
  39. 39. Ενδοεπικοινωνίες - Υπηρεσίες  Azure Service Bus Queues/Topics  Pub/Sub  256ΚΒ per message, 5 GB per topic, indefinite lifetime   Slower than Storage queues  AMQP  συμβατό με άλλα queue services!  Δεν έχει retries  Azure Service Bus Relay  Επικοινωνία με on-premises! (λογιστήριο)  Azure Storage Queues  64KB per message, 7 days lifetime  Επιτρέπει retries  Γρηγορότερο  Κόστος?  Βγάλε άκρη
  40. 40. Storage  SQL Database  Azure DocumentDB  Redis
  41. 41. Azure SQL Database  Σχεδόν Enterprise στην V12 Preview (Premium)  Table Partitioning  Online Indexing  Columnstore Indexes  Τρέμε Redshift …. Ας πούμε  Γενικώς  Windowing functions  Change Tracking  500 GB max. Not quite IoT scale big data  Cloud only extras!  Row-level security  Data Masking
  42. 42. Azure SQL Database Scale Out  Elastic Scale  Sharding  NOT the same as clustering  I hear voices ….
  43. 43. Azure DocumentDB  Δεν είναι MongoDB δεν είναι RavenDB  Docs as Json objects  Fully indexed  Κατάλληλη για BI σενάρια  Αποθήκευση των «raw» events ως docs αντί να τα πετάμε  Νέα επεξεργασία όταν αλλάξουν οι απαιτήσεις/διαδικασίες  Όριο 512KB για την ώρα  Ακατάλληλο για search result caching (maybe)  Κατάλληλο για τις περισσότερες άλλες περιπτώσεις
  44. 44. Caching  Redis!  Recommended for all new development  In memory  Clustered  Rich types  Lists  Dictionaries  Atomic operations  Pub/sub μέσω blocking  Lua scripting  Transactions!  No persistence
  45. 45. Πολλαπλά συστήματα  Ποικιλία Linux  Docker στa Linux, έρχεται και για Windows  Κυρίως PaaS, όχι τόσα managed applications  Long running services μέσω  Worker Roles  Web Jobs  Ή πολλά services σε ένα VM?
  46. 46. Deployment  Step by step  Azure Automation  Powershell scripts  Worklflow  Συνεργάζεται με Puppet, Chef  Ώρα για ζέσταμα!  Declarative  Powershell DSC  Puppet/Chef  Τα θέλουμε και τα δύο  Cross platform  OneGet  Κλασσικό Package management αλα rpm
  47. 47. Event Processing  Internet of Things Scale  Millions per second  Event Streams  Event Hubs  Κατάλληλο για Infrastructure monitoring  Χρησιμοποιείται από το εσωτερικό IT της Microsoft
  48. 48. Machine Learning  Ίσως το δυνατότερο προτέρημα  Machine Learning Studio  Hadoop  Python  R – η δημοφιλέστερη γλώσσα για στατιστικά  Εξαγορά της Revolution Analytics  Batch Processing μεγάλου όγκου
  49. 49. Night of the howling machines!  Models as REST services   REAL TIME!  Δένει με Event Processing  Recommendations  Fraud detection  Anomaly detection  Attack detection και αντιμετώπιση
  50. 50. Events & Machine Learning  Νι Χάο Πεν Γιου  Εντοπισμός ανώμαλων κλήσεων  Αναγνώριση  Αντιμετώπιση  Redirect σε άλλους server  Αλλαγή κανόνων σε load balancer, IP restrictions
  51. 51. Business Intelligence  Power BI μέσω Office 365  Hosted BI, reporting στο ίδιο σύννεφο  Άρα γλυτώνεις το bandwidth cost  Χωρίς πονοκεφάλους για πρόσβαση χρηστών, VPNs
  52. 52. Αγορά και αδειοδότηση  Pay as you go ή μπροστά  Ακόμα δεν έχει auctions (νομίζω)  Παίζει όμως ακόμα σε licensing πακέτα  Μπορείτε ακόμα να ζητήσετε έκπτωση   Και να πονοκεφαλιάσετε με το τι συμφέρει
  53. 53. Σύγκριση με το Am..άλλο
  54. 54. Azure vs Amazon Azure  Καλύτερο PaaS  Βάζει Docker  Το καλύτερο Docker για Windows  Managed Υπηρεσίες  Άριστο Integration με on-premises Amazon  Καλύτερο IaaS  Έχει ήδη Docker  Όχι όμως για Windows  Managed Εφαρμογές  Έχει ήδη πολλά  On-Prem ?
  55. 55. Pub/Sub και Queues Azure  Polled queues  Καλύτερο Pub/Sub  Service Bus - indefinite lifetime  Service Bus integration με on-premise συστήματα  AMQP  χρήση διαφορετικών queues Amazon  Polled queues  SNS κρατάει τα μηνύματα μέχρι 1 ώρα  Ανάγκη για Queue subscriptions και polling
  56. 56.  Full featured database  Γρήγορο insert σε columnstores  Δεν έχει clustering  Autoscale  Αλλά δεν είναι το ίδιο SQL Database vs Redshift SQL Database Redshift  Έχει clustering=Θέλει clustering  Ειδικευμένου σκοπού  Γρήγορο bulk insert  ΑΑΑΡΡΡΓΓΓΟΟΟ row-by-row
  57. 57. Business Intelligence Azure  Power BI  Από τα καλύτερα στην κατηγορία Amazon  E?  Βάλε μωρέ ένα QlikView image και θα τα βρούμε
  58. 58. Event Processing & Machine Learning Azure  Event Hubs, Streams  Hadoop  Deluxe Machine Learning   Models as Services Amazon  Kinesis, AWS Lambda  Hadoop  Build your own
  59. 59. Workflows and Orchestration Azure  Biztalk Services  Complex, Orchestration  Connectors and EDI, oh my!  Πληρωμή με την ώρα  Self-hosted Workflow Foundation  In-process ή AppFabric Simple Workflow Service  Simple, workflow  Πληρωμή με την εκτέλεση, χρόνο διατήρησης του record  Κάποια στιγμή πρέπει να σβηστεί
  60. 60. Αγορά Azure  Ασκήσεις επί χάρτου  Και σε licensing πακέτα για on prem  Μπορείτε να ψήσετε τον account manager  Πονοκεφάλιασμα με τα licenses Amazon  Ασκήσεις επί χάρτου  Licensing? Τι’ν’τουτ?  Ο Account manager είναι στις Μπαχάμες  Πονοκεφάλιασμα με τα auctions

×