Migrace úloh Linuxu a PostgreSQL
Tento modul vás provede migrací existující úlohy z místního nebo cloudového prostředí do Azure. Zahrnuje migraci výpočetních prostředků na virtuální počítač Azure a data do Služby Azure Database for PostgreSQL. Aplikace je nezávislá na cloudu, která je samostatná pro jakoukoli aplikaci z reálného světa, která je připravená na migraci do cloudu.
V této lekci prozkoumáte hodnotu provedení následujících přechodů s výhodou úplné sady kontrolních mechanismů zabezpečení a identit, které Azure poskytuje:
- Přechod z místního prostředí (například z databáze spravované samoobslužnou správou) na plně spravovanou nabídku databáze
- Přechod z holých výpočetních prostředků na virtuální počítače hostované v cloudu
Prozkoumáte také výhody správy prostředků v cloudu z hlediska nákladů a výkonu. Dozvíte se také, jak přesně vypočítat a spravovat náklady před nasazením a po nasazení a jak optimalizovat výkon z hlediska výpočetních prostředků i dat.
Úlohy a data
Naše úloha je aplikace napsaná v Go a funguje s daty uvnitř PostgreSQL. Naše data jsou otevřená datová sada, která umožňuje prozkoumat výkon platformy Postgres a souvisejících rozšíření.
I když se tato aplikace dá snadno spustit v rámci kontejneru, účastníci se rozhodli, že to v této fázi neudělají. Vytvoření kontejneru, nasazení na platformu kontejneru nebo použití orchestrace kontejnerů je momentálně mimo rozsah. Migrace na kontejnery ale může být logickým budoucím krokem.
Úložiště GitHub, které je přidružené k tomuto modulu, poskytuje aplikaci a související data za vás. Dozvíte se, jak připravit aplikaci a exportovat data tak, aby se dostala do podobného stavu jako tato ukázková aplikace. Ukázkovou aplikaci můžete použít také jako šablonu pro nasazení zeleně.
Jaká je hodnota migrace této úlohy?
Možná vás zajímá, jaké jsou výhody migrace této úlohy do cloudu. Tady jsou některé z hodnotových nabídek.
Zabezpečení a dodržování předpisů
Když do cloudu přinášíte výpočetní a datové úlohy, těží z vyšších možností zabezpečení.
Virtuální počítače v Azure využívají širokou škálu funkcí zabezpečení a dodržování předpisů, včetně bran firewall, virtuálních sítí, přístupu k virtuálním počítačům za běhu, šifrování, řízení přístupu na základě role (RBAC) a důvěrných výpočtů. Azure Database for PostgreSQL podporuje mnoho podobných funkcí, jako je šifrování pomocí klíčů spravovaných zákazníkem, certifikace dodržování předpisů a podpora pro Microsoft Defender for Cloud.
Zabezpečení připojení mezi virtuálními počítači a databázemi
Když integrujete virtuální počítač se službou Azure Database for PostgreSQL, je důležité, aby se mohly vzájemně připojovat zabezpečeným způsobem, který snižuje riziko ztráty dat.
Ověřování Microsoft Entra umožňuje připojení ke službě Azure Database for PostgreSQL bez tradičních hesel. Místo toho použijete identity Microsoft Entra pro úlohu vaší aplikace (tj. spravované identity), uživatele a správce prostřednictvím svých uživatelských účtů Microsoft Entra. Tento přístup snižuje riziko ohrožení dlouhodobých přihlašovacích údajů a umožňuje špatným subjektům přístup k vašim datům.
Microsoft Entra ID, spravované identity a jemně odstupňované řízení přístupu na základě role (RBAC) může vaší aplikační úloze umožnit zabezpečený přístup k datům a správě prostředků v Azure s využitím principu nejnižších oprávnění.
Přístup k vysoce výkonným a nákladově efektivním výpočetním prostředkům napříč několika oblastmi
Ať už potřebujete nákladově efektivní výpočetní prostředky pro vývoj/testování, nebo nejnovější, nejvyšší výkon nebo největší dostupné výpočetní typy v cloudu, Azure nabízí širokou škálu možností výpočetních prostředků pro virtuální počítače i Azure Database for PostgreSQL. Podle potřeby můžete vertikálně navýšit a snížit kapacitu těchto možností a jsou dostupné ve více než 60 oblastech v Azure.
Výpočetní prostředky můžete škálovat vertikálně i horizontálně, včetně replik databáze a distribuovaných možností , jako je Azure Cosmos DB for PostgreSQL. Azure Cosmos DB for PostgreSQL je spravovaná služba pro PostgreSQL rozšířená o superschopnost opensourcových distribuovaných tabulek Citus. Tento výpočetní výkon je spárovaný s některými nejrychlejšími možnostmi cloudového úložiště , které vašim úlohám přizpůsobí požadavky na výpočetní výkon a vstupně-výstupní operace úložiště.
Správa nákladů a nákladová efektivita
Můžete optimalizovat správu nákladů a nákladovou efektivitu na straně Linuxu i PostgreSQL. Ve srovnání s místními řešeními mohou být náklady často šitější a vhodné pro vaši situaci. Výpočetní prostředky můžete ve srovnání s místním řešením správně upravit. Celou flotilu můžete také snadno spravovat, abyste optimalizovali jenom výpočetní prostředky a úložiště, které potřebujete, a platíte jenom za to, co používáte, v modelu fakturace nástrojů.
Fakturace nástrojů umožňuje zákazníkům zpracovávat období vysoké poptávky, aniž by museli platit náklady na nadměrné zřízení. Umožňuje migraci zrychlit a efektivnější generace výpočetních prostředků, jakmile budou k dispozici.
Zákazníci také můžou využít Zvýhodněné hybridní využití Azure, aby ušetřili náklady na licencování pro konkrétní distribuce Linuxu. Další informace najdete v tématu Zvýhodněné hybridní využití Azure pro virtuální počítače s Red Hat Enterprise Linuxem (RHEL) a SUSE Linux Enterprise Server (SLES).
Zákazníci také můžou snížit náklady (až 72 procent oproti cenám průběžných plateb) s ročními nebo třemi ročními podmínkami pro virtuální počítače a rezervované instance virtuálních počítačů Azure. Další informace najdete v tématu Způsob uplatnění slevy za rezervaci Azure na virtuální počítače. Ceny Azure jsou transparentní a předvídatelné a můžete použít cenovou kalkulačku Azure k odhadu nákladů před nasazením.
Operace dne 2
2. den operací pro nasazené aplikace (jako je třídění, monitorování, opravy zabezpečení, zálohování a zotavení po havárii) jsou efektivnější prostřednictvím automatizace a možnosti upgradu s potenciálně nulovými výpadky. Kromě toho můžete infrastrukturu spravovat až do konce se standardními sadami nástrojů.
Než začnete
Tento modul je navržený tak, aby vám pomohl migrovat existující úlohu Linuxu a PostgreSQL do Azure. Nezaměřuje se ale na to, jak exportovat data ze zdrojové databáze nebo jak připravit aplikaci na migraci. Jedním z důvodů tohoto přístupu je, že existuje mnoho typů zdrojových databází a aplikací, které byste mohli migrovat, a proces pro každý typ je jedinečný.
Tento modul poskytuje ukázkovou aplikaci, data Postgres, binární soubory a infrastrukturu jako kód, který můžete použít k simulaci procesu migrace. Po dokončení simulované migrace můžete pomocí znalostí, které jste získali, použít stejné principy pro vlastní úlohu.
Jako stand-in pro migraci kódu aplikace použijete ukázkovou aplikaci Azure-Samples/tailwind-traders-go. Infrastruktura jako kód Bicep, ukázková data Postgres, binární data a další prostředky podporující praktickou část tohoto modulu jsou dostupné v úložišti na GitHubu: Azure-Samples/linux-postgres-migration.
Pokud chcete tento přístup použít pro vlastní úlohu, musíte zdrojovou aplikaci a data namapovat na následující strukturu.
Kód aplikace
Kód aplikace byste měli uložit do správy zdrojového kódu, nejlépe do úložiště na GitHubu.
Migrace v tomto modulu ukazuje nejjednodušší scénář klonování úložiště přímo na virtuální počítač Azure. Ve skutečném scénáři byste pravděpodobně měli složitější kanál nasazení, například GitHub Actions, který sestaví a nasadí kód aplikace do výpočetních prostředků.
Data Postgres
Data Postgres byste měli uložit do .sql souboru, který můžete použít k vytvoření schématu databáze a vložení dat. V této simulované migraci použijete v rámci tailwind.sql úložiště ukázkový datový souborAzure-Samples/linux-postgres-migration. Zkopírujete soubor do služby Azure Blob Storage a pak ho naimportujete do služby Azure Database for PostgreSQL.
Pokud přijde čas na migraci vlastních dat, exportujete data ze zdrojové databáze a uložíte je do .sql souboru. Potom zkopírujete soubor do služby Blob Storage, jak je popsáno v tomto modulu.
Binární soubory
Většina aplikací má další binární soubory, jako jsou mediální soubory, které je potřeba migrovat. V případě ukázkové aplikace se dozvíte, jak migrovat image zkopírováním do Azure-Samples/linux-postgres-migration služby Blob Storage.
Podobně je potřeba při migraci vlastní úlohy zkopírovat binární soubory do služby Blob Storage. V tomto případě je výpočetní prostředí bezstavové a aplikace má oprávnění k přístupu k binárním datům přímo ve službě Blob Storage.
Infrastruktura jako kód (Bicep)
Infrastruktura jako kód pro tento modul je také uložena v Azure-Samples/linux-postgres-migration. Je navržená tak, aby byla referenční architektura, kterou můžete použít tak, jak je, s minimálními změnami, pokud můžete zdrojová data a aplikace přizpůsobit dříve popsané struktuře.
Zabezpečení je hlavním tématem této migrace a zvolili jsme určitá nastavení zabezpečení, která usnadňují dokončení praktické části tohoto modulu. Blob Storage například používá bezpečnější metodu ověřování bez klíčů, ale povolujeme síťová připojení z jakékoli IP adresy. V produkčním prostředí byste chtěli uzamknout síťový přístup jenom na IP adresy, které potřebují přístup k účtu úložiště.
Podobně ponecháme možnost přidat na server PostgreSQL pravidlo brány firewall, které povolí konkrétní IP adresu. V produkčním prostředí můžete úplně zakázat veškerý veřejný přístup k serveru.
Rozdíly mezi zdrojovými prostředími a Azure
Jedním z hlavních rozdílů v migraci z jiného prostředí do Azure je, že plně využíváte kontrolní mechanismy zabezpečení a identit, které Azure poskytuje:
- Spravované identity používáte pro virtuální počítače a Azure Database for PostgreSQL.
- Pro ověřování databáze použijete ID Microsoft Entra.
- Pro přístup k virtuálním počítačům používáte místo klíčů SSH (Secure Shell) Microsoft Entra ID.
Místo migrace metodou "lift and shift" využíváte příležitost modernizovat aplikaci, abyste plně využili výhod funkcí zabezpečení a dodržování předpisů, které Azure poskytuje.
V místním prostředí můžete k ověření databáze použít uživatelské jméno a heslo. V Azure předvádíme, jak použít spravovanou identitu virtuálního počítače k ověření v databázi. Tato metoda ověřování je bezpečnější a snižuje riziko napadení dlouhodobých přihlašovacích údajů.
Použití spravované identity pro ověřování často vyžaduje změny kódu ve vaší aplikaci. Tento modul ukazuje, jak pomocí azidentity knihovny v Go získat token pro spravovanou identitu. Stejná knihovna je dostupná napříč sadami MICROSOFT SDK.
Vytvoření účtu Azure a instalace Azure CLI
Pokud účet Azure nemáte, můžete si ještě dnes vytvořit bezplatný účet . Získáte kredity, které můžete použít k vyzkoušení placených služeb Azure. I po použití kreditů si můžete účet ponechat a využívat bezplatné služby Azure.
Ke spuštění příkazů v následujících lekcích potřebujete přístup k prostředí Bash. Toto prostředí může být v některé z těchto oblastí:
- Na místním počítači. Můžete například použít macOS, Linux, Subsystém Windows pro Linux (WSL) nebo Docker.
- Na virtuálním počítači. Použijte například Multipass nebo Azure.
- V cloudu. Použijte například Azure Cloud Shell nebo GitHub Codespaces.
K dokončení tohoto modulu potřebujete Azure CLI. Azure CLI můžete nainstalovat na místní počítač podle pokynů v článku Instalace Azure CLI . Musíte také nainstalovat Git.
Zdroje informací
- Vytvoření bezplatného účtu Azure
- Nainstalujte Azure CLI
- Cenová kalkulačka Azure
- Zvýhodněné hybridní využití Azure pro virtuální počítače s Red Hat Enterprise Linuxem (RHEL) a SUSE Linux Enterprise Server (SLES)
- Způsob uplatnění slevy za rezervaci Azure na virtuální počítače
- Azure-Samples/tailwind-traders-go repozitář
- Úložiště Azure-Samples/linux-postgres-migration
- Co je Azure Cloud Shell?
- GitHub Codespaces