(Acest articol a fost publicat pentru prima dată pe pacha.dev/blogși cu amabilitate a contribuit la R-bloggeri). (Puteți raporta problema legată de conținutul acestei pagini aici)
Doriți să vă distribuiți conținutul pe R-bloggeri? dați clic aici dacă aveți un blog, sau aici dacă nu aveți.
Dacă această postare vă este utilă, vă rog cu drag o donație minimă pe Buy Me a Coffee. Va fi folosit pentru a-mi continua eforturile Open Source.
Puteți să-mi trimiteți întrebări pentru blog folosind acest formular și să vă abonați pentru a primi un e-mail când apare o nouă postare.
Am aceasta intrebare pentru blog:
Bună, pacha.dev, este o plăcere să vă cunosc. Numele meu este Santiago din Peru. Vă urmăresc munca de la tabulapdf gran paquete, iar acum, cu tabler și d3po, vin lucruri grozave. Verificam tabloul de bord OPEN TRADE STATISTICS și am observat că este o aplicație strălucitoare. Aș dori să știu dacă aveți recomandări despre cum să găzduiți o aplicație strălucitoare pentru producție (shiny.apps.io este scurt pentru producție), dacă aveți o preferință pentru AWS sau Azure și dacă există o postare pe blog despre asta, ar fi grozav. Salutari din Peru.
Mulțumesc, Santiago! Întrebarea ta este formulată corect și specifică. Voi încerca să onorez efortul oferind un răspuns util.
Shinyapps.io este un serviciu excelent pentru a găzdui aplicații Shiny, dar, așa cum ați menționat, are limitări pentru utilizarea în producție. Fiind echitabil, limitările se aplică numai nivelului gratuit. Planurile plătite oferă mai multe resurse și capacități și este o opțiune excelentă pentru găzduirea plătită. L-am folosit si isi face treaba bine.
Cu toate acestea, Shinyapps.io poate fi costisitor și există alternative mai ieftine dacă sunteți dispus să vă gestionați propriul server. Am folosit multă vreme DigitalOcean, până la punctul în care am creat o varietate de imagini R/Shiny pentru piața lor. La un moment dat contul meu a fost suspendat fără explicații, așa că am încercat și alți furnizori și nu-l pot recomanda acum.
În prezent, folosesc Kamatera pentru a găzdui aplicațiile mele Shiny. Ele oferă o varietate de configurații de server la un preț rezonabil, iar suportul lor este bun în ceea ce privește SSH și alte metode de acces la distanță. Cu Kamatere, va trebui să configurați singur serverul, inclusiv instalarea R, Shiny Server și orice alte dependențe necesare aplicației dvs. Acest lucru vă oferă mai mult control asupra mediului și poate fi mai rentabil pentru utilizarea în producție. Vă rugăm să rețineți că nu am un cod promoțional și nici nu primesc taxe pentru recomandarea Kamatera; Îmi place pur și simplu serviciul lor.
Am folosit și AWS, care este o opțiune robustă și scalabilă pentru găzduirea aplicațiilor Shiny. AWS oferă servicii precum EC2 pentru servere virtuale și oferă un serviciu de găzduire foarte rapid. Cu toate acestea, AWS poate fi complex de configurat și administrat, în special pentru cei care nu sunt familiarizați cu serviciile cloud. De asemenea, poate fi mai scump decât alte opțiuni.
Kamatera este mai simplu. Aveți acces la o mașină virtuală simplă, acestea oferă mai multe distribuții Linux și Windows, dar aveți nevoie de Linux pentru Shiny Server. După configurarea serverului (de exemplu, câtă memorie RAM și numărul de nuclee), puteți instala R, Shiny Server și orice alte pachete necesare. De asemenea, va trebui să configurați setările de securitate, cum ar fi firewall-urile și certificatele HTTPS.
În aceste zile avem o gamă largă de tutoriale pe YouTube, care vă vor arăta pașii necesari:
- Setați o cheie SSH pentru a accesa serverul în siguranță.
- Instalați R și Shiny Server pe server (la fel ca și pe mașina dvs. Linux locală).
- Instalați NGINX sau Apache pentru serverul web (eu folosesc NGINX).
- Configurați firewall-ul pentru a permite traficul pe porturile necesare (443 pentru HTTPS, 3838 pentru Shiny, 22 pentru SSH etc.)
- Instalați toate pachetele R necesare pentru aplicația dvs. Shiny.
Pentru a simplifica pasul 5, vă recomand golem să vă proiecteze aplicația ca un pachet R, ceea ce va simplifica în mare măsură implementarea și gestionarea dependențelor. Am două videoclipuri care explică elementele de bază ale golemului: partea 1 și partea 2.
Acești pași generali exclud configurarea unei baze de date SQL, a unui API intern sau a configurațiilor pentru a se conecta la un API terță parte, care sunt pași pe lângă setarea unui nume de domeniu și a certificatelor HTTPS, care sunt, de asemenea, importante pentru utilizarea în producție. Mai multe bloguri explică cum să folosiți Let’s Encrypt pentru a obține certificate SSL gratuite și să le configurați cu NGINX sau Apache pentru a vă servi aplicația în siguranță de pe un site web, cum ar fi https://santiago-shinyapp.com.
Sper că acest lucru vă va ajuta să începeți să găzduiți aplicația Shiny pentru producție!
Acum partea nerușinată de auto-promovare: mă poți angaja să configurez un server pentru proiectul tău. Ma puteti contacta pe Fiverr.
