This content is about armorFirst Gen. Switch toThe next generation.
This topic describes the main concepts of armor and entityA comprehensive software delivery abstraction model.
We first look at platform and tool integration, then modeling the CD pipeline in Harness.
Want to jump right in?Use oursQuick startand go from beginner to advanced in minutes."position": "To set a category, enter a number and move it to the main level.",
Where does the strap fit?
The image below provides a quick look at where some wiring harness modules fit in the Software Lifecycle (SDLC):
In this topic, we will mainly focus on the continuous delivery component.
For information on Harness CI (formerly Drone) and CE, seeHow Harness CI worksIContinuous performance.
Remember, it's there tooContinue checking: Harness verification offering that consolidates monitoring from multiple vendors into a single dashboard and uses machine learning to identify normal behavior, detect anomalies in future deployments, and perform automatic rollbacks.
Use the architecture
The belt platform consists of two elements:
- Lane manager:Harness Manager is where you store your deployment configuration and manage your pipelines. Use the Manager (or a trigger or our API) to run and view your pipeline execution. The delegate then runs each pipeline job. Harness Manager is available as SaaS (runs on the Harness Cloud) or Harness Self-Managed Enterprise Edition (runs on your infrastructure).
- Delegates in Harne:Harness Delegate is software that you install in your environment and run as a service. The delegate connects to Harness Manager to receive tasks and then performs those tasks on container orchestration platforms, artifact repositories, surveillance systems, etc.
Delegate Harness is the first step
When configuring Harness for the first time, install Harness Delegate on your target infrastructure (for example, Kubernetes cluster, ECS cluster, EC2 subnet, Pivotal Cloud Foundry space, etc.). Once Delegate is installed, you can configure the resource and CD abstraction model below.
For a list of supported platforms and tools, seeSupported platforms and technologies.
Harness integrates with your assets such as cloud platforms and repositories, and your tools such as Jenkins, Jira, ServiceNow, APM, login aggregators, Slack and so on.
Cloud providers describe your public or private cloud or physical infrastructure like AWS, GCP, Kubernetes, and so on.
Harness Connectors integrate your artifacts, repositories, and monitoring and collaboration tools.
Each connector type represents a different asset or tool than you.
Artifact servers represent sources of artifacts delivered via the delivery pipeline, such as Jenkins, Bamboo, Nexus, Artifactory, Docker Registry, and Helm Repo.
Then we have authentication providers representing APM and logging aggregators like AppDynamics, Prometheus, Datadog etc.
Harness integrates with verification service providers to automatically test and validate your deployments and live production services with 24/7 Harness Service Guard.
The use of continuous authentication is a big topic, covered in detail inResume summary and service provider supportIResume strategies, customizations, and best practices. For now, remember that Harness uses machine learning to analyze data from your tools and gain better insights with each deployment or for each service running over time, which will help Harness better understand anomalies and outages.
Original repo providers
Source repository providers connect Git repositories to Harness and synchronize your Harness account and applications with the repository, allowing you to manage deployments via Git.
You can also use your Git repository for specs such as Kubernetes manifests, Helm charts, and Terraform scripts.
Collaboration providers integrate your collaboration services such as email, Slack, Jira, and ServiceNow.
They can then be used to automatically notify users of deployment events and as channels to approve steps in the deployment process.
CD abstraction model
Now that we've looked at how your resources and tools are integrated with Harness, let's look at how the onboarding process is modeled usingUse the CD abstraction model.
The Harness CD abstraction model uses the following components to model the software delivery process. As you read about each part, we'll list how they connect in your model.
The implementation project is organized in the Harness application.
Applications represent groups of microservices, their deployment pipelines, and all the building blocks of those pipelines.
The following diagram shows how the application organizes the components that can be selected and deployed using a pipeline.
Resources associated with the Harness account are used to download/build applications and deploy them to staging and production environments.
Services represent your microservices and applications.
Define where the artifacts for these microservices come from, and the container specifications, configuration variables, and files for these microservices.
Harness includes services for all popular orchestration tools, application managers and compute services such as ECS, Helm, PCF, Lambda, SSH, IIS and so on.
Earlier we mentioned how cloud service providers represent your public or private cloud. But you also need to represent your deployment infrastructures in these clouds like Dev, QA, Stage, Production, etc. We use environments for that.
Environments represent one or more deployment infrastructures such as Dev, QA, Stage, Production, etc.
Multiple environments are useful when creating a deployment pipeline. Deploy to the QA environment first, check and then approve the deployment to the production environment.
Environments use cloud services and providers that you've already modeled, creating different infrastructure definitions.
The workflow models how your app is deployed, validated, retired, and who is notified, among other things.
The workflow includes a definition of the service, environment, and infrastructure for use in the implementation steps that show how your model uses the harness abstraction components together:
There are many different types of workflows, from basic and build to canary and blue-green. Everyone does it differentlyplacement strategy.
The workflow includes verification steps. This is where we add cabling verification vendors and apply continuous cabling verification to deployments.
Most software delivery processes have a multi-stage pipeline. Harness uses pipelines to model the entire release process.
Pipelines model a set of one or more stages that includes workflows for one or more services and other deployment and verification steps, such as approvals.
Triggers automate deployments in response to various conditions such as Git events, new artifacts, schedules, and the success of other pipelines.
You can also launch them using the cURL and Webhook commands.
Triggers model the events that trigger release processes.
Finally, we have infrastructure service providers. Infrastructure providers use Infrastructure-as-Code technologies such as Terraform, Cloud Formation, and even Shell Scripts for custom providers.
You add infrastructure providers to your application and then use them in your workflows to provide services on the fly or simply run commands like Terraform Apply.
Cost management in the cloud (ask for continuous performance)
Harness Cloud Cost Management (CCM) is a cloud cost management solution that provides engineers and DevOps with detailed hourly resource consumption. CCM aims to put cloud cost analysis and management in the hands of cloud resource technicians.
SeeStart with continuous performance.
Current Checkup (CV)
Harness Continuous Verification monitors your applications over time - learning normal behavior and alerting you to anomalies. Instead of writing static (and fragile) rules, focus your efforts on tweaking and fine-tuning this continuous learning that improves anomaly detection.
Harnessa's unsupervised ML takes this approach a step further. You can set the Harness learning engine to generate targeted alertsyourservices and environment. Compared to the baseline policy, this provides a much more flexible basis for pausing or restoring deployments.
SeeWhat is a CV?.
Continuous Integration (CI)
With Drona, Harness offers a CI/CD platform that is simple and efficient for software delivery engineers.
In the near future, Harness CI will be built to eliminate engineering, scripting, version dependencies, time, cost and complexity. We want to enable engineers to focus on delivering innovation for their companies, not on manually building software delivery pipelines.
Visualize and prioritize the deployment and related data that matters to you in flexible view formats.
Harness offers native SSO integration, provisioning, 2FA, whitelisting, freeze deployment, audit trails, pipeline management, and secret management across all major vendors.
You've seen Harness integrate with your resources and tools and the Harness CD abstraction model.
The model is the basis of the harness. Helps you model any software delivery process in minutes.
It provides flexibility while making it easier to follow best practices and harder to implement bad practices.
Most importantly, it removes implementation hassles and gives you confidence in management and success.