Sommige toepassingen vragen om een specifieke database, en cloudapplicaties creëren vaak zulke enorme hoeveelheden gegevens dat je tegen de beperking van een RDBMS aanloopt. En als iets een basisproduct is, verwacht je dat je het eenvoudig kunt gebruiken en dat je het als een dienst kunt afnemen. Bij AWS krijg je bij het ontwikkelen van een applicatie de mogelijkheid een database te gebruiken op pay-per-use-basis. En als een applicatie in productie is en de hoeveelheden gegevens en transacties exploderen, kan dit een belangrijke keuze zijn om deze klap op te vangen.

Laten we beginnen met de basis, met de verschillende smaken databases die Amazon standaard aanbiedt. Dat zijn Amazon Aurora, Oracle, Microsoft SQL Server, PostgreSQL, MySQL en MariaDB. Natuurlijk heb je ook de mogelijkheid om het even welke RDBMS op AWS te installeren en bovendien zijn er nog mogelijkheden op het gebied van niet-relationele databases.

Als ontwikkelaar moet je schipperen tussen mogelijkheden, tijd en eisen van de business. Bekijk de special over Development in de Cloud en geef je mening!

Probleem met schalen in de cloud

Het algemene probleem met relationele databases is dat ze niet goed schalen, en cloud-gebruik is vaak nou juist gerelateerd aan een scenario waarin datahoeveelheden en database-gebruik zeer snel en onvoorspelbaar groeien. Met MySQL bijvoorbeeld, kent de database een maximum afmeting van 6 TB. Met SQL Server is dit zelfs maar 4 TB. Zodra je in de buurt van deze beperking komt, moet je gaan nadenken aan de migratie naar een andere database of over andere oplossingen. Amazon Aurora is echter speciaal ontwikkeld voor de cloud en biedt een indrukwekkende 64 TB, bij tot tien keer hogere prestaties en, zeker binnen het pay-per-use model. Tegen een fractie van de prijs.

Aangezien Amazon Aurora volledig compatibel is met MySQL, kun je je bestaande software met triggers en stored procedures in Amazon Aurora gebruiken. Dat maakt een databasemigratie uiterst eenvoudig. Maar zelfs als je migreert naar een ander RDBMS, gaat dat dankzij Amazon Migratie Service vrijwel automatisch. Het Schema Conversion Tool zal het schema en de code, inclusief views, stored procedures en functies omzetten naar een formaat dat compatibel is met de doel-database. De code die niet automatisch kan worden omgezet, zal worden gemarkeerd, zodat je ziet welke code handmatig aangepast moet worden.

Migratie

Je begint een databasemigratie met een paar klikken in de AWS Management Console. Vanaf dat moment neemt AWS je alle complexiteiten van het migratieproces uit handen, zoals data type transformatie, compressie en parallelle overdracht (voor snellere gegevensoverdracht). Het zorgt ervoor dat de datawijzigingen van de betreffende brondatabase die optreden tijdens het migratieproces automatisch naar de doeldatabase gekopieerd worden. Omdat je alleen betaalt voor de middelen die tijdens de migratie gebruikt worden, kan deze tegen zeer lage kosten uitgevoerd worden; een database van één terabyte kan worden gemigreerd voor minder dan 3 euro.

Standaardproduct of niet, er zijn nog steeds veel situaties waarin, om welke reden dan ook, een specifieke database nodig is. Binnen AWS kun je zelfs gebruik maken van Oracle in verschillende constellaties, met en zonder pay per use en natuurlijk met de mogelijkheid om je eigen licentie te gebruiken. Alle databases kunnen worden versleuteld met behulp van je eigen sleutel, of met behulp van een door AWS-gegenereerde sleutel.

Multi-AZ

Als je applicatie kritiek is en dus altijd online moet blijven, kun je je het beste voorbereiden op een eventuele infrastructuurstoring, bijvoorbeeld een hardwarefout, een opslag- of een netwerkstoring. Dan is een failover-optie voor je database essentieel. Dat kan bijvoorbeeld met Amazon RDS multi-AZ. Implementaties hiervan bieden verbeterde beschikbaarheid en duurzaamheid voor database instances, waardoor die zeer geschikt zijn voor de belasting van productie-databases.

Wanneer je een Multi-AZ DB instance creëert, maakt Amazon RDS automatisch een primaire database instance aan en repliceert de gegevens synchroon naar een stand-by in een andere Availability Zone (AZ). Elke AZ draait op zijn eigen fysisch afzonderlijke, onafhankelijke infrastructuur en is ontworpen met het oog op de grootste betrouwbaarheid. Bij een infrastructuurstoring voert Amazon RDS automatisch een failover uit naar de standby database, zodat de database beschikbaar is zodra de failover voltooid is. Aangezien het endpoint voor de database instance hetzelfde blijft na een failover, kan de applicatie het gebruik van de database hervatten zonder de noodzaak van een handmatige beheerinterventie.

Read Replica

De meeste gebruikers lezen alleen data, slechts een klein deel ervan veroorzaakt daadwerkelijk databasetransacties. Daarom kan het heel veel opleveren om één of meerdere lees-replicaties te gebruiken. Dat maakt een zeer efficiënt gebruik van de database mogelijk. Je omzeilt er capaciteitsbeperkingen mee van een enkele database instance bij leesintensieve database-toepassingen. Met Amazon RDS voor MySQL en PostgreSQL kun je gebruik maken van de ingebouwde mogelijkheid hiervoor.

Je kunt Multi-AZ implementaties en leesreplica's in combinatie gebruiken om van de complementaire voordelen te profiteren. Je kunt gewoon aangeven dat een bepaalde Multi-AZ de bron is voor de leesreplica's. Op die manier combineer je de duurzaamheid van de data, de beschikbaarheid van Multi-AZ implementaties en de schaalbaarheid die je door de leesreplica's verkrijgt. Wanneer je nog meer redundantie wilt, kun je de leesreplica in een andere AZ maken dan die van de primaire en de standby.

Terug naar de toekomst

De automatische back-upfunctie van Amazon RDS maakt point-in-time recovery voor je database-instance mogelijk, zodat je je database instance kunt herstellen naar elke willekeurige seconde tijdens de bewaarperiode, tot en met de laatste vijf minuten. Om redenen van compliancy kan het nodig zijn om een backup met een langere retentieperiode te hebben. Op Amazon RSD dit is 35 dagen, dus je kunt met je database meer dan een maand terug in de tijd. Het enige nadeel hiervan is dat er geen DeLorean aan te pas komt. Maar wanneer je gebruik maakt van de mogelijkheden van Amazon RDS zou je genoeg geld kunnen besparen om je eigen DeLorean te kopen - of natuurlijk gewoon een replica.

Probeer het zelf en maak gratis een account aan op AWS