Deploy Tool Vs Continuous Delivery Tool

In this Blog, let’s do a comparison between a Normal Deployment Tool like Rundeck with Continuous Delivery Tool Spinnaker

Problem Statement with Rundeck:
1. Get Rid of Custom Scripting — It is very Expensive
2. Process of Handing Over is Manual — Moving artifact from One Region to Another Without Manual Process
3. As of now, there is NO visibility and Audit done having Release Management Process (Promoting the versions to higher region)
4. Managing Similar configs in Kubernetes Manifests like Anti-Affinity or changes to Readiness probe can be centralized and Easy to maintain

Need for Continuous Delivery Tool:
Basic requirements:

1. Easily Orchestrate the Deployment and to allow us to Enable Control in every stage
2. Provide required Information about the Deployment
3. Allow us to securely Promote/Deploy the Artifact across Environments
4. Provide options to choose between Deployment strategies
5. Rollback to previous Healthier versions easily, whenever required.

Spinnaker Advantages:
• Easy to Onboard and Deploy Applications — UI is Easier to create Pipelines
• Manage Pipeline as Code
• Customise Easily with Simple Extensions
• Visibility and Diagnostics
• Declarative Spec for Common Strategies
• Easy Access control Modes
• Manual Judgements — Create Workflow with approvals.
• Automated Risk Analysis — AutoPilot mode analysis Logs and Metrics
• Rollbacks are Easier

Comparison to Other Tools and Advantages of Managed Delivery:
As of now, the deployments are done with Kubernetes Manifests — Kubernetes doesn’t have the power to take care of Delivery process.
CloudFormation or Terraform — They don’t try to ensure High availability

Powerful Pipelines:

Deployment Strategies:

Declarative Spec for Common Strategies.
Spinnaker treats cloud-native deployment strategies as first class constructs, handling the underlying orchestration such as verifying health checks, disabling old server groups and enabling new server groups.
Spinnaker supports the red/black (a.k.a. blue/green) strategy, with rolling red/black and canary strategies in active development.

We can set Rolling Deployment for Staging Environment and Blue Green for Production environment

Manual Judgements:

Slack Integration:

Interesting Features:

Environments shown in a Single Page:

Source Code — Recent version and the Commit msg deployed is shown:

Pin Feature:

Marking an Artifact as Bad:

Final Judgement:

These Modern Features available in Continuous Delivery Tools like Spinnaker makes it incomparable to a normal Deployment tool like Rundeck which handles everything based on the script provided