6. Prototyping
Subsequent got here the prototyping section.
There have been two fundamental methods I attempted it:
- Native prototype utilizing Docker Desktop
- Cloud prototype utilizing Streamlit
Each had execs and cons.
- Docker was versatile and allowed direct edits, however builds had been gradual, particularly when utilizing many dependencies (FastAPI, Grafana, MLflow).
- Streamlit was quicker to construct, however required pushing updates to GitHub ceaselessly — which might be time-consuming.
On this undertaking, I ended up utilizing each approaches — Docker for backend atmosphere management, Streamlit for fast iteration and testing.
Actually, this section took plenty of time.
Generally the .pkl mannequin wouldn’t load appropriately in FastAPI, breaking predictions. However each error became a studying second.
7. Manufacturing Stage
After the Streamlit prototype was secure, it was time to maneuver into manufacturing.
Earlier than buying a VPS or cloud occasion, I did some analysis on the perfect specs — RAM, CPU, storage — that may match this undertaking.
Ultimately, I selected AWS Free Tier. Easy cause: it’s free, however highly effective sufficient for a small-scale MLOps experiment.
Steps I took:
- Created an AWS account (fortunate sufficient to skip bank card verification 😅)
- Launched an EC2 occasion (Ubuntu)
- Added an Elastic IP for a everlasting public IP
- Configured Safety Teams to attach situations and containers
- Accessed EC2 through SSH, up to date the OS
- Put in Docker and EasyPanel
- Deployed FastAPI + Streamlit containers instantly
Specs:
🧠1 CPU
💾 1 GB RAM
📦 30 GB StorageSurprisingly, that’s sufficient to run an end-to-end ML pipeline for observe.
🎉 The undertaking is now reside and publicly accessible:
👉 houseindo.my.id
Reflection
For me, this entire journey wasn’t nearly coding or deployment.
It was about persistence, persistence, and problem-solving.
Deployment isn’t solely about infrastructure — it’s additionally a psychological sport of staying calm and curious when issues go improper.
Generally, you don’t simply debug code — you debug your self too. 😅







