Cloud-native ontwikkeling
Wat zijn cloud-native databases?
Wat zijn cloud-native databases?
Cloud-native databases zijn speciaal ontworpen voor cloudomgevingen en maken gebruik van de schaalbaarheid, elasticiteit en gedistribueerde architectuur van cloudinfrastructuur. Google's Spanner kan bijvoorbeeld gegevens tussen regio's repliceren; Google stelt dat zijn multi-regio-instanties een beschikbaarheid van 99,999% bieden.
Deze databases zijn vanaf de grond opgebouwd om te gedijen in de cloud, in tegenstelling tot conventionele databases, die zijn ontworpen voor on-premise omgevingen, maar moeite kunnen hebben om zich aan te passen aan het dynamische karakter van de cloud.
- Hoge schaalbaarheid, beschikbaarheid en kostenefficiëntie zijn hun bepalende kenmerken.
- Enkele bekende producten in deze categorie zijn Amazon DynamoDB, Google Cloud Spanner en MongoDB Atlas.
- Cloud-native databases moeten worden gebruikt als uw applicaties een hoge schaalbaarheid vereisen, u met enorme hoeveelheden data te maken hebt of u operationele kosten wilt minimaliseren.
Wat is het verschil tussen een cloud-native database en een traditionele database?
Het belangrijkste verschil is gebaseerd op schaal, architectuur, en welke benaderingen worden gebruikt om beschikbaarheid te bereiken. Cloud-native databases zijn ontworpen om horizontaal nodes toe te voegen om een hoge beschikbaarheid en prestaties in de cloud te realiseren. Traditionele databases daarentegen zijn doorgaans gepland voor verticale schaalbaarheid en kunnen moeite hebben om zich aan te passen aan het dynamische karakter van de cloud.
Cloud-native databases kunnen kenmerken integreren zoals een gedistribueerde architectuur, managed services en pay-as-you-go-prijzen, wat kan bijdragen aan hun compatibiliteit met bepaalde moderne, cloudgebaseerde applicaties.
| Kenmerk | Cloud-native databases | Traditionele databases |
|---|---|---|
| Architectuur en schaalbaarheid | ||
| Schaalmethode | Horizontale schaalbaarheid (knooppunten toevoegen) | Verticale schaalbaarheid (hardware upgraden) |
| Architectuurtype | Gedistribueerde architectuur | Gecentraliseerde architectuur |
| Operationele kenmerken | ||
| Omgevingsontwerp | Specifiek gebouwd voor cloudomgevingen | Ontworpen voor on-premises implementatie |
| prijsmodel | Betalen naar gebruik | Traditionele licentieverlening |
| Beheer | Beheerde services beschikbaar | Handmatige configuratie vereist |
| Prestaties & Beschikbaarheid | ||
| Beschikbaarheid | Hoge beschikbaarheid van ontwerp | Vereist aanvullende configuratie |
| Aanpassingsvermogen | Dynamische reactie op belastingomstandigheden | Vaste resourcetoewijzing |
| Cloudintegratie | Native cloud service-integratie | Beperkte cloudcompatibiliteit |
Wat zijn de belangrijkste voordelen van het gebruik van cloud-native databases?
Eenvoudige schaalbaarheid, hoge beschikbaarheid, lage kosten en lage operationele overheadkosten zijn enkele van de waargenomen voordelen van producten in deze categorie. Cloud-native databases kunnen snel horizontaal op- of afschalen, afhankelijk van de reactie op de belasting, wat helpt voorkomen dat de database offline moet worden gehaald. Sommige scheiden rekenkracht van opslag: met Microsofts Azure SQL Database Hyperscale kunt u opslag (tot 128 TB) onafhankelijk van rekenkracht schalen (Microsoft).
Pay-as-you-go-services bieden flexibele betaling op basis van gebruik, terwijl volledig beheerde services de noodzaak van handmatige configuratie en onderhoud kunnen helpen verminderen.
Welke uitdagingen of overwegingen moeten organisaties kennen bij het adopteren van cloud-native databases?
De belangrijkste knelpunten zijn cloud vendor lock-in,, datamigratie en de vaardigheden benodigd om deze databases te implementeren en te beheren.
Het is cruciaal om te overwegen hoe gemakkelijk u de data kunt verplaatsen als migratie noodzakelijk wordt, en om een duidelijk beeld te hebben van uw ervaring met databasebeheer of of u zult vertrouwen op managed services.
Wat zijn enkele voorbeelden in de praktijk van cloud-native databases in actie?
Opvallende voorbeelden omvatten zowel relationele als NoSQL-ontwerpen:
- Amazon DynamoDB: Een NoSQL-database gebruikt voor krachtige applicaties die flexibiliteit in datamodellering vereisen.
- Google Cloud Spanner: Het maakt gebruik van een gedistribueerde architectuur op verschillende locaties in zijn relationele database, met als doel om tegelijkertijd consistentie van gegevens en beschikbaarheid van de service te bereiken. Google vermeldt een beschikbaarheid van 99,999% voor multi-regio-instanties, 99,99% voor regionale instanties (Google Cloud).
- MongoDB Atlas: Een documentgeoriënteerde database aangeboden als een managed cloud service (database-as-a-service), ontworpen voor zowel flexibiliteit als schaalbaarheid.
- Azure Cosmos DB: Dit is een type database dat in de cloud wordt gehost en kan werken met datamodellen waaronder document, key-value, graph en tabel (Microsoft).
Branche toepassingen zijn onder andere e-commerceplatforms, gaming-applicaties en IoT-apparaten.
Wanneer moeten organisaties overwegen om een cloud-native database te gebruiken in plaats van een traditionele of SaaS-oplossing?
Gebruik cloud-native databases wanneer uw applicaties zeer schaalbaar en beschikbaar moeten zijn, wanneer u grote hoeveelheden data verwerkt, wanneer u minimale tijd wilt besteden aan beheer, of bij het bouwen van nieuwe cloud-native applicaties.
Cloud-native databases zijn ontworpen voor de cloudomgeving. Hoewel ze voordelen kunnen bieden ten opzichte van traditionele of SaaS-oplossingen wat betreft schaalbaarheid, flexibiliteit en kostenefficiëntie hangen deze voordelen af van de werklast.
Als uw behoeften relatief eenvoudig zijn en uw vraag gemakkelijk te voorspellen is, dan is een SaaS-oplossing mogelijk het beste startpunt. Wanneer uw applicatie echter complexer wordt en uw bedrijf behoefte heeft aan meer onafhankelijkheid en maatwerk, kan een cloud-native database de beste oplossing zijn.
Conclusie
Cloud-native databases veranderen de manier waarop applicaties worden gebouwd en geïmplementeerd. Deze diensten worden gekenmerkt door schaalbaarheid, beschikbaarheid en kostenefficiëntie, wat belangrijke overwegingen zijn voor moderne bedrijven. Als u voor de noodzaak staat om opties te overwegen voor de verdere omgang met de database, moet u nadenken over alle vereisten en bijzonderheden die in dit artikel worden beschreven en beslissen of het gebruik van de cloud-native database in uw geval een goed idee is.