Zephyrnet-logo

Hoe Ontraport de kosten voor gegevensverwerking met 80% verlaagde met AWS Glue | Amazon-webservices

Datum:

Dit bericht is geschreven in samenwerking met Elijah Ball van Ontraport.

Klanten implementeren data- en analyseworkloads in de AWS Cloud om de kosten te optimaliseren. Bij het implementeren van dataverwerkingsworkloads in AWS heeft u de mogelijkheid om technologieën zoals Amazon EMR of serverloze technologieën zoals AWS lijm. Beide opties minimaliseren de ongedifferentieerde zware taken, zoals het beheren van servers, het uitvoeren van upgrades en het implementeren van beveiligingspatches, en zorgen ervoor dat u zich kunt concentreren op wat belangrijk is: het behalen van de kerndoelstellingen van uw bedrijf. Het verschil tussen beide benaderingen kan een cruciale rol spelen om uw organisatie productiever en innovatiever te maken en tegelijkertijd geld en middelen te besparen.

Services zoals Amazon EMR zijn erop gericht u flexibiliteit te bieden om werklasten voor gegevensverwerking op schaal te ondersteunen met behulp van frameworks waaraan u gewend bent. Zo kun je bij Amazon EMR kiezen uit meerdere open-source dataverwerkingsframeworks zoals Apache Spark, Apache-bijenkorf en Presto, en werkbelastingen verfijnen door dingen zoals typen clusterinstanties aan te passen Amazon Elastic Compute-cloud (Amazon EC2) of gebruik gecontaineriseerde omgevingen die draaien Amazon Elastic Kubernetes-service (Amazone EKS). Deze optie is het meest geschikt bij het migreren van workloads vanuit big data-omgevingen zoals Apache Hadoop of Spark, of wanneer gebruikt door teams die bekend zijn met open-source frameworks ondersteund op Amazon EMR.

Serverloze diensten zoals AWS lijm minimaliseer de noodzaak om na te denken over servers en focus op het bieden van extra productiviteit en DataOps-tooling voor het versnellen van de ontwikkeling van datapijplijnen. AWS Glue is een serverloze data-integratieservice die analysegebruikers helpt bij het ontdekken, voorbereiden, verplaatsen en integreren van data uit meerdere bronnen via een low-code of no-code benadering. Deze optie is het meest geschikt wanneer organisaties beperkte middelen hebben en dataverwerkingsworkloads op schaal moeten bouwen met beperkte expertise, waardoor ze de ontwikkeling kunnen versnellen en de totale eigendomskosten kunnen verlagen (TCO).

In dit bericht laten we zien hoe onze AWS-klant Ontraport het gebruik van AWS Glue en Amazon EMR evalueerde om de TCO te verlagen, en hoe ze hun opslagkosten met 92% en hun verwerkingskosten met 80% verminderden met slechts één fulltime ontwikkelaar.

De workload en oplossing van Ontraport

Ontraport is een CRM- en automatiseringsservice die de marketing, verkoop en activiteiten van bedrijven allemaal op één plek mogelijk maakt, waardoor bedrijven sneller kunnen groeien en meer waarde kunnen leveren aan hun klanten.

Logverwerking en -analyse is van cruciaal belang voor Ontraport. Het stelt hen in staat klanten betere diensten en inzichten te bieden, zoals optimalisatie van e-mailcampagnes. Alleen al in e-maillogboeken worden 3 tot 4 gebeurtenissen geregistreerd voor elk van de 15 tot 20 miljoen berichten die Ontraport elke dag namens hun klanten verstuurt. Door analyse van e-mailtransacties met providers zoals Google en Microsoft kan het bezorgteam van Ontraport de open rates optimaliseren voor de campagnes van klanten met grote contactlijsten.

Enkele van de grote bijdragers aan logboeken zijn webserver- en CDN-gebeurtenissen, e-mailtransactierecords en aangepaste gebeurtenislogboeken binnen de eigen toepassingen van Ontraport. Het volgende is een voorbeeld van een uitsplitsing van hun dagelijkse logboekbijdragen:

Logboeken van Cloudflare-verzoeken 75 miljoen records
Logbestanden van CloudFront-verzoeken 2 miljoen records
Nginx/Apache-logboeken 20 miljoen records
E-maillogboeken 50 miljoen records
Algemene serverlogboeken 50 miljoen records
Logboeken van de Ontraport-app 6 miljoen records

De oplossing van Ontraport gebruikt Amazon Kinesis en Amazon Kinesis-gegevens Firehose om loggegevens op te nemen en recente records naar een Amazon OpenSearch-service database, van waaruit analisten en beheerders de gegevens van de laatste 3 maanden kunnen analyseren. Aangepaste toepassingslogboeken registreren interacties met de Ontraport CRM, zodat klantaccounts kunnen worden gecontroleerd of hersteld door het klantenondersteuningsteam. Oorspronkelijk werden alle logboeken bewaard tot 2018. De bewaring is op meerdere niveaus gebaseerd op leeftijd:

  • Minder dan 1 week - OpenSearch hot-opslag
  • Tussen 1 week en 3 maanden – OpenSearch koude opslag
  • Meer dan 3 maanden – Extraheren, transformeren en laden (ETL) verwerkt in Amazon eenvoudige opslagservice (Amazon S3), verkrijgbaar via Amazone Athene

Het volgende diagram toont de architectuur van hun logboekverwerking en analysegegevenspijplijn.

Evalueren van de optimale oplossing

Om de opslag en analyse van hun historische records in Amazon S3 te optimaliseren, implementeerde Ontraport een ETL-proces om TSV- en JSON-bestanden te transformeren en te comprimeren naar Parquet-bestanden met partitie per uur. De compressie en transformatie hielpen Ontraport om hun S3-opslagkosten met 92% te verlagen.

In fase 1 implementeerde Ontraport een ETL-workload met Amazon EMR. Gezien de omvang van hun gegevens (honderden miljarden rijen) en slechts één ontwikkelaar, vereiste Ontraports eerste poging tot de Apache Spark-toepassing een EMR-cluster met 16 knooppunten met r5.12xgrote kern- en taakknooppunten. Dankzij de configuratie kon de ontwikkelaar 1 jaar aan gegevens verwerken en geheugenproblemen minimaliseren met een ruwe versie van de Spark ETL-applicatie.

Om de werklast te helpen optimaliseren, nam Ontraport contact op met AWS voor aanbevelingen voor optimalisatie. Er waren een flink aantal opties om de werkdruk binnen Amazon EMR te optimaliseren, zoals right-sizing Amazon Elastic Compute-cloud (Amazon EC2) instantietype op basis van het werklastprofiel, het wijzigen van de Spark YARN-geheugenconfiguratie en het herschrijven van delen van de Spark-code. Gezien de beperkte middelen (slechts één fulltime ontwikkelaar), raadde het AWS-team aan om vergelijkbare logica te onderzoeken met AWS Glue Studio.

Enkele van de eerste voordelen van het gebruik van AWS Glue voor deze workload zijn de volgende:

  • AWS Glue heeft het concept van crawlers dat een codeloze benadering biedt voor het catalogiseren van gegevensbronnen en het identificeren van schema's uit meerdere gegevensbronnen, in dit geval Amazon S3.
  • AWS Glue biedt ingebouwde gegevensverwerkingsmogelijkheden met abstracte methoden bovenop Spark die de overhead verminderen die nodig is om efficiënte gegevensverwerkingscode te ontwikkelen. AWS Glue ondersteunt bijvoorbeeld een Dynamisch Frame klasse die overeenkomt met a Spark-gegevensframe dat extra flexibiliteit biedt bij het werken met semi-gestructureerde datasets en snel kan worden omgezet in een Spark DataFrame. DynamicFrames kunnen rechtstreeks worden gegenereerd vanuit gecrawlde tabellen of rechtstreeks vanuit bestanden in Amazon S3. Zie de volgende voorbeeldcode:
    dyf = glueContext.create_dynamic_frame.from_options( connection_type = 's3',
    connection_options = {'paths': [s3://<bucket/paths>]},
    format = 'json')

  • Het minimaliseert de noodzaak voor Ontraport naar instantietypes van de juiste grootte en configuraties voor automatisch schalen.
  • Door interactieve sessies van AWS Glue Studio te gebruiken, kan Ontraport snel herhalen wanneer code verandert waar nodig bij het detecteren van historische logschema-evolutie.

Ontraport moest 100 terabyte aan loggegevens verwerken. De kosten voor het verwerken van elke terabyte met de initiële configuratie waren ongeveer $ 500. Die kosten kwamen neer op ongeveer $ 100 per terabyte na gebruik van AWS Glue. Door AWS Glue en AWS Glue Studio te gebruiken, werden de verwerkingskosten van Ontraport met 80% verlaagd.

Duik diep in de AWS Glue-workload

De eerste AWS Glue-applicatie van Ontraport was een PySpark-workload die gegevens van TSV- en JSON-bestanden in Amazon S3 opnam, basistransformaties uitvoerde op tijdstempelvelden en de gegevenstypen van een paar velden converteerde. Ten slotte schrijft het uitvoergegevens naar een gecureerde S3-bucket als gecomprimeerde Parquet-bestanden van ongeveer 1 GB groot en gepartitioneerd in intervallen van 1 uur om te optimaliseren voor query's met Athena.

Met een AWS Glue-taak geconfigureerd met 10 werknemers van het type G.2x-configuratie, kon Ontraport ongeveer 500 miljoen records verwerken in minder dan 60 minuten. Bij het verwerken van 10 miljard records konden ze de taakconfiguratie verhogen tot maximaal 100 werknemers met ingeschakelde automatische schaling om de taak binnen 1 uur te voltooien.

What’s next?

Ontraport heeft al in 2018 logboeken kunnen verwerken. Het team werkt de verwerkingscode bij om rekening te houden met scenario's van schema-evolutie (zoals nieuwe velden) en heeft enkele componenten geparametriseerd om de batchverwerking volledig te automatiseren. Ze willen ook het aantal ingerichte AWS Glue-werkers verfijnen om een ​​optimale prijs-prestatieverhouding te verkrijgen.

Conclusie

In dit bericht hebben we je laten zien hoe Ontraport AWS Glue gebruikte om de ontwikkelingsoverhead te verminderen en de ontwikkelingsinspanningen voor hun ETL-workloads te vereenvoudigen met slechts één fulltime ontwikkelaar. Hoewel services zoals Amazon EMR grote flexibiliteit en optimalisatie bieden, bieden het gebruiksgemak en de vereenvoudiging in AWS Glue vaak een sneller pad voor kostenoptimalisatie en innovatie voor kleine en middelgrote bedrijven. Kijk voor meer informatie over AWS Glue op Aan de slag met AWS Glue.


Over de auteurs

Elia bal is al 12 jaar systeembeheerder bij Ontraport. Hij werkt momenteel aan het verplaatsen van de productieworkloads van Ontraport naar AWS en het ontwikkelen van data-analysestrategieën voor Ontraport.

Pablo Redondo is een Principal Solutions Architect bij Amazon Web Services. Hij is een dataliefhebber met meer dan 16 jaar ervaring in FinTech en de gezondheidszorg en is lid van de AWS Analytics Technical Field Community (TFC). Pablo heeft het AWS Gain Insights-programma geleid om AWS-klanten te helpen betere inzichten en tastbare zakelijke waarde te verkrijgen uit hun data-analyse-initiatieven.

Vikram Honmurgi is Customer Solutions Manager bij Amazon Web Services. Met meer dan 15 jaar ervaring in het leveren van software, is Vikram gepassioneerd in het helpen van klanten en het versnellen van hun cloudreis, het leveren van probleemloze migraties en ervoor zorgen dat onze klanten het volledige potentieel en de duurzame zakelijke voordelen van migratie naar de AWS Cloud benutten.

spot_img

VC Café

VC Café

Laatste intelligentie

spot_img