I dag, vi annoncerede RStudio på Amazon SageMaker, det første integrerede udviklingsmiljø for maskinlæring (ML) (IDE) i skyen for datavidenskabsfolk, der arbejder i R. Open source-sproget R og dets rige økosystem med mere end 18,000 pakker har været et topvalg for statistikere, kvantanalytikere, dataforskere og ML-ingeniører. RStudio på SageMaker gør det nemt for datavidenskabsfolk at køre statistisk analyse, bygge ML-modeller og skabe datavidenskabsindhold i et centraliseret miljø for teamet uden at bekymre sig om computerinfrastrukturen.
Sammen med RStudio Workbench som en del af RStudio-pakken for R-udviklere er RStudio Connect og RStudio Package Manager. RStudio Connect gør det nemt at synliggøre ML og datavidenskabelige indsigter fra dataforskeres komplicerede arbejde og lægge det i hænderne på beslutningstagere. RStudio Connect er designet til at give datavidenskabsfolk mulighed for at udgive indsigt, dashboards og webapplikationer. RStudio Connect gør også hosting og administration af indhold enkel og skalerbar til et bredt forbrug.
RStudio Package Manager hjælper med at organisere og centralisere R-pakker på tværs af ML-teams og organisationer. Efterhånden som dataforskere udvikler deres ML-modeller, har de brug for forskellige pakker med forskellige muligheder til deres ML-brugssager i RStudio. Håndtering af kilderne og versionerne af disse pakker og adskillige offentlige lagre manuelt for virksomhedsbrugere er udsat for fejl og er også tidskrævende. RStudio Package Manager afhjælper disse problemer ved at administrere pakkelageret centralt for din organisation, så dataforskere kan installere pakker hurtigt og sikkert og sikre projektreproducerbarhed og repeterbarhed. Sikkerhed og reproducerbarhed er de vigtigste aspekter i regulerede brancher som sundhedspleje og finans.
I dette indlæg viser vi dig først, hvordan du opbygger og implementerer RStudio Connect og RStudio Package Manager med en veldesignet løsning i AWS. Vi viser dig derefter, hvordan du bruger RStudio Connect og RStudio Package Manager fra RStudio på SageMaker. Vi bruger en UCI brystkræft datasæt at opbygge flere typer ML-indhold i R-sprog i RStudio på SageMaker. ML-indholdet, vi demonstrerer i indlægget, inkluderer R Markdown og en R Shiny-applikation
Løsningsoversigt
Løsningsarkitekturen er baseret på professionelle versioner af RStudio Connect og RStudio Package Manager Docker containere. RStudio Connect og RStudio Package Manager er konfigureret på tværs af to Tilgængelighedszoner for høj tilgængelighed. Både RStudio Connect og RStudio Package Manager-containere understøtter automatisk skalering for at håndtere indgående trafik afhængigt af det indgående antal anmodninger, hukommelse og CPU-brug i containerne.
Containerbilleder gemmes og hentes fra Amazon Elastic Container Registry (Amazon ECR) med sårbarhedsscanning aktiveret. Sårbarhedsproblemer bør behandles, før billederne implementeres.
Følgende diagram illustrerer løsningsarkitekturen.
Følgende er trinene i løsningsworkflowet:
- R-brugere får adgang til RStudio Connect og RStudio Package Manager via Amazonrute 53. Route 53 er en DNS-tjeneste til indgående forespørgsler.
- Rute 53 løser indkommende anmodninger og videresender dem til AWS WAF til sikkerhedstjek.
- Gyldige anmodninger når en Application Load Balancer (ALB), som videresender disse til Amazon Elastic Container Service (Amazon ECS) klynge. ALB kontrollerer indgående anmodninger om et HTTPS-certifikat, som er udstedt og valideret af AWS Certificate Manager.
- Amazon ECS styrer containerne i en klynge af Amazon Elastic Compute Cloud (Amazon EC2)-forekomster (EC2-lanceringstype) i en Automatisk skaleringsgruppe og er ansvarlig for at skalere op og ned antallet af containere efter behov ved hjælp af en Amazon ECS kapacitetsudbyder.
- Indkommende anmodninger behandles af RStudio Connect-serveren på en hvilken som helst af de tilgængelige RStudio Connect-beholdere; brugere godkendes, og applikationer gengives i webbrowseren. RStudio Package Manager-anmodninger omdirigeres til Package Manager-containeren.
- Amazon Aurora serverløs PostgreSQL-databaser bruges til at give høj tilgængelighed ved at bruge flere containere til både RStudio Connect og RStudio Package Manager. Aurora sikkerhedskopierer de serverløse klyngedatabaser automatisk. Data på Aurora er krypteret i hvile ved hjælp af AWS Key Management Service (AWS KMS).
- Amazon Elastic File System (Amazon EFS) leverer det vedvarende filsystem, der kræves af RStudio Connect og RStudio Package Manager. Data på Amazon EFS er krypteret i hvile ved hjælp af AWS KMS. Amazon EFS er et NFS-filsystem, der gemmer data i flere tilgængelighedszoner i en AWS-regionen for dataholdbarhed og høj tilgængelighed. Filer oprettet på RStudio Connect- og RStudio Package Manager-beholderen Amazon EFS-monteringer sikkerhedskopieres automatisk af Amazon EFS.
- Hvis brugersessionen kommunikerer med det offentlige internet, sendes udgående anmodninger til en NAT gateway fra det private containerundernet.
- NAT-gatewayen sender udgående anmodninger, der skal behandles via en internet-gateway. Ruter til internettet kan også konfigureres af AWS Transit Gateway.
Vi anvender AWS Cloud Development Kit (AWS CDK) for Python til at udvikle infrastrukturkoden og gemme koden i en AWS CodeCommit depot, så det AWS CodePipeline kan integrere AWS CDK-stakkene til automatiserede builds.
Implementeringskoden bruger Rute 53 offentlige hostede zoner at servicere RStudio Connect og RStudio Package Manager på offentligt tilgængelige URL'er. Du kan bruge Rute 53 private hostede zoner for RStudio Connect- og RStudio Package Manager-beholdere med en intern ALB, som giver private endepunkter til brugere, der kommer fra RStudio på SageMaker i en VPC-only-forbindelsestilstand. Dette betyder, at du ikke har brug for et allerede eksisterende offentligt domæne på din AWS-konto. Du skal dog hente de offentlige Docker-billeder (RStudio Connect, RStudio Package Manager) og gem dem i et privat Amazon ECR-lager og peg implementeringskoden til disse billeder til infrastrukturopbygningen.
Hvis al kommunikation mellem AWS-tjenester skal forblive inden for AWS, kan du bruge AWS PrivateLink at konfigurere VPC-endepunkter til AWS-tjenester. AWS PrivateLink sørger for, at inter-service trafik ikke eksponeres for internettet for AWS service endpoints.
Du kan også henvise til RStudio Team løsning fra RStudio for at lære, hvordan man implementerer en RStudio-teknologistack på Amazon EC2 i AWS som et alternativ til løsningen diskuteret i dette indlæg.
Forudsætninger
For at implementere AWS CDK-stakkene fra kildekoden skal du gennemgå og udføre de forudsætninger, der er beskrevet i den medfølgende GitHub repository for at sikre, at du har de nødvendige ressourcer til at fortsætte.
Start løsningen
- Klon GitHub repository, tjek den rsc-rspm gren, og flyt ind i mappen aws-fargate-with-rstudio-open-source.
- Opret et CodeCommit-lager for at holde kildekoden til installation af RStudio Connect/RStudio Package Manager med følgende kommando:
- Indtast de nødvendige parametre cdk.json efter trin 3 i Installation Steps på startsiden for readme fil.
- Installer pakkekrav for AWS CDK-applikationen:
- Før du overfører koden til CodeCommit-lageret, skal du syntetisere AWS CDK-stakkene. Dette sikrer, at alle de nødvendige kontekstværdier er udfyldt i
cdk.context.json
fil og undgår, at dummy-værdierne kortlægges. - Overfør ændringerne i den CodeCommit-repo, du har oprettet. Følg trin 5 i Installation Steps af readme, hvis du har brug for hjælp til Git-kommandoerne.
- Implementer AWS CDK-stakkene for at installere RStudio Connect/RStudio Package Manager ved hjælp af CodePipeline. Dette trin tager omkring 30 minutter.
- Naviger til CodePipeline konsol (linket fører dig til
us-west-2
Område). Overvåg pipelinen og bekræft, at tjenesterne er bygget med succes.
Rørledningens navn er RSC-RSPM-App-Pipeline-<instance>
. Fra dette tidspunkt og fremefter udløses pipelinen på commits til det CodeCommit-lager, du oprettede. Der er ingen grund til at løbe cdk deploy
(Trin 7) længere.
- Når pipeline-installationen er færdig, kan du få adgang til RStudio Connect og RStudio Package Manager ved at bruge følgende URL'er, hvor
r53_base_domain
oginstance
er parametre, du har overført til cdk.json:https://connect.<instance>.<r53_base_domain>
https://package.<instance>.<r53_base_domain>
- Du kan bruge Amazon ECS Exec for at logge på både RStudio Connect og RStudio Package Manager containere. Følg readme for at få vejledning.
Administrer pakker med RStudio Package Manager
RStudio Package Manager hjælper med at muliggøre konsistens og standardisering af R-pakker på tværs af en organisation. I RStudio Package Manager kan en it-administrator inkludere en godkendt pakke i lageret. Der kan oprettes flere grupper for at få adgang til forskellige pakker eller pakkeversioner. RStudio Package Manager håndterer også al opdatering og versionering af pakkerne. Administratoren kan aktivere automatiske opdateringer af pakkerne, eller kan også konfigurere RStudio Package Manager på en måde, så pakkerne kun kan opdateres manuelt, hvilket giver mere isolation mellem RStudio Package Manager og CRAN-tjenesten.
Konfigurer RStudio Package Manager
Vi kan oprette et lager, der trækker pakkerne fra RStudio CRAN ved at bruge følgende kommandoer. Vi skal SSH ind i RStudio Package Manager ved hjælp af Amazon ECS Exec for at køre disse kommandoer.
Kommandoerne opretter et depot og abonnerer på det indbyggede kildenavn cran
. Når dette er afsluttet, vil dev-cran
repository er tilgængeligt i webgrænsefladen til RStudio Package Manager, som vist på det følgende skærmbillede. Denne webgrænseflade er tilgængelig for administratoren såvel som de brugere, der har URL'en til den.
Udover at betjene CRAN-pakker, kan der oprettes repositories til at distribuere lokale pakker, Git-pakker, lokale pakker sammen med CRAN-pakker, en undergruppe af godkendte CRAN- og lokale pakker og bleeding edge-pakker fra GitHub. For yderligere detaljer om, hvordan du opretter depoter, se Servering af CRAN-pakker. Derudover understøtter RStudio Package Manager BioConductor. Bioconductor er et almindeligt anvendt økosystem af R-pakker i biovidenskab. Vi kan kombinere Bioconductor-pakker med CRAN samt lokale pakker i RStudio Package Manager.
RStudio Package Manager-pakkeversioner
I webgrænsefladen til RStudio Package Manager, på Opsætning fanen, kan du vælge et lager efter dato i en kalendervisning. Du kan også vælge, om du vil bruge den seneste version af pakkerne, eller om du vil fryse pakkerne til et bestemt øjebliksbillede, som vist på det følgende skærmbillede.
På Opsætning fanen, kan vi også se, hvilke systemkrav der kan være nødvendige for depotets pakker, sammen med kommandoerne til at installere dem.
Konfigurer en RStudio på SageMaker-domænet til at bruge RStudio Connect og RStudio Package Manager
Når du opretter et SageMaker-domæne med RStudio, har du mulighed for at indstille en standard RStudio Connect-server og RStudio Package Manager-lager for alle brugere i dit SageMaker-domæne. Under SageMaker-domæneoprettelsesprocessen, som beskrevet detaljeret i Opret et SageMaker-domæne med RStudio afsnit i Kom godt i gang med RStudio på Amazon SageMaker, kan du konfigurere standard RStudio Connect og RStudio Package Manager webadresser for alle brugerprofiler i Trin 3: RStudio-indstillinger. Forum RStudio Connect, indtast RStudio Connect-serverens URL. Til RStudio Package Manager, indtast et CRAN eller et Bioconductor-lager.
Standard-URL'erne er konfigureret og gemt i /etc/rstudio/rsession.conf
for alle brugere på RStudio på SageMaker. Du kan bekræfte standardlageret i R-konsollen med options('repos')
. Du bør se et lager, der peger på din RStudio Package Manager. Hvad angår standard RStudio Connect URL, udfyldes den automatisk, når du udgiver et stykke R-indhold med et enkelt klik.
Opdatering af et lager fra RStudio Package Manager i en R-session
Hvis du allerede har en fungerende RStudio på SageMaker og ønsker at bruge et andet lager, kan du konfigurere din R-session i RStudio på SageMaker til at bruge et lager fra din RStudio Package Manager med følgende trin:
- I en R-session, på Værktøjer menu, vælg Globale optioner.
- Vælg Pakker og vælg derefter Skift.
- I Tilpasset feltet skal du indtaste URL'en for det valgte lager (findes på Opsætning fanen på RStudio Package Manager-webgrænsefladen), og vælg OK.
- Vælg OK igen, og vi er færdige!
Nu er de pakker, som vi installerer i RStudio, hentet fra det valgte lager fra din RStudio Package Manager-server. Du kan verificere det med options('repos')
eller ved at installere en pakke og se, hvor den trækker fra. For flere detaljer, se Tjek for succes.
Opdater RStudio Connect-konto i en R-session
Hvis du allerede har en fungerende RStudio på SageMaker og ønsker at bruge en anden RStudio Connect-server end standarden, skal du udføre følgende trin:
- På Værktøjer menu, vælg Globale optioner.
- Vælg Publicering.
- Vælg Tilslut.
- Vælg RStudio Connect.
- Indtast din offentlige server-URL, f.eks.
https://xxxx.rstudioconnect.com
, og vælg Næste.
En ny side vises for at bede dig om at logge ind med en konto, hvis det er første gang.
- Vælg Tilslut at fortsætte.
- Vælg Tilslut konto i dialogen i RStudio.
Du bør se din RStudio Connect-brugerprofil og server-URL på listen.
For mere information, se Tilslut din RStudio-kontoog Tilslutning: RStudio IDE.
Nu er RStudio Connect-serveren med succes forbundet til RStudio på Amazon SageMaker. Vi er klar til at bygge noget fantastisk indhold og udgive.
Byg ML-indhold i RStudio på Amazon SageMaker
Du kan nemt oprette en analyse i RStudio på Amazon SageMaker og trykke på knappen publicere den til din RStudio Connect, så dine samarbejdspartnere kan forbruge din analyse. Til dette indlæg bruger vi en UCI brystkræft datasæt fra mlbench
for at gennemgå nogle af de almindelige brugssager ved udgivelse: R Markdown og Shiny app.
R Markdown
R Markdown er et fantastisk værktøj til at køre dine analyser i R som en del af en markdown-fil og dele i RStudio Connect. I rsconnect_rmarkdown/breast_cancer_eda.Rmd
, udfører vi to simple analyser og plotter på datasættet sammen med teksterne i markdown:
Vi kan forhåndsvise filen ved at vælge Strikke og udgiv den til RStudio Connect ved at vælge Udgiv.
Udover R Markdown bygger du oftere end ikke en interaktiv applikation eller et dashboard med Shiny. Lad os se på, hvordan vi kan udgive Shiny apps fra RStudio på Amazon SageMaker til RStudio Connect.
Skinnende applikation
Shiny er en R-pakke, der gør det nemt at skabe interaktive webapplikationer programmatisk. Det er populært blandt dataforskere at dele deres analyser og modeller gennem en Shiny-applikation til deres interessenter. I rsconnect_shiny/breast-cancer-app/
, udvikler vi en ML-model i breast_cancer_modeling.r
og oprette en webapplikation, der giver brugerne mulighed for at interagere med data- og ML-modellen.
Åbn for at udgive app.R
Og vælg Udgiv. Vælg begge app.R
, breast_cancer_modeling.r
at publisere.
I applikationen kan du ændre to funktioner til at visualisere i plottet og vælge datapunkterne i plottet for at se faktiske data og modelforudsigelser af, om de er godartede eller ondartede cancertilfælde. Ved at skubbe sandsynlighedstærsklen kan du interagere med modellen og få en anden klassificeringstælling. Du kan se dashboardet i aktion på det følgende skærmbillede.
Konklusion
I dette indlæg viste vi dig, hvordan du implementerer RStudio Connect og RStudio Package Manager-servere i AWS med en arkitektur baseret på AWS Fargate og Amazon ECS ved hjælp af AWS CDK. Med RStudio Connect og RStudio Package Manager kørende i skyen, viste vi dig, hvordan du bruger dem fra RStudio på Amazon SageMaker. Derefter demonstrerede vi, hvordan man implementerer R-baserede materialer såsom R Markdown og Shiny-applikationer til RStudio Connect-forekomsten baseret på en brugssag med forudsigelse af brystkræft.
At have en RStudio Connect-instans i skyen gør det ikke kun muligt for dine ML- og datavidenskabsteams at samarbejde mere effektivt, men gør det også meget nemmere at dele ML-indsigt på tværs af interessenter og forretningsenheder. Dette fremmer igen brugen af ML i din organisation for et bedre forretningsresultat. Med RStudio Package Manager kan du hurtigt og sikkert administrere, betjene og installere R-pakker fra pålidelige kilder for at sikre projektets reproducerbarhed.
Du kan lære mere om RStudio på SageMaker fra en dataforskers perspektiv i indlægget Annoncerer fuldt administreret RStudio på Amazon SageMaker for dataforskere. Du kan også lære mere om, hvordan du opsætter og administrerer RStudio på SageMaker i indlægget Kom godt i gang med RStudio på Amazon SageMaker. For at lære mere om Amazon SageMaker Studio, den første IDE til ML i skyen, se Amazon SageMaker Studio.
Om forfatterne
Michael Hsieh er Senior AI/ML Specialist Solutions Architect. Han arbejder med kunder for at fremme deres ML-rejse med en kombination af Amazon Machine Learning-tilbud og hans ML-domæneviden. Som en Seattle-transplantation elsker han at udforske den store modernatur, som regionen har at byde på, såsom vandrestier, kajaksejlads i SLU og solnedgangen ved Shilshole Bay.
Chayan Panda er en Cloud Infrastructure Architect. Han leverer rådgivningstjenester og tankelederskab til AWS-kunder om robust løsningsdesign til cloud-migrering, cloud-infrastruktur (sikkerhed, netværk, DevOps), Greenfield-platformimplementeringer, big data/AI/ML og serverløse og databaseløsninger. Når han ikke er besat af kunder, nyder han en kort løbetur, musik, en bog eller rejser med sin familie.
Farooq Sabir er Senior AI/ML Specialist Solutions Architect. Han hjælper kunder med at løse deres forretningsproblemer ved hjælp af datavidenskab, maskinlæring og kunstig intelligens.
- '
- 000
- 100
- 7
- 9
- adgang
- Konto
- Handling
- rådgivende
- Alle
- Amazon
- Amazon EC2
- Amazon maskinindlæring
- Amazon SageMaker
- blandt
- analyse
- app
- Anvendelse
- applikationer
- apps
- arkitektur
- omkring
- kunstig intelligens
- Aurora
- Automatiseret
- tilgængelighed
- AWS
- Bugt
- Sort
- Blødende kant
- Brystkræft
- browser
- bygge
- Bygning
- virksomhed
- Kalender
- Kræft
- Kapacitet
- tilfælde
- certifikat
- lave om
- Kontrol
- klassificering
- Cloud
- sky infrastruktur
- kode
- kommer
- Fælles
- Kommunikation
- Compute
- Connectivity
- forbruge
- forbrug
- Container
- Beholdere
- indhold
- Oprettelse af
- Kunder
- instrumentbræt
- data
- datalogi
- Database
- databaser
- Design
- udvikle
- udviklere
- Udvikling
- DevOps
- dns
- Docker
- økosystem
- Edge
- Ingeniører
- Enterprise
- Miljø
- familie
- Funktionalitet
- finansiere
- Fornavn
- første gang
- følger
- Frys
- gif
- Git
- GitHub
- stor
- sundhedspleje
- Høj
- hiking
- hold
- Hosting
- Hvordan
- How To
- HTTPS
- ICS
- industrier
- oplysninger
- Infrastruktur
- indsigt
- Intelligens
- interaktiv
- Internet
- isolation
- spørgsmål
- IT
- Nøgle
- viden
- Sprog
- seneste
- lancere
- Leadership" (virkelig menneskelig ledelse)
- LÆR
- læring
- Life Sciences
- LINK
- Liste
- belastning
- lokale
- machine learning
- ledelse
- materialer
- ML
- model
- mor
- bevæge sig
- Musik
- netværk
- tilbyde
- tilbud
- åbent
- Option
- organisation
- organisationer
- perspektiv
- perron
- Populær
- forudsigelse
- Forudsigelser
- Eksempel
- private
- Profil
- Profiler
- projekt
- offentlige
- offentliggøre
- trækker
- Python
- Quant
- Krav
- Ressourcer
- REST
- gennemgå
- R
- Kør
- kører
- sagemaker
- skalering
- scanne
- Videnskab
- VIDENSKABER
- forskere
- Seattle
- sikkerhed
- valgt
- Serverless
- Tjenester
- servering
- sæt
- Del
- Kort
- Simpelt
- Snapshot
- So
- Løsninger
- SOLVE
- påbegyndt
- forblive
- butik
- forhandler
- Solnedgang
- support
- Understøtter
- overflade
- systemet
- Teknologier
- The Source
- tænkt lederskab
- tid
- top
- Trafik
- transit
- rejse
- opdateringer
- brugere
- Specifikation
- sårbarhed
- web
- webapplikationer
- webbrowser
- WHO
- inden for
- Arbejde
- workflow
- virker