Scoutflo Architecture
Last updated
Last updated
Scoutflo operates with a robust architecture that integrates multiple components to enable seamless cloud-native application deployment and management. This section will break down the architecture diagram and explain each component involved in the workflow.
1. Users and Web Interface
Users: End users interact with Scoutflo through a web browser. They can log in, browse, and deploy cloud-native applications from the platform.
2. Scoutflo Atlas (COSS Marketplace)
Scoutflo Atlas (COSS Marketplace): This is the core of Scoutflo's web application. It serves as the interface for users to explore and deploy Cloud Open Source Software (COSS) applications.
CMS: This content management system hosts information about available COSS applications that users can deploy. It interacts with the GitHub Public REST APIs to pull relevant data about these applications.
3. GitHub Integration
GitHub Public REST APIs: Scoutflo integrates with GitHub to access COSS applications, configurations, and repositories via public APIs. Users who sign up for Scoutflo are also prompted to connect their GitHub accounts, enabling GitOps workflows for managing Kubernetes infrastructure.
4. Scoutflo Deploy
Scoutflo Deploy: After a user signs up, they are directed to Scoutflo Deploy, where they manage their cloud infrastructure and deployments within workspaces. Each workspace is an isolated environment for deploying and managing clusters and applications.
Kubernetes: Scoutflo Deploy utilizes Kubernetes to orchestrate application deployment and management, leveraging Helm charts for seamless application setup.
kubectl CLI: Users can interact with Kubernetes through the kubectl command-line interface for advanced management of clusters.
AWS Secrets: Sensitive information and credentials (like API keys) are securely stored using AWS Secrets.
5. Customer’s Public Cloud Infrastructure
Scoutflo interacts with the customer’s public cloud environment for managing clusters, deploying applications, and handling services. This architecture typically supports AWS but can integrate with other cloud providers like DigitalOcean.
Key components of the customer’s cloud infrastructure include:
Amazon EKS Cloud: Amazon’s Elastic Kubernetes Service (EKS) manages the Kubernetes clusters for application deployment.
IAM (Identity and Access Management): Handles secure access and permissions for AWS resources.
Ingress & Load Balancers: These components manage incoming traffic to applications and distribute it across the cloud infrastructure.
Amazon Route 53: Manages DNS services to direct internet traffic to specific applications and services within your cloud infrastructure.
Amazon VPC: Virtual Private Cloud that enables secure and scalable networking for your applications.
6. Deployment and Management
Once the infrastructure and integrations are set up, Scoutflo enables smooth deployment of COSS applications through GitOps:
HELM: Scoutflo uses Helm charts to package, configure, and deploy applications. This helps in managing the complexity of Kubernetes applications.
REST APIs: Scoutflo’s public REST APIs are utilized to manage deployments and application configurations. This interaction automates tasks like setting up infrastructure, deploying applications, and monitoring them.
7. Events and WebSockets
Events via WebSockets: Scoutflo uses WebSockets for real-time communication and event streaming between the web app and the backend. This enables instant feedback on deployments, alerts, and other user actions.
8. SSL and Domain Management
SSL Certificate Issuance: Scoutflo uses Let's Encrypt to issue SSL certificates for securing your domain and ensuring encrypted communication over HTTPS.
DNS Management: Domains (e.g., .deploy.scoutflo.com) are publicly available with SSL/TLS enabled, ensuring secure access to the Scoutflo environment.