Vandaag We heeft RStudio aangekondigd op Amazon SageMaker, de eerste machine learning (ML) geïntegreerde ontwikkelomgeving (IDE) in de cloud voor datawetenschappers die in R werken. De open-sourcetaal R en zijn rijke ecosysteem met meer dan 18,000 pakketten is een topkeuze geweest voor statistici, kwantitatieve analisten, datawetenschappers en ML-ingenieurs. RStudio op SageMaker maakt het voor datawetenschappers eenvoudig om statistische analyses uit te voeren, ML-modellen te bouwen en datawetenschapsinhoud te creëren in een gecentraliseerde omgeving voor het team, zonder zich zorgen te hoeven maken over de computerinfrastructuur.
Naast de RStudio Workbench als onderdeel van de RStudio-suite voor R-ontwikkelaars zijn RStudio Connect en RStudio Package Manager. RStudio Connect maakt het gemakkelijk om ML- en datawetenschapsinzichten uit het ingewikkelde werk van datawetenschappers naar boven te halen en deze in handen van besluitvormers te leggen. RStudio Connect is ontworpen om datawetenschappers in staat te stellen inzichten, dashboards en webapplicaties te publiceren. RStudio Connect maakt het hosten en beheren van inhoud ook eenvoudig en schaalbaar voor breed gebruik.
RStudio-pakketbeheerder helpt bij het organiseren en centraliseren van R-pakketten binnen ML-teams en organisaties. Terwijl datawetenschappers hun ML-modellen ontwikkelen, hebben ze verschillende pakketten met verschillende mogelijkheden nodig voor hun ML-gebruiksscenario's in RStudio. Het handmatig beheren van de bronnen en versies van deze pakketten en talrijke openbare opslagplaatsen voor zakelijke gebruikers is foutgevoelig en ook tijdrovend. RStudio Package Manager verhelpt deze problemen door de pakketrepository centraal voor uw organisatie te beheren, zodat datawetenschappers pakketten snel en veilig kunnen installeren en de reproduceerbaarheid en herhaalbaarheid van projecten kunnen garanderen. Veiligheid en reproduceerbaarheid zijn de belangrijkste aspecten in gereguleerde sectoren zoals de gezondheidszorg en de financiële wereld.
In dit bericht laten we u eerst zien hoe u RStudio Connect en RStudio Package Manager kunt ontwerpen en implementeren met een goed ontworpen oplossing in AWS. Vervolgens laten we u zien hoe u RStudio Connect en RStudio Package Manager van RStudio op SageMaker kunt gebruiken. Wij gebruiken een UCI-dataset voor borstkanker om verschillende soorten ML-inhoud in R-taal uit te bouwen in RStudio op SageMaker. De ML-inhoud die we in de post demonstreren omvat R Markdown en een R Shiny-applicatie
Overzicht oplossingen
De oplossingsarchitectuur is gebaseerd op professionele versies van RStudio Connect en RStudio Package Manager Docker-containers. RStudio Connect en RStudio Package Manager zijn over twee verdeeld Beschikbaarheidszones voor hoge beschikbaarheid. Zowel RStudio Connect- als RStudio Package Manager-containers ondersteunen automatisch schalen om binnenkomend verkeer af te handelen, afhankelijk van het binnenkomende aantal verzoeken, geheugen en CPU-gebruik binnen de containers.
Containerimages worden opgeslagen en opgehaald Amazon Elastic Container-register (Amazon ECR) met kwetsbaarheidsscan ingeschakeld. Kwetsbaarheidsproblemen moeten worden aangepakt voordat de images worden ingezet.
Het volgende diagram illustreert de oplossingsarchitectuur.
Hieronder volgen de stappen in de oplossingsworkflow:
- R-gebruikers hebben toegang tot RStudio Connect en RStudio Package Manager via Amazon Route 53. Route 53 is een DNS-service voor inkomende verzoeken.
- Route 53 lost binnenkomende verzoeken op en stuurt deze door naar AWS WAF voor veiligheidscontroles.
- Geldige verzoeken bereiken een Toepassing Load Balancer (ALB), die deze doorstuurt naar de Amazon Elastic Container-service (Amazon ECS)-cluster. De ALB controleert binnenkomende aanvragen voor een HTTPS-certificaat, dat wordt uitgegeven en gevalideerd door AWS-certificaatbeheerder.
- Amazon ECS beheert de containers in een cluster van Amazon Elastic Compute-cloud (Amazon EC2)-instanties (EC2-lanceringstype) in een Auto Scaling-groep en is verantwoordelijk voor het indien nodig op- en afschalen van het aantal containers met behulp van een Amazon ECS-capaciteitsaanbieder.
- Inkomende verzoeken worden verwerkt door de RStudio Connect-server op een van de beschikbare RStudio Connect-containers; gebruikers worden geverifieerd en applicaties worden weergegeven in de webbrowser. RStudio Package Manager-aanvragen worden doorgestuurd naar de Package Manager-container.
- Amazon Aurora zonder server PostgreSQL-databases worden gebruikt om hoge beschikbaarheid te bieden met behulp van meerdere containers voor zowel RStudio Connect als RStudio Package Manager. Aurora maakt automatisch een back-up van de serverloze clusterdatabases. Gegevens op Aurora worden in rust gecodeerd met behulp van AWS Sleutelbeheerservice (AWS KMS).
- Amazon elastisch bestandssysteem (Amazon EFS) biedt het persistente bestandssysteem dat vereist is voor RStudio Connect en RStudio Package Manager. Gegevens op Amazon EFS worden in rust gecodeerd met AWS KMS. Amazon EFS is een NFS-bestandssysteem dat gegevens opslaat in meerdere beschikbaarheidszones in een AWS-regio voor dataduurzaamheid en hoge beschikbaarheid. Van bestanden die zijn gemaakt op de RStudio Connect- en RStudio Package Manager-container Amazon EFS-mounts wordt automatisch een back-up gemaakt door Amazon EFS.
- Als de gebruikerssessie communiceert met het openbare internet, worden uitgaande verzoeken verzonden naar een NAT-gateway vanuit het privécontainersubnet.
- De NAT-gateway verzendt uitgaande verzoeken die moeten worden verwerkt via een internet-gateway. Routes naar internet kunnen ook worden geconfigureerd door AWS Transit-gateway.
Wij gebruiken AWS Cloud-ontwikkelingskit (AWS CDK) voor Python om de infrastructuurcode te ontwikkelen en de code op te slaan in een AWS Codecommit opslagplaats, dus dat AWS CodePipeline kan de AWS CDK-stacks integreren voor geautomatiseerde builds.
De implementatiecode maakt gebruik van Route 53 openbare gehoste zones om RStudio Connect en RStudio Package Manager te bedienen op openbaar toegankelijke URL's. Je kunt gebruiken Route 53 privé gehoste zones voor de RStudio Connect- en RStudio Package Manager-containers met een interne ALB, die privé-eindpunten biedt voor gebruikers die afkomstig zijn van RStudio op SageMaker in een VPC-only connectiviteitsmodus. Dit betekent dat u geen reeds bestaand openbaar domein in uw AWS-account nodig heeft. U moet echter de openbare Docker-afbeeldingen ophalen (RStudio Connect, RStudio-pakketbeheerder) en sla deze op in een privé Amazon ECR-repository en wijs de implementatiecode naar die afbeeldingen voor de infrastructuuropbouw.
Als alle communicatie tussen AWS-diensten binnen AWS moet blijven, kunt u gebruik maken van AWS PrivéLink om VPC-eindpunten voor AWS-services te configureren. AWS PrivateLink zorgt ervoor dat verkeer tussen services niet wordt blootgesteld aan internet voor AWS-service-eindpunten.
U kunt ook verwijzen naar de RStudio Team-oplossing van RStudio om te leren hoe u een RStudio-technologiestack op Amazon EC2 in AWS kunt implementeren als alternatief voor de oplossing die in dit bericht wordt besproken.
Voorwaarden
Om de AWS CDK-stacks vanuit de broncode te implementeren, moet u de vereisten bekijken en uitvoeren die in de handleiding worden beschreven GitHub-repository om er zeker van te zijn dat u over de nodige middelen beschikt om verder te gaan.
Lanceer de oplossing
- Kloon het GitHub-repository, bekijk de rsc-rspm-filiaalen ga naar de map aws-fargate-with-rstudio-open-source.
- Maak een CodeCommit-repository om de broncode voor de installatie van RStudio Connect/RStudio Package Manager vast te houden met de volgende opdracht:
- Geef de vereiste parameters door cdk.json na stap 3 in de Installatie Stappen gedeelte van de readme bestand.
- Installeer de pakket vereisten voor de AWS CDK-applicatie:
- Voordat u de code in de CodeCommit-repository plaatst, synthetiseert u de AWS CDK-stacks. Dit zorgt ervoor dat alle benodigde contextwaarden worden ingevuld in het
cdk.context.json
bestand en voorkomt dat de dummywaarden in kaart worden gebracht. - Leg de wijzigingen vast in de CodeCommit-opslagplaats die u hebt gemaakt. Volg stap 5 in de Installatie Stappen van het leesmij-bestand als je hulp nodig hebt met de Git-opdrachten.
- Implementeer de AWS CDK-stacks om RStudio Connect/RStudio Package Manager te installeren met CodePipeline. Deze stap duurt ongeveer 30 minuten.
- Navigeer naar de CodePipeline-console (de link brengt u naar de
us-west-2
Regio). Bewaak de pijplijn en bevestig dat de services met succes zijn gebouwd.
De naam van de pijplijn is RSC-RSPM-App-Pipeline-<instance>
. Vanaf dit punt wordt de pijplijn geactiveerd bij commits naar de CodeCommit-repository die u hebt gemaakt. Het is niet nodig om te rennen cdk deploy
(Stap 7) niet meer.
- Wanneer de pijplijninstallatie is voltooid, hebt u toegang tot RStudio Connect en RStudio Package Manager met behulp van de volgende URL's, waar
r53_base_domain
eninstance
zijn parameters die u hebt ingevoerd cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- Je kunt gebruiken Amazon ECS Exec om u aan te melden bij zowel RStudio Connect- als RStudio Package Manager-containers. Volg de readme voor instructies.
Beheer pakketten met RStudio Package Manager
RStudio Package Manager helpt bij het mogelijk maken van consistentie en standaardisatie van R-pakketten binnen een organisatie. In RStudio Package Manager kan een IT-beheerder een goedgekeurd pakket in de repository opnemen. Er kunnen meerdere groepen worden aangemaakt om toegang te krijgen tot verschillende pakketten of pakketversies. RStudio Package Manager verzorgt ook alle updates en versiebeheer van de pakketten. De beheerder kan automatische updates van de pakketten inschakelen, of kan RStudio Package Manager ook zo configureren dat de pakketten alleen handmatig kunnen worden bijgewerkt, wat voor meer isolatie zorgt tussen RStudio Package Manager en de CRAN-service.
Configureer RStudio Pakketbeheer
We kunnen een repository maken die de pakketten uit de RStudio CRAN haalt met behulp van de volgende commando's. We moeten SSH naar RStudio Package Manager gebruiken met Amazon ECS Exec om deze opdrachten uit te voeren.
Met de opdrachten wordt een repository gemaakt en wordt deze geabonneerd op de ingebouwde bron met de naam cran
. Wanneer dit voltooid is, wordt de dev-cran
repository is beschikbaar in de webinterface van RStudio Package Manager, zoals weergegeven in de volgende schermafbeelding. Deze webinterface is toegankelijk voor zowel de beheerder als de gebruikers die de URL ervoor hebben.
Naast het aanbieden van CRAN-pakketten kunnen er repository's worden gemaakt om lokale pakketten, Git-pakketten, lokale pakketten samen met CRAN-pakketten, een subset van goedgekeurde CRAN- en lokale pakketten, en geavanceerde pakketten van GitHub te distribueren. Voor meer details over het maken van repository's, zie CRAN-pakketten serveren. Bovendien ondersteunt RStudio Package Manager biogeleider. Bioconductor is een veelgebruikt ecosysteem van R-pakketten in de levenswetenschappen. We kunnen Bioconductor-pakketten combineren met CRAN, evenals lokale pakketten in RStudio Package Manager.
RStudio Package Manager-pakketversies
In de webinterface van RStudio Package Manager, op de Setup tabblad kunt u een repository kiezen op datum in een kalenderweergave. U kunt ook kiezen of u de nieuwste versie van de pakketten wilt gebruiken, of de pakketten wilt bevriezen tot een bepaalde momentopname, zoals weergegeven in de volgende schermafbeelding.
Op de Setup Op het tabblad kunnen we ook zien welke systeemvereisten mogelijk nodig zijn voor de pakketten van de repository, samen met de opdrachten om ze te installeren.
Configureer een RStudio op het SageMaker-domein om RStudio Connect en RStudio Package Manager te gebruiken
Wanneer u een SageMaker-domein maakt met RStudio, heeft u de mogelijkheid om een standaard RStudio Connect-server en RStudio Package Manager-repository in te stellen voor alle gebruikers in uw SageMaker-domein. Tijdens het aanmaken van een SageMaker-domein, zoals beschreven in de Maak een SageMaker-domein met RStudio sectie in Aan de slag met RStudio op Amazon SageMaker, kunt u de standaard RStudio Connect- en RStudio Package Manager-URL's configureren voor alle gebruikersprofielen in Stap 3: RStudio-instellingen. Voor RStudio Connect, voer de RStudio Connect-server-URL in. Voor RStudio-pakketbeheerder, voer een CRAN- of een Bioconductor-repository in.
De standaard URL's worden geconfigureerd en opgeslagen in /etc/rstudio/rsession.conf
voor alle gebruikers van RStudio op SageMaker. U kunt de standaardrepository in de R-console verifiëren met options('repos')
. U zou een repository moeten zien die naar uw RStudio Package Manager verwijst. Wat de standaard RStudio Connect-URL betreft, deze wordt automatisch ingevuld wanneer u met één klik een stukje R-inhoud publiceert.
Een repository bijwerken vanuit RStudio Package Manager in een R-sessie
Als u al een werkende RStudio op SageMaker heeft en een andere repository wilt gebruiken, kunt u uw R-sessie in RStudio op SageMaker configureren om een repository uit uw RStudio Package Manager te gebruiken met de volgende stappen:
- In een R-sessie, op de Tools menu, kies Wereldwijde opties.
- Kies Pakketten en kies dan Veranderen.
- In het Eigen veld, voer de URL in voor de geselecteerde repository (te vinden op de Setup tabblad van de RStudio Package Manager-webinterface) en kies OK.
- Kies OK nogmaals, en we zijn klaar!
De pakketten die we in RStudio installeren, zijn nu afkomstig uit de geselecteerde repository van uw RStudio Package Manager-server. Je kunt het verifiëren met options('repos')
of door een pakket te installeren en te kijken waar het vandaan komt. Voor meer details, zie Controleren op succes.
Update RStudio Connect-account in een R-sessie
Als u al een werkende RStudio op SageMaker heeft en een andere RStudio Connect-server dan de standaard wilt gebruiken, voert u de volgende stappen uit:
- Op de Tools menu, kies Wereldwijde opties.
- Kies Reclame.
- Kies Verbinden.
- Kies RStudio Connect.
- Voer de openbare URL van uw server in, bijvoorbeeld
https://xxxx.rstudioconnect.com
en kies Volgende.
Er verschijnt een nieuwe pagina waarin u wordt gevraagd in te loggen met een account als dit de eerste keer is.
- Kies Verbinden verder gaan.
- Kies Account koppelen in het dialoogvenster in RStudio.
U zou uw RStudio Connect-gebruikersprofiel en server-URL in de lijst moeten zien.
Voor meer informatie, zie Koppel uw RStudio-account en Aansluiten: RStudio IDE.
Nu is de RStudio Connect-server met succes verbonden met de RStudio op Amazon SageMaker. We zijn klaar om geweldige inhoud te maken en te publiceren.
Bouw ML-inhoud in RStudio op Amazon SageMaker
U kunt eenvoudig een analyse maken binnen RStudio op Amazon SageMaker en deze met een druk op de knop publiceren naar uw RStudio Connect, zodat uw medewerkers uw analyse kunnen gebruiken. Voor dit bericht gebruiken we een UCI-dataset voor borstkanker oppompen van mlbench
om enkele veelvoorkomende gebruiksscenario's van publicatie te doorlopen: R Markdown en Shiny app.
R Prijsverlaging
R Markdown is een geweldig hulpmiddel om uw analyses in R uit te voeren als onderdeel van een markdown-bestand en te delen in RStudio Connect. In rsconnect_rmarkdown/breast_cancer_eda.Rmd
, voeren we twee eenvoudige analyses en plotten uit op de dataset samen met de teksten in markdown:
We kunnen een voorbeeld van het bestand bekijken door te kiezen brei en publiceer het naar RStudio Connect door te kiezen Publiceer.
Naast R Markdown bouw je vaker wel dan niet een interactieve applicatie of dashboard met Shiny. Laten we eens kijken hoe we Shiny-apps van RStudio op Amazon SageMaker naar RStudio Connect kunnen publiceren.
Glanzende applicatie
Shiny is een R-pakket waarmee u eenvoudig programmatisch interactieve webapplicaties kunt maken. Het is populair onder datawetenschappers om hun analyses en modellen via een Shiny-applicatie te delen met hun stakeholders. In rsconnect_shiny/breast-cancer-app/
, ontwikkelen we een ML-model in breast_cancer_modeling.r
en maak een webapplicatie waarmee gebruikers kunnen communiceren met het gegevens- en ML-model.
Openen om te publiceren app.R
En kies Publiceer. Selecteer beide app.R
en breast_cancer_modeling.r
publiceren.
In de toepassing kunt u twee kenmerken wijzigen die u in de grafiek wilt visualiseren, en de gegevenspunten in de grafiek selecteren om actuele gegevens en modelvoorspellingen te zien of het om goedaardige of kwaadaardige kankergevallen gaat. Door de waarschijnlijkheidsdrempel te verschuiven, kunt u met het model communiceren en een andere classificatietelling krijgen. U kunt het dashboard in actie zien in de volgende schermafbeelding.
Conclusie
In dit bericht hebben we u laten zien hoe u RStudio Connect- en RStudio Package Manager-servers in AWS kunt implementeren met een architectuur gebaseerd op AWS Fargate en Amazon ECS, met behulp van AWS CDK. Terwijl RStudio Connect en RStudio Package Manager in de cloud draaien, hebben we u laten zien hoe u ze vanuit RStudio op Amazon SageMaker kunt gebruiken. Vervolgens hebben we gedemonstreerd hoe we op R gebaseerde materialen zoals R Markdown en Shiny-applicaties kunnen inzetten op de RStudio Connect-instantie op basis van een gebruiksscenario voor het voorspellen van borstkanker.
Met een RStudio Connect-instantie in de cloud kunnen uw ML- en datawetenschapsteams niet alleen effectiever samenwerken, maar wordt het delen van ML-inzichten tussen belanghebbenden en bedrijfseenheden ook veel eenvoudiger. Dit bevordert op zijn beurt het gebruik van ML in uw organisatie voor een beter bedrijfsresultaat. Met RStudio Package Manager kunt u snel en veilig R-pakketten van vertrouwde bronnen beheren, aanbieden en installeren om de reproduceerbaarheid van projecten te garanderen.
In dit bericht kunt u meer leren over RStudio op SageMaker vanuit het perspectief van een datawetenschapper Aankondiging van volledig beheerde RStudio op Amazon SageMaker voor gegevenswetenschappers. U kunt in dit bericht ook meer leren over het instellen en beheren van RStudio op SageMaker Aan de slag met RStudio op Amazon SageMaker. Voor meer informatie over Amazon SageMaker Studio, de eerste IDE voor ML in de cloud, zie Amazon SageMaker Studio.
Over de auteurs
Michaël Hsieh is een Senior AI/ML Specialist Solutions Architect. Hij werkt samen met klanten om hun ML-traject te bevorderen met een combinatie van het Amazon Machine Learning-aanbod en zijn ML-domeinkennis. Als transplantatie in Seattle houdt hij ervan om de geweldige natuur te verkennen die de regio te bieden heeft, zoals de wandelpaden, kajakken in de SLU en de zonsondergang bij de Shilshole Bay.
Chayan Panda is een Cloud Infrastructuur Architect. Hij biedt adviesdiensten en thought leadership aan AWS-klanten over robuust oplossingsontwerp voor cloudmigraties, cloudinfrastructuur (beveiliging, netwerk, DevOps), Greenfield-platformimplementaties, big data/AI/ML en serverloze en databaseoplossingen. Als hij niet geobsedeerd is door klanten, houdt hij van een korte wandeling, muziek, een boek of reizen met zijn gezin.
Farooq Sabir is een Senior AI/ML Specialist Solutions Architect. Hij helpt klanten hun zakelijke problemen op te lossen met behulp van data science, machine learning en kunstmatige intelligentie.
- '
- 000
- 100
- 7
- 9
- toegang
- Account
- Actie
- adviserend
- Alles
- Amazone
- Amazon EC2
- Amazon machinaal leren
- Amazon Sage Maker
- onder
- analyse
- gebruiken
- Aanvraag
- toepassingen
- apps
- architectuur
- rond
- kunstmatige intelligentie
- Aurora
- geautomatiseerde
- beschikbaarheid
- AWS
- Baai
- Zwart
- Bleeding Edge
- Borstkanker
- browser
- bouw
- Gebouw
- bedrijfsdeskundigen
- Agenda
- Kanker
- Inhoud
- gevallen
- certificaat
- verandering
- Controles
- classificatie
- Cloud
- cloud infrastructuur
- code
- komst
- Gemeen
- Communicatie
- Berekenen
- Connectiviteit
- consumeren
- consumptie
- Containers
- containers
- content
- Wij creëren
- Klanten
- dashboards
- gegevens
- data science
- Database
- databanken
- Design
- ontwikkelen
- ontwikkelaars
- Ontwikkeling
- DevOps
- dns
- havenarbeider
- ecosysteem
- rand
- Ingenieurs
- Enterprise
- Milieu
- familie
- Voordelen
- financiën
- Voornaam*
- eerste keer
- volgen
- Bevriezen
- gif
- Git
- GitHub
- groot
- gezondheidszorg
- Hoge
- wandelen
- houden
- Hosting
- Hoe
- How To
- HTTPS
- ICS
- industrieën
- informatie
- Infrastructuur
- inzichten
- Intelligentie
- interactieve
- Internet
- isolatie
- problemen
- IT
- sleutel
- kennis
- taal
- laatste
- lancering
- Leadership
- LEARN
- leren
- Bio
- LINK
- Lijst
- laden
- lokaal
- machine learning
- management
- materieel
- ML
- model
- moeder
- beweging
- Muziek
- netwerk
- bieden
- aanbod
- open
- Keuze
- organisatie
- organisaties
- perspectief
- platform
- Populair
- voorspelling
- Voorspellingen
- Voorbeschouwing
- privaat
- Profiel
- Profielen
- project
- publiek
- publiceren
- trekken
- Python
- Quant
- Voorwaarden
- Resources
- REST
- beoordelen
- weg
- lopen
- lopend
- sagemaker
- scaling
- aftasten
- Wetenschap
- WETENSCHAPPEN
- wetenschappers
- Seattle
- veiligheid
- gekozen
- Serverless
- Diensten
- serveer-
- reeks
- Delen
- Bermuda's
- Eenvoudig
- Momentopname
- So
- Oplossingen
- OPLOSSEN
- gestart
- blijven
- shop
- winkels
- Zonsondergang
- ondersteuning
- steunen
- Oppervlak
- system
- Technologie
- De Bron
- thought leadership
- niet de tijd of
- top
- verkeer
- doorvoer
- reizen
- updates
- gebruikers
- Bekijk
- kwetsbaarheid
- web
- Webapplicaties
- web browser
- WIE
- binnen
- Mijn werk
- workflow
- Bedrijven