Deployment er processen med at gøre en applikation tilgængelig for brugere ved at installere og konfigurere den på en server, der er tilgængelig via internettet. Dette gør det muligt for brugere fra hele verden at interagere med applikationen, uanset deres placering. I vores tidligere eksempel gik vi igennem processen med at deployere en Streamlit Python-app på Google Cloud.
At deploye en Streamlit Python-app til Google Cloud kan opdeles i følgende trin. Vi vil fokusere på at bruge Google Cloud Run til deployment.
Forbered din Streamlit-app: Installer Streamlit-pakken, hvis du ikke allerede har gjort det:
pip install streamlit
Opret en ‘Dockerfile’ i din app-mappe med følgende indhold:
![](https://usercontent.one/wp/www.bent.computer/wp-content/uploads/2023/05/image-2.png)
# Base image FROM python:3.8-slim # Working directory WORKDIR /app # Copy requirements.txt COPY requirements.txt . # Install dependencies RUN pip install -r requirements.txt # Copy app COPY . . # Expose port EXPOSE 8080 # Command to run the app CMD streamlit run --server.port 8080 --server.enableCORS false --browser.serverAddress 0.0.0.0 app.py
Opret en ‘requirements.txt’ fil i din app-mappe med de nødvendige pakker, herunder
pip freeze > requirements.txt
Med ovenstående kommando får du alle pakke med som du har installeret i dit virtuelle miljø.
![](https://usercontent.one/wp/www.bent.computer/wp-content/uploads/2023/05/image-3.png)
Installer Google Cloud SDK på din lokale maskine: Følg instruktionerne her: https://cloud.google.com/sdk/docs/install
Log ind på din Google Cloud-konto og sæt dit projekt:
gcloud auth login gcloud config set project <PROJECT_ID>
Byg din Docker-container og push den til Google Container Registry (GCR):
gcloud builds submit --tag gcr.io/<PROJECT_ID>/<APP_NAME> .
Deploy din Streamlit-app til Google Cloud Run:
gcloud run deploy <APP_NAME> --image gcr.io/<PROJECT_ID>/<APP_NAME> --platform managed --region <REGION> --allow-unauthenticated --port 8080
Her er en kort oversigt over de anvendte kommandoer:
pip install #Installerer Python-pakker.
gcloud auth login #Logger ind på din Google Cloud-konto.
gcloud config set project #Indstiller det aktive projekt i Google Cloud SDK.
docker build -t <fil_navn> . #Bygger en et Docker billede Husk mellemrum og punktum efter filnavn
docker images #Tjek om du har bygget et Docker billede
gcloud builds submit #Bygger og pusher Docker-containeren til GCR.
gcloud run deploy #Deployer din Streamlit-app til Google Cloud Run
Efter deployment vil du modtage en URL-adresse, som du kan bruge til at få adgang til din Streamlit-app.
Du kan også se mine mest brugte kommandoer her på Github.
“Streamlit’s mission is to make it possible for any engineer, data scientist, or AI researcher to build beautiful, powerful, and efficient applications in a matter of hours, not weeks.” – Adrien Treuille, medstifter af Streamlit
Dette citat understreger Streamlits mål om at gøre det nemt og hurtigt for udviklere at bygge og distribuere applikationer. Kombineret med Google Clouds skalerbare og pålidelige infrastruktur bliver det lettere for udviklere at fokusere på at skabe værdi for deres brugere, uden at bekymre sig om komplekse deployment-processer.
Google Cloud er en samling af cloud computing-tjenester, der leveres af Google, og som omfatter alt fra data storage og databehandling til maskinlæring og kunstig intelligens. En af tjenesterne, som Google Cloud tilbyder, er Google Cloud Run. Google Cloud Run er en serverless platform, der automatisk skalerer din applikation baseret på antallet af anmodninger og trafikmønstre, hvilket gør det nemt at håndtere ressourceforbrug og omkostninger. Ved at deployere en Streamlit Python-app på Google Cloud Run kan du drage fordel af Googles infrastruktur, pålidelighed og sikkerhed, mens du fokuserer på at skabe og forbedre din applikation.
Her er en liste over nyttige ressourcer om Google Cloud og Streamlit på både dansk og engelsk:
Google Cloud (på engelsk):
- Google Cloud Platform – Officiel hjemmeside: https://cloud.google.com/
- Google Cloud Documentation: https://cloud.google.com/docs
- Google Cloud Run Documentation: https://cloud.google.com/run/docs
- Google Cloud SDK: https://cloud.google.com/sdk/docs
Google Cloud (på dansk):
- Google Cloud Platform – Officiel hjemmeside (dansk): https://cloud.google.com/?hl=da
- Google Cloud Blog (dansk): https://cloud.google.com/blog/da
Streamlit (på engelsk):
- Streamlit – Officiel hjemmeside: https://streamlit.io/
- Streamlit Documentation: https://docs.streamlit.io/
- Streamlit Community: https://discuss.streamlit.io/
- Streamlit GitHub Repository: https://github.com/streamlit/streamlit