De beslissingscriteria voor het selecteren en migreren van hulpprogramma's analyseren

Voltooid

Nu we de opties voor migratiemethodologieën en hulpprogramma's hebben verkend, kunnen we de beslissingscriteria verkennen die we moeten overwegen om onze migraties uit te voeren naar Azure Database for PostgreSQL Flexible Server. De drie belangrijkste criteria die ons helpen bij het maken van onze keuzes zijn downtime, locatie van brondatabase en aanpasbaarheid.

Uitvaltijd

Downtime is een belangrijk facet van migratieactiviteiten en de duur die acceptabel is voor de belanghebbenden, helpt ons te bepalen of we een offline- of onlinemigratieactiviteit moeten uitvoeren.

Normaal gesproken worden migratieactiviteiten ruim van tevoren gepland om ervoor te zorgen dat de juiste wijzigingsbeheer en bijbehorende governance voor de activiteit worden voltooid. Met deze planning kan een dialoogvenster met belangrijke belanghebbenden begrijpen hoe lang het systeem offline kan zijn. In deze situatie is het raadzaam om te weten hoe lang het duurt voor de verschillende opties u geschatte minimale en maximale downtime kunt vaststellen.

Het bepalen van de minimale downtime die nodig is om een cut-over voor een toepassing uit te voeren, is essentieel. Uiteindelijk is dit de hoeveelheid die u nodig hebt om het systeem offline te halen, zelfs voor een onlinemigratieactiviteit (of minimale downtime). De complexiteit van de toepassing gaat deze tijdschaal dicteren. Voor een relatief eenvoudige toepassing kan dit proces een geval zijn van het stoppen van een service, het bijwerken van een configuratiebestand en het vervolgens weer inschakelen. In complexere omgevingen kan dit proces veel langer duren als er meerdere servers en toepassingslagen worden afgespeeld.

Informatie over de duur die nodig is voor online- of offlinemigratieactiviteiten is het volgende belangrijke element met betrekking tot downtime. Als het een offlinemigratie is, is de tijd die nodig is om de gegevens van de bron naar de bestemming te extraheren, over te dragen en te laden, gevolgd door validatie en verificatie uw downtime. Deze downtime wordt vervolgens tussen de tijd die nodig is om de app/workload uit te schakelen en de tijd die nodig is om de app/workload weer in te schakelen.

Als het een onlinemigratie (minimale downtime) betreft, is de downtime de duur die nodig is om de laatste wijzigingen van de bron naar de bestemming te synchroniseren zodra de toepassing is uitgeschakeld. Voeg aan deze downtime, de validatie- en verificatieactiviteiten toe voordat u de toepassing/workload opnieuw configureert en inschakelt.

Zodra we deze informatie hebben, kunnen we kijken naar de technische elementen van de migratie om te bepalen wat onze haalbare opties zijn.

Locatie van brondatabase

De bronlocatie van de te migreren databases spelen een rol vanwege de beperkingen die waarschijnlijk gelden voor een bepaalde configuratie.

On-premises of niet-Azure-bronnen

Voor een on-premises of niet-Azure-database is de sleutelbeperking doorgaans de netwerkverbinding tussen de bron en het doel. De drie punten die u hier moet overwegen, zijn bandbreedte, latentie en gegevensvolume. Zodra we deze punten begrijpen, kunnen we een weloverwogen beslissing nemen over welk type migratie haalbaar is.

Als we een grote hoeveelheid gegevens hebben om te migreren en een proportionele kleine hoeveelheid bandbreedte, is een eenvoudige dump en herstel waarschijnlijk niet haalbaar. Terwijl als we een grote hoeveelheid gegevens en een grote hoeveelheid bandbreedte hebben, is het minder belangrijk.

En als het een onlinemigratie is waarbij gegevenssynchronisatie plaatsvindt, is latentie een van de belangrijkste factoren. Als de latentie hoog is, kan dit negatieve gevolgen hebben voor de systeemprestaties, omdat het synchronisatieproces te lang duurt.

Een belangrijke factor om ook rekening mee te houden bij het migreren van andere cloudproviders is of ze kosten in rekening brengen voor uitgaande gegevens. Zo ja, dan kan het minimaliseren van de fysieke footprint van de gegevens die worden overgedragen, een overweging zijn. In dergelijke situaties kan compressietechnologie belangrijk zijn voor dumps of gegevensstromen die worden gebruikt voor synchronisatie.

Andere azure-services

Er zijn situaties waarin u wilt migreren van andere Azure-services naar Azure Database for PostgreSQL Flexible Server. Deze brondatabases kunnen zich in azure-VM's, containers of mogelijk azure Database for PostgreSQL Enkele server bevinden. Als dat het geval is, is er een andere set overwegingen om te verkennen, maar tegelijkertijd verschillende mogelijkheden om te profiteren van optimalisaties binnen de Azure-services voor deze scenario's.

Aanpasbaarheid

Het laatste aandachtspunt is hoeveel aanpassing nodig of gewenst is. Deze overweging kan de vorm aannemen van de noodzaak om de structuur van de brondatabase te wijzigen ter ondersteuning van gegevensreplicatie. Het kan ook betekenen hoe eenvoudig het is om te automatiseren via scripts.

Een goed voorbeeld is het automatiseren van de offlinemigratie van een database via pg_dump en pg_restore, maar tegelijkertijd inclusief de compressie en decomprimatie van de dumpbestanden.

Besluitvorming

Nu we het proces voor het verzamelen van al deze informatie hebben doorlopen, kunnen we samenwerken met de belanghebbenden om de beste optie voor een bepaald scenario te bepalen. Bij het nemen van de beslissing over welke methodologie en technologie worden gebruikt, is het belangrijk om niet alleen te werken met de zakelijke belanghebbenden, maar ook met de technische belanghebbenden. Deze samenwerking helpt een situatie te voorkomen waarbij het bedrijf een minimale downtimemigratie uitvoert, die het technische team niet in staat is om te leveren vanwege personeels-, resource- of technologiebeperkingen.

Het belangrijkste is hier om verwachtingen te beheren en een open en eerlijk dialoogvenster te hebben. Het is ook belangrijk om ervoor te zorgen dat het bedrijf eigenaar wordt van validatietaken die buiten de taak van de technische teams zitten die de databasemigratie leveren. Deze validatie kan betrekking hebben op gegevensconsistentie en validatiecontroles en testen van gebruikerservaring.