Releases: shiviancodes/mlops-finbert-aws
Releases · shiviancodes/mlops-finbert-aws
v1.0.0 - Initial Release
v1.0.0 - Initial Release
First production release of the FinBERT financial sentiment analysis API and its full MLOps pipeline.
Application
- FinBERT (
ProsusAI/finbert) sentiment inference served via ONNX Runtime - PyTorch weights exported to ONNX at build time; runtime image ships no training dependencies
- Three-class classification (positive / negative / neutral) with per-label confidence scores
- FastAPI service with prediction persistence, cursor-paginated history, and liveness/readiness probes
- PostgreSQL storage with
DECIMAL(6,4)score precision and keyset pagination
Infrastructure (Terraform)
- VPC with public/private subnets, EC2 with Elastic IP, RDS PostgreSQL in private subnets
- ECS on EC2 for container orchestration, ECR for image registry
- API Gateway HTTP API with TLS termination
- SSM Parameter Store for secrets, IAM roles with least privilege, OIDC federation for CI/CD
CI/CD (GitHub Actions)
- Six-stage pipeline: lint → unit tests → integration tests → build → deploy → smoke test
- Path-filtered triggers, ONNX model caching, readiness polling before smoke test
- OIDC role assumption - no long-lived AWS credentials
Observability
- Structured JSON logging to CloudWatch
- Custom metrics (prediction count by label, p99 latency, DB write failures)
- CloudWatch alarms routed to SNS, single-pane dashboard
Kubernetes (local)
- minikube manifests: Deployment, Service, HPA (1→3 replicas), in-cluster Postgres
- Local orchestration demonstration - not part of the AWS production path