Core components of Harness
An Application is the top-level container in Harness.
- It represents a complete project or system
- Contains all services, environments, workflows, and pipelines for that project
Application: E-commerce Platform
Inside it you may have:
- payment-service
- order-service
- notification-service
A Service represents a deployable microservice or application component.
It defines:
- Artifacts (Docker image, JAR, ZIP, etc.)
- Service configuration
- Deployment variables
Service: Order Service
Artifacts:
- Docker image from Docker
- JAR file from a repository
- Lambda package
Possible service types include:
- Secure Shell
- Kubernetes
- AWS Lambda
- ECS
Example:
- If deploying a container to Kubernetes → Kubernetes service type
- If deploying serverless → use AWS Lambda service type.
An Environment represents where the service will be deployed.
Typical environments:
- Dev
- QA
- Staging
- Production
It defines:
- Infrastructure
- Cloud provider
- Target cluster or server
Example:
Environment: Production
Infrastructure:
- Kubernetes cluster
- AWS account
- VM instances
Workflows are part of First Gen Harness in Next Gen Harness its moved under Pipelines Execution.
A Workflow defines how the deployment happens.
It contains:
- Deployment steps
- Pre-deployment tasks
- Post-deployment verification
- Rollback steps
Example workflow steps:
- Pull artifact
- Deploy container
- Run database migration
- Perform health check
- Verify deployment
Harness can also integrate with monitoring tools for verification.
A Pipeline orchestrates multiple workflows.
It allows:
- Sequential deployments
- Multi-environment promotion
- Approval gates
Example pipeline:
Build → Dev Deploy → QA Deploy → Approval → Production Deploy
Example integration:
- Build triggered from Jenkins
- Deploy to Kubernetes cluster
Complete Example
- account-service
- transaction-service
- notification-service
- Dev
- QA
- Production
Deploy container → Run health check → Verify logs
Build → Dev → QA → Manual Approval → Production
- Application → Project
- Service → What you deploy
- Environment → Where you deploy
- Workflow → How you deploy
- Pipeline → Deployment process across environments
No comments:
Post a Comment