This project sets up a scalable and robust infrastructure for collecting and analyzing real-time drone data (temperature, CO2 levels, etc.) for environmental analysis in the Cleantech industry. The solution leverages cloud resources, containerization, a CI/CD pipeline, and monitoring/logging to ensure efficient data handling and system health.
- Clone the repository.
- Navigate to the
drone-data-ingestiondirectory. - Run
deploy.pyto provision the entire infrastructure in one step, without manually runningterraform initorterraform apply.
- Terraform: Manages cloud infrastructure.
- Networking: NGINX Ingress for traffic management, VPC peering for security.
- Docker: Containerizes applications.
- Compute: Kubernetes cluster (EKS) to manage microservices.
- Streaming Data: AWS Kinesis for real-time data ingestions and processing.
- Processing: AWS Lambda Functions for real-time data processing
- Storage: S3/Storage for raw drone data, PostgreSQL for structured metadata.
- Auto-Scaling: Kubernetes HPA (Horizontal Pod Autoscaler) based on CPU/memory utilization.
- Monitoring: Tracks system health.
-
CI/CD Workflow:
-
Version Control: GitHub for source code management.
-
CI/CD Tool: ArgoCD for GitOps-driven continuous delivery.
-
Build & Test: Terraform for infrastructure as code, Helm for Kubernetes deployments.
-
Automation: GitHub Actions for pipeline automation.
Push code to repository.
CI/CD pipeline triggers Terraform for infrastructure setup.
Docker builds and pushes container images to a registry.
ArgoCD applies Kubernetes manifests and Helm charts.
Kubernetes deploys updated microservices.
-
Metrics: Prometheus & Grafana for performance monitoring.
-
Logging: ELK Stack (Elasticsearch, Logstash, Kibana) for log aggregation.
-
Alerting: Prometheus Alertmanager or PagerDuty for notifications.
- Implement CI/CD pipeline.
- Add automated IPFS storage.
- Check the logs in grafana for Eks service issues.
- Verify the IPFS daemon is running for data storage.
