Στα σύννεφα και ακόμα παραπέρα με υποδομές στο Azure
- Πώς συλλέγουμε to actual execution plan από τα queries με χρήση Extended Event και πως διαβάζουμε τα δεδομένα του - 2 Δεκέμβριος 2024
- Πώς βρίσκουμε τι δικαιώματα έχει ένας χρήστης σε βάση δεδομένων της Oracle - 1 Νοέμβριος 2024
- Πώς ενεργοποιούμε το Unified Auditing σε Oracle Database - 7 Οκτώβριος 2024
Σε αυτό το άρθρο θα αναλύσουμε τι μας προσφέρει η cloud υπηρεσία της Microsoft στο κομμάτι των υποδομών. Με τη χρήση του Azure μπορούμε να τα μεταφέρουμε τα on-premise συστήματα μας στο Cloud ή ακόμα και να πάμε σε κάποια hybrid λύση, που τα on-premise συστήματα μας θα έχουν ένα κομμάτι τους στο Azure. Είναι πολύ σημαντικό λοιπόν να γνωρίζουμε πως θα στήσουμε την υποδομή μας βήμα βήμα.
Μια τυπική υποδομή σε απεικόνιση στο Visio φαντάζει κάπως έτσι:
Πάμε να δούμε όμως τι σημαίνουν ένα τα icons των υπηρεσιών του Azure.
Πρώτα από όλα χρειαζόμαστε μια συνδρομή, αυτή ονομάζεται subscription και είναι ουσιαστικά το πορτοφόλι μας. Μέσα από εκεί γίνονται όλες οι χρεώσεις.
Το Azure δουλεύει κυρίως με το μοντέλο pay as you go και πληρώνουμε για τα resources που καταναλώνουμε με το μήνα. Μπορούμε να πληρώσουμε και προκαταβολικά χρόνο για μικρότερο κόστος.
Αφού φτιάξουμε το subscription μας, αν δεν έχουμε ήδη μας φτιάχνεται ένα Azure Tenant με τον λογαριασμό μας στο Azure Active Directory. Από εκεί μπορούμε να φτιάξουμε νέους χρήστες, να ορίζουμε δικαιώματα σε επίπεδο ρόλου (RBAC), ασφάλεια χρηστών και πολλά άλλα.
Έπειτα έχουμε τα resource groups, είναι ουσιαστικά κουβάδες για διαχωρισμό των resources, δηλαδή μέσα τους περιέχονται όλα τα παρακάτω που θα αναλύσουμε όπως Virtual Machines, Storages, Vnets κλπ.
Η χρήση τους διευκολύνει να ξεχωρίσουμε παραγωγικά από test και development συστήματα. Μπορούμε να έχουμε διαφορετικούς administrators (Contributors) και να παρακολουθούμε ξεχωριστά το κόστος του κάθε resource group.
Εδώ δεν χρειάζεται να πούμε και πολλά, τα Virtual machines στο Azure δημιουργούνται εύκολα και γρήγορα, έχουν πληθώρα images να διαλέξεις και με πολλές παραλλαγές προ εγκατεστημένων εφαρμογών π.χ. Windows Server 2019 με SQL Server 2019 Enterprise. Επίσης πρέπει να επιλέξουμε και resources του Server που θα το κάνει host.
Οι επιλογές που έχουμε:
- DTUmodel, είναι μία μονάδα μέτρησης μεταξύ CPU, μνήμης και ταχύτητα δίσκων:
- Basic (έως 5GB)
- Standard
- Premium
- vCoremodel, είναι με μονάδα μέτρησης τα Cores και το Storage:
- General purpose: Το πιο σύνηθες μοντέλο έχει και τη δυνατότητα να επιλέξεις serverless compute ώστε να χρεώνεσαι μόνο για όσα resources χρησιμοποιείς (ακόμα και να σταματήσει τελείως τον server).
- Business Critical: To high availability μοντέλο που προσφέρει πολλές ρέπλικες.
- Hyperscale: Έχει την μέγιστη κλιμάκωση των resources, τα backups παίρνονται μέσω snapshots.
Τα availability sets είναι το cluster του Azure. Αφού δημιουργηθεί μπορείς να προσθέσεις από δύο και πάνω VMs. Στη περίπτωση που κάποιο πάθει βλάβη, μπορεί να συνεχίσει χωρίς πρόβλημα η λειτουργία της εφαρμογής. Υπάρχουν και τα availability zones που αφορούν τη λειτουργία σε πολλαπλές ηπείρους.
Τα virtual machine scale sets χρησιμοποιούνται για αυτόματη δημιουργία πολλαπλών VMs σε περίπτωση αυξημένων αναγκών επεξεργαστικής ισχύος. Όταν πέσει αυτή η ανάγκη ξανά μειώνονται έως το πλήθος που έχει οριστεί.
Τα storage accounts είναι εκεί που θα φιλοξενούνται τα δεδομένα μας. Επιλέγουμε αν θα είναι Standard ή Premium η απόδοση και αν τα δεδομένα μας θα είναι hot για άμεση χρήση ή cold για φύλαξη. Μπορούμε να φτιάξουμε blob storages, file storages, table storages, file shares και πίνακες.
Πολύ σημαντική επιλογή είναι και ο τύπος του replication των δίσκων:
Locally redundant storage (LRS)
Zone-redundant storage (ZRS)
Geo-redundant storage (GRS)
Read-access geo-redundant storage (RA-GRS)
Geo-zone-redundant storage (GZRS)
Το Recovery Services vault είναι ο χώρος που παίρνονται τα backups είτε σε επίπεδο VM, είτε σε file storage. Από εκεί μπορούμε να δούμε τα backups που έχουμε πάρει να αλλάξουμε τις πολιτικές τους και να κάνουμε site recovery.
Virtual network είναι το δίκτυο που συνδέει όλους τους πόρους μεταξύ τους σε ασφαλές περιβάλλον. Έχουμε τη δυνατότητα δημιουργίας πολλών διαφορετικών subnets από κάτω του για τη κάθε υπηρεσία.
Network Security Group (NSG) είναι το αντίστοιχο firewall σε επίπεδο δικτύου. Ελέγχει όλη τη κυκλοφορία των δεδομένων που έρχονται και φεύγουν μεταξύ των subnet και των VMs (μπορούμε ένα NSG να το εφαρμόσουμε σε πολλά διαφορετικά).
Peering είναι η συνδεσιμότητα δύο διαφορετικών virtual networks. Μπορούν να βρίσκονται και σε διαφορετική ήπειρο με τη προϋπόθεση να μην έχουμε conflict στις IP των subnet μεταξύ τους.
Με τα Azure VPN Gateways μπορούμε να συνδέσουμε το on-premise φυσικό δίκτυο στην εταιρία μας με το Azure μέσω του Internet (IP security).
Το ExpressRoute είναι μια εναλλακτική του VPN Gateway. Μία προτεινόμενη λύση για γρήγορη και ασφαλή ιδιωτική σύνδεση (εκτός internet) του on-premise φυσικού δικτύου της εταιρίας μας με το Microsoft Azure.
Οι load balancers είναι για χρήση σε cluster και scaling εφαρμογές με high availability. Παρέχουν συνδεσιμότητα με τα private ips των endpoint ώστε αναλόγως το φόρτο ή αν δεν υπάρχει διαθεσιμότητα nodes να ανακατευθυνθούν σε κάποιο διαθέσιμο. Συνήθως εκεί ορίζουμε τις public IP.
Τις Public IP τις χρειαζόμαστε για επικοινωνία των εφαρμογών και των virtual machines με το internet. Συνήθως σε high availability εγκαταστάσεις τις ορίζουμε στους load balancers. Θέλει προσοχή όμως η χρήση τους γιατί μπορεί να οδηγήσει σε κενό ασφαλείας.