Rehosting är ett sätt att köra äldre stordatorprogram, intakta, i ett öppet system. Den här sökvägen är det snabbaste sättet att ta bort program från stordatormaskinvaran och köra dem på en Windows- eller Linux-plattform i en molnbaserad miljö. Programkoden som skrivs på äldre språk som COBOL eller PL/1 migreras som den är och omkompileras i den nya miljön utan att affärslogik ändras. Omvärdning hjälper till att bevara programmets logik. Samtidigt minimerar omvärdning den risk och kostnad som följer med att omodera programmet för den nya miljön.
Rehosting är en kostnadseffektiv metod för att hantera utmaningarna med att underhålla gammal stordatormaskinvara. Ombyte kallas ofta lift and shift och flyttar verksamhetskritiska program och kärnprogram från stordatorn och migrerar dem till molnet. Med den här metoden ändras den underliggande maskinvaran, till exempel från en IBM-stordator till x86. Den funktionella logiken och affärslogiken är dock orörd. Den här migreringen är den snabbaste och minst effektfulla ur ett slutanvändarperspektiv. Programmet behåller samma gränssnitt och utseende och känsla som användarna är bekväma med.
För team som utforskar molnfunktioner är omvärdning av program ett bra sätt att använda molnfunktioner som automatisk skalning, hanterad lagring och containrar. Den här arkitekturen visar ett allmänt omvärdningsexempel som visar två metoder för att distribuera arbetsbelastningar. Du kan använda Azure Kubernetes Service (AKS) eller Azure Virtual Machines. Vilken metod du använder beror på programmets portabilitet och vad du föredrar.
Potentiella användningsfall
Många scenarier kan dra nytta av att byta värd på Azure. Här följer några möjliga användningsfall:
- Kostnadsoptimering: Du vill avsevärt minska de höga driftskostnaderna och underhållskostnaderna för stordatorernas maskinvara och tillhörande licenser eller programvara.
- Platsagnostisk: Du planerar för en datacenteravslutning och vill ha en hög tillgänglighet, säker och tillförlitlig alternativ plattform som värd för dina äldre program.
- Minst avbrott: Du måste migrera verksamhetskritiska stordatorprogram samtidigt som du bibehåller kontinuiteten i den dagliga verksamheten.
- Minimal användarpåverkan: Flytta dina program från gammal maskinvara men fortsätt att ge användarna samma eller bättre gränssnitt.
- Försumbar kompetens: Program omvärdas i molnet utan några betydande kodändringar. De fortsätter att förse utvecklingsteamet med den välbekanta kodbasen och eliminerar samtidigt kostsam utveckling, testning och omskolning på ett nyare språk.
Stordatorarkitektur
Det här är arkitekturen före migreringen.
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde för stordator
Indata sker via TCP/IP, inklusive TN3270, HTTP och HTTPS.
Indata till stordatorn använder standardprotokoll för stordatorkommunikation.
Att ta emot program kan vara batch- eller onlinesystem.
COBOL, PL/I, Assembler och andra kompatibla språk körs i en aktiverad miljö.
Data- och databastjänster som används är hierarkiska databaser, nätverk och relationsdatabaser.
Vanliga tjänster omfattar programkörning, I/O-åtgärder, felidentifiering och skydd i miljön.
Mellanprogram och verktyg hanterar tjänster som bandlagring, köer, utdata och webbtjänster i miljön.
Operativsystemen tillhandahåller gränssnittet mellan motorn och den programvara som den kör.
Partitioner krävs för att köra separata arbetsbelastningar och separera arbetstyper i miljön.
Arkitektur
Den här arkitekturen visar en lösning som är värd för Microsoft Azure.
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
Indata kommer vanligtvis via ExpressRoute från fjärrklienter eller av andra program som för närvarande körs i Azure. I båda fallen är TCP/IP-anslutningar det primära sättet att ansluta till systemet. Användaråtkomst tillhandahålls via TLS-port 443 för åtkomst till webbaserade program. Presentationsskiktet i det webbaserade programmet kan hållas oförändrat för att minimera slutanvändarnas omträning. För administratörsåtkomst till de virtuella datorerna kan du använda Azure Bastion-värdar för att maximera säkerheten genom att minimera öppna portar.
Åtkomst till programberäkningskluster görs med hjälp av en Azure-lastbalanserare. Med den här metoden kan du skala ut beräkningsresurser för att bearbeta indataarbetet. Både nivå 7-programnivån och nivå 4-lastbalanserare på nätverksprotokollnivå är tillgängliga. Vilken typ du använder beror på hur programindata når startpunkten för datorklustret.
Användningen av programberäkningskluster beror på om programmet stöder virtuella datorer i ett beräkningskluster eller om programmet körs i en container som du distribuerar i ett containerberäkningskluster som Kubernetes. De flesta partnerprogram för stordatorer för program som skrivits på äldre språk föredrar att använda virtuella datorer. Vissa stordatorsystem partner programvara kan också stödja distribution i containrar.
Programservrar tar emot indata i beräkningskluster och delar programtillstånd och data med Azure Redis Cache eller fjärråtkomst till direkt minne (RDMA). Programservrarna är värdar för olika COBOL- eller PL/1-program. En transaktionssystemhanterare är en emulator i Azure som kan hantera arbetsbelastningar för kundinformationskontrollsystem (CICS) och informationshanteringssystem (IMS). En batchsystememulator i Azure utför rollen som jobbkontrollspråk (JCL).
Du kan använda Azure-tjänster eller annan partnerprogramvara som finns på virtuella datorer för system, verktyg och datahantering.
Stordatordata migreras till Azure-databaser. Azure tillhandahåller olika effektiva datalagringstjänster som Azure SQL Database, SQL Server på Azure Virtual Machines och Azure SQL Managed Instance. Det finns många faktorer att tänka på när du gör ett val, till exempel typ av arbetsbelastning, frågor mellan databaser och krav för två faser. Azure-datatjänster tillhandahåller skalbar och högtillgänglig datalagring som du kan dela över flera beräkningsresurser i ett kluster. Du kan göra dessa tjänster geo-redundanta och sedan konfigurera dem så att om redundans inträffar blir haveriberedskapsdatabasinstansen aktiv.
MED AKS kan du skala ut och skala ned dina arbetsbelastningar för stordatormodernisering i Azure för att dra nytta av molnplattformen. När du distribuerar flera AKS-kluster väljer du regioner där AKS är tillgängligt. Sedan kan du använda parkopplade regioner för en mycket elastisk arkitektur. Det är viktigt att köra flera instanser av ett AKS-kluster i flera regioner och i konfigurationer med hög tillgänglighet.
Azure Data Factory tillhandahåller datainmatning och synkronisering med flera datakällor, både i Azure och från externa källor. Azure Blob Storage är en vanlig landningszon för externa datakällor.
Använd Azure Site Recovery för haveriberedskap för komponenterna i den virtuella datorn och containerkluster. Azure Site Recovery replikerar och synkroniserar produktionsmiljön till redundansregionen.
Komponenter
Virtuella datorer: Virtuella datorer är en skalbar beräkningsresurs på begäran. En virtuell dator i Azure ger dig virtualiseringsflexibilitet utan att du behöver köpa och underhålla den fysiska maskinvara som den virtuella datorn körs på.
Azure Virtual Network: Virtuellt nätverk är den grundläggande byggstenen för ditt privata nätverk i Azure. Med virtuellt nätverk kan många typer av Azure-resurser, till exempel virtuella datorer, kommunicera säkert med varandra, Internet och lokala nätverk. Virtuellt nätverk är som ett traditionellt nätverk som du arbetar i ditt eget datacenter. Det medför dock fördelarna med Azures infrastruktur, till exempel skalning, tillgänglighet och isolering.
Azure Virtual Network Interface Cards: Ett nätverksgränssnitt gör att en virtuell Azure-dator kan kommunicera med internet, Azure och lokala resurser. Som du ser i den här arkitekturen kan du lägga till fler nätverkskort till samma virtuella Azure-dator. På så sätt har solaris underordnade virtuella datorer en egen dedikerad nätverksgränssnittsenhet och IP-adress.
Azure Disk Storage: Hanterade diskar är lagringsvolymer på blocknivå som hanteras av Azure och används med virtuella Azure-datorer. Tillgängliga typer av diskar är Azure Ultra Disk Storage, Azure Premium SSD, Azure Standard SSD och Azure Standard HDD. För den här arkitekturen rekommenderar vi antingen Premium SSD eller Ultra Disk Storage.
Azure Files: Azure Files erbjuder fullständigt hanterade filresurser i molnet som är tillgängliga via SMB-protokollet (Server Message Block). Du kan montera Azure-filresurser samtidigt via molnbaserade eller lokala distributioner av Windows, Linux och macOS.
Azure ExpressRoute: Med ExpressRoute kan du utöka dina lokala nätverk till Microsoft-molnet via en privat anslutning som underlättas av en anslutningsleverantör. Du kan också upprätta anslutningar till Microsofts molntjänster, till exempel Microsoft Azure och Microsoft 365.
AKS: Distribuera och hantera containerbaserade program enklare med en fullständigt hanterad Kubernetes-tjänst. Azure Kubernetes Service (AKS) erbjuder serverlös Kubernetes, en integrerad kontinuerlig integrering och kontinuerlig leveransupplevelse (CI/CD) samt säkerhet och styrning på företagsnivå. Förena utvecklings- och driftsteamen på en enda plattform och skapa, leverera och skala program snabbt och tryggt.
Azure Container Registry: Skapa, lagra, skydda, skanna, replikera och hantera containeravbildningar och artefakter med en fullständigt hanterad, geo-replikerad instans av OCI-distribution. Ansluta mellan miljöer som AKS och Azure Red Hat OpenShift och över Azure-tjänster som App Service, Machine Learning och Batch.
Site Recovery: Site Recovery erbjuder enkel distribution, kostnadseffektivitet och pålitlighet. Använd replikering, redundans och återställningsprocesser via Site Recovery för att hålla igång programmen under planerade och oplanerade avbrott.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i checklistan för Designgranskning för tillförlitlighet.
- Använd en containerbaserad metod för distribution för att få ut mesta möjliga av Azures funktioner. Den här metoden hjälper till om programmet behöver skalas på begäran och uppnå elastisk etablering av kapacitet utan att behöva hantera infrastrukturen. Du kan också lägga till händelsedriven autoskalning och utlösare. En container paketar all programvara som behövs för körning till ett körbart paket. Den innehåller ett programs kod tillsammans med de relaterade konfigurationsfiler, bibliotek och beroenden som krävs för att köra appen.
- Du måste samordna och hantera containerbaserade tjänster och tillhörande nätverks- och lagringskomponenter. AKS är ett utmärkt alternativ eftersom det automatiserar kluster- och resurshantering. Du anger antalet noder som du behöver, och AKS passar dina containrar på rätt noder för att använda resurserna på bästa sätt. AKS stöder även automatiserade distributioner och återställningar, tjänstidentifiering, belastningsutjämning och lagringsorkestrering. Och AKS stöder självåterställning. Om en container misslyckas startar AKS en ny. Du kan också lagra hemligheter och konfigurationsinställningar på ett säkert sätt utanför containrarna.
- Arkitekturen använder Site Recovery för att spegla virtuella Azure-datorer till en sekundär Azure-region för snabb redundans och haveriberedskap om ett Azure-datacenter misslyckas.
- För att maximera drifttiden för arbetsbelastningarna i AKS-distributionsmetoden är det bästa praxis för affärskontinuitet att distribuera programmet till flera AKS-kluster i olika regioner. Programtillståndet kan vara tillgängligt i flera kluster eftersom AKS tillåter lagringsreplikering i flera regioner.
- Om du vill maximera drifttiden för arbetsbelastningarna med en VM-baserad distributionsmetod bör du överväga att använda Azure Virtual Machine Scale Sets. Med VM-skalningsuppsättningar kan du skapa och hantera en grupp med belastningsutjämning av virtuella datorer. Antalet VM-instanser kan automatiskt öka eller minska som svar på efterfrågan eller ett definierat schema. Skalningsuppsättningar ger hög tillgänglighet till dina program och gör att du kan hantera, konfigurera och uppdatera många virtuella datorer centralt.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i checklistan för Designgranskning för Security.
- Den här lösningen använder en Azure-nätverkssäkerhetsgrupp för att hantera trafik mellan Azure-resurser. Mer information finns i Nätverkssäkerhetsgrupper.
- Azure Bastion maximerar administratörsåtkomstsäkerheten genom att minimera öppna portar. Bastion ger säker och sömlös RDP/SSH-anslutning till virtuella nätverksdatorer direkt från Azure Portal via TLS.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för kostnadsoptimering.
Azure tillhandahåller kostnadsoptimering genom att köra på virtuella Windows-datorer. Med virtuella Windows-datorer kan du inaktivera de virtuella datorerna när de inte används och skripta ett schema för kända användningsmönster. Azure identifierar rätt antal eller resurstyper, analyserar utgifter över tid och skalar för att uppfylla affärsbehov utan överförbrukning.
Använd Priskalkylatorn för Azure för att beräkna kostnaden för tjänsterna i den här arkitekturen.
Operational Excellence
Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i checklistan för Designgranskning för Operational Excellence.
- Målarkitekturen fungerar med Azure Cloud Services.
- Den containerbaserade distributionen främjar implementeringen av DevOps- och Agile-arbetsprinciper.
- Du har fullständig flexibilitet när det gäller distributionsalternativ för utveckling och produktion.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i checklistan för Designgranskning för prestandaeffektivitet.
- Prestandaeffektiviteten är inbyggd i den här lösningen på grund av lastbalanserarna. Om en presentation eller transaktionsserver misslyckas kan servern bakom lastbalanseraren axla arbetsbelastningen.
- Kubernetes tillhandahåller en autoskalning av kluster. Autoskalningen justerar antalet noder baserat på de begärda beräkningsresurserna i nodpoolen.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Sunnyma Ghosh | Senior programchef
Annan deltagare:
- Bhaskar Bandam | Senior programchef
Nästa steg
- Information om avsnitt om stordatorer i Azure
- Omvärdning av stordator på virtuella Azure-datorer
- Stordatorarbetsbelastningar som stöds i Azure
För ytterligare information kontaktar du legacy2azure@microsoft.com.