Synapse Analytics | En guide
03.05.2023 | 6 min lesetidVi går gjennom hva Azure Synapse Analytics er, hvilke komponenter som utgjør dets økosystem og hvordan Azure Synapse kan passe i en dataplattform-arkitektur. Deretter diskuterer vi hvordan Azure Synapse Analytics posisjonerer seg i markedet sammenlignet med alternative produkter. Vi gir eksperttips om hvordan Azure Synapse Analytics bør brukes for data engineering og maskinlæring. Vi gir også ressurser for å hjelpe deg med å komme i gang.
Innhold
Hva er Azure Synapse Analytics?
Azure Synapse Analytics er en integrert analyseplattform som sømløst knytter sammen flere kjente Azure-tjenester innenfor data-integrasjon, -lagring, datavarehus, dataanalyse og maskinlæring. Med dette dekkes flere behov fra mange interessenter i samme plattform.
Azure Synapse Analytics er en skyløsning som lar seg skalere kapasitet for å balansere kostnader og prossseringstid - hvor man betaler for konsum for en gitt tjeneste (f.eks. kjøretid for en gitt spørring).
Ideen rundt Azure Synapse Analytics har vært å tilby én plattform for eksisterende og kjente løsninger som bl.a. Azure Data Lake Storage, Azure Data Factory og Azure SQL Data Warehouse - nå pakket inn som integrerte tjenester med nye navn (som f.eks. Pipelines og Provisioned SQL Pools) og krydret med nye tjenester som f.eks. serverless datavarehus (On Demand SQL Pools) og støtte for Spark med “Provisioned Spark Pools”.
Hvordan passer Azure Synapse Analytics inn i en moderne dataarkitektur?
Azure Synapse Analytics tilbyr tjenester som dekker flere behov for ulike “use case” og interessenter.
- Dataintegrasjon: Azure Synapse Analytics har en direkte tjeneste for dataintegrasjoner for å hente kildedata gjennom Azure Synapse Pipelines. Man kan også benytte seg av Azure Data Factory som en enkeltstående komponent om man ikke ønsker å benytte seg av en integrert løsning - da disse to tjenestene avviker noe.
- Fleksibilitet: Tjenester i Azure Synapse Analytics støtter flere behov i en moderne dataarkitektur. Valgfriheten gjør at man ikke må binde seg til flere produkter fra ulike tjenesteleverandører med egne vilkår. Ønsker man en lettvekt-datavarehus som ikke krever enorme ressurser for prosessering kan man spinne opp en “serverless” database med “SQL On-Demand”. Trenger man tyngre skyts eller man ser at kjøretid for serverless når en gitt terskel, så kan man spinne opp en “““Dedicated SQL Pools”. Skulle man trenge Spark for prosessering - kjør opp en “Spark pool”. Her er det fleire redskaper i kjøkkenskuffen.
- Integrert plattform: En stor fordel med Azure Synapse Analytics er at man har mulighet for en sømløs integrasjon seg med eksisterende tjenester i Azure, som f.eks. Azure Active Directory, Azure Key Vault, Azure DevOps, Azure Machine Learning og Power BI. Dette kan forkorte tiden for å sette opp funksjonalitet i støttetjenester som sikkerhet- og tilgangsstyring, versjonskontroll og monitorering i Azure Synapse Analytics.
Hvordan posisjonerer Azure Synapse Analytics seg mot andre verktøy?
Azure Synapse Analytics kan være et godt alternativ for organisasjoner som allerede benytter Microsoft Azure:
- Kjent og testet datavarehus-teknologi: Microsoft har vært lenge i gamet og har hatt store markedsandeler med kjente løsninger i Microsoft SQL Server som “Integration Services”, “Analysis Services” og “Reporting Services”. For mange utviklere vil det være kjente komponenter og funksjoner i “Azure Data Factory” & Azure Synapse Pipelines” som man finner igjen fra “SQL Server Integration Services”. T-SQL vil også være en kjent standard for de fleste utviklere.
- Fleksibel kostnadsmodell: Valget av tjenester og behov man har gjør at man kan være prisbevisst. Som de fleste skysløninger i Azure i data- og analyse så har de en “consumption” prising som gjør at man betaler for prosseseringstid. Videre kan også velge å låse prisen ved å velge dedikerte ressurser om man har statiske behov for prosessering.
- Plattformtankegang: Azure Synapse Analytics er en del av Azure som gjør at det er enkelt å sette opp integrasjoner mot andre tjenester. Dette øker samtidig risikoen for vendor lock-in - som man i mindre grad gjør med Databricks og Snowflake.
Noen råd fra våre erfarne data engineers før implementering av Azure Synapse Analytics
- Planlegg arkitekturen nøye: Gjennomgå og forstå nåværende og fremtidige brukerkrav som setter føringer for tekniske krav. Tenk også tidlig på volum, kompleksitet og og design av ende-til-ende dataflyt for å evaluere komponenter som passer arkitekturen.
- Velg riktig tjenester for dataintegrasjon og lagring: Avhengig av tekniske behov så er det ikke nødvendig å gå for Synapse Pipelines. Her kan man fint gå for Azure Data Factory - som enkeltstående tjeneste, på bekostning annen funksjonalitet som f.eks. trigge en notebook i “Spark Pools”. Samme avklaring bør gjøres for datalagring - hvor man har fleksibilitet i tjenester som serverless og dedikerte SQL-databaser.
- Skaler ressurser etter behov: Tjenester i Azure Synapse kan skaleres med ressurser etter behov. Planlegg for dette når ressursbehovet øker for prosessering - og tilsvarende nedskalering når ressursbehovet har gått ned.
- Sikkerhet og overvåking: Sikre at du har designet for sikkerhet i tråd med organisasjonens krav og retningslinjer. Dette kan gjelde tilgangsstyring til tjenester, nettverk, lese-tilgang av data og lignende sikkerhetskrav. For monitorering har de fleste tjenester i Azure Synapse dette innebygget - men benytt gjerne muligheten for å se på Azure Log Analytics og Azure Monitor for mer helhetlig logging, monitorering og varsling.
- Beste praksis: Etablert praksis for databaser gjelder også for Azure Synapse. Start tidlig med å adressere “low hanging fruits” som kan spare prosesseringstid og kostnader som indeksering, partisjonering og objekttyper.
- Se på muligheten for integrasjon med andre Azure-tjenester: Dra nytt av enkel integrering med andre tjenester fra Azure og Microsoft som Azure Machine Learning, Power BI og Azure Stream Analytics for å utvide analyse- og rapporteringsmulighetene.
- Ikke velg alle tjenestene og produktene som tilbys fra Microsoft: Selv om det kan være formålstjenelig å ha færrest mulig leverandører, opplever vi at noen av tjenestene og produktene som tilbys har manglende funksjonalitet og at alternativ kan gi mer verdi og mindre frustrasjon. Velg med omhu. Det er også mange gode 3. partsløsninger som integrerer godt med øvrige Microsoft-teknologi.
Vanlige spørsmål om Azure Synapse Analytics
Hvilke språk og rammeverk støtter Azure Synapse Analytics?
Azure Synapse Analytics støtter flere språk og rammeverk, inkludert T-SQL, Python, Scala og .NET. Dette gjør at utviklere kan bruke kjente verktøy og språk.
Hvordan fungerer prissettingen for Azure Synapse Analytics?
Prissettingen er avhengig av hvilke tjenester du ønsker å benytte. Tjenester på Azure for data- og analyse har ofte både en “consumption” prising som gjør at man betaler for prosseseringstid, men også muligheten til å låse prisen ved å velge dedikerte ressurser om man har statiske behov for prosessering.
Hvordan fungerer sikkerheten i Azure Synapse Analytics?
Azure Synapse Analytics tilbyr ulike sikkerhetsfunksjoner som kryptering av “data-in-rest” og under overføring, Azure Private Link, administrerte private endepunkter, brannmurregler og virtuelle nettverkstjeneste-endepunkter. I tillegg overholder det samsvarsstandarder som GDPR, HIPAA og FedRAMP.
Slik kommer du i gang Azure Synapse Analytics
Hvis du vil lære mer om Azure, er det mange ressurser tilgjengelig. Her er noen anbefalinger:
- For å komme igang med Azure Synapse Analytics for testing og demo av kapabiliteter kan du komme i gang med å følge denne veilederen publisert av Azure på Github.
- Microsoft tilbyr en rekke kurs og sertifiseringer relatert til Azure Synapse Analytics og andre Azure-tjenester via Microsoft Learn.
- Youtube har som vanlig mange gode introduksjonsvideoer som gjør deg i stand til å forstå de viktigste konseptene. Her er en serie vi synes var bra: