AWS Marketplace

Accelerating development cycles by integrating Harness Continuous Delivery

Harness provides continuous delivery as a service so that developers and DevOps teams can automate the deployment, verification, and rollback of code across AWS compute, clusters, and services. Teams can utilize Harness to accelerate development velocity and time-to-market to focus on business outcomes.

In this post, I show you how to deploy Harness Continuous Delivery to the AWS Cloud to help accelerate your development cycles.

Prerequisites

Here is the minimum required setup to complete the solution:

Step-by-step walkthrough

A.  Subscribe to Harness in AWS Marketplace

  1. Follow this link to find Harness in AWS Marketplace. Alternatively, navigate to AWS Marketplace, enter Harness in the search bar, and select Harness.
  2. In the upper right, choose Continue to Subscribe. Choose your contract options and follow the subscription wizard to subscribe. Choose Create contract.

B.  Register your AWS accounts to Harness

To get started, register one or more of your existing AWS accounts in Harness by entering your AWS access and secret keys. This grants Harness access to your account so that it can dynamically pull configuration and integrate with your AWS services.

  1. After logging into your Harness account, add Amazon Web Services as your cloud provider. Within AWS cloud provider page, complete the following:
    • In the bottom left sidebar, choose Setup.
    • In the right sidebar, choose Cloud Providers.
    • In the right sidebar, choose Add Cloud Provider and select Amazon Web Services.
  2. In the Add Amazon Web Services Cloud Provider panel,
    • Enter: Display Name: a name for this provider. This is to differentiate AWS providers in Harness. It’s not the actual account name.
    • Under Credentials, select Enter AWS Access Keys manually. Then for Access Keys, enter your account AWS access keys.
  3. Under Select Encrypted Secret Key, choose + Create Encrypted Text. In the Add Encrypted Text window, for Secrets Manager, choose Harness Secrets Manager.
  4. For Name, enter your AWS secrets key. For Value, enter your AWS secrets key.
  5. Choose Submit.
  6. In the Add Amazon Web Services Cloud Provider window, either choose Test to verify your settings or Submit to complete this step.

You have successfully integrated Harness and AWS.

C. Add support for AWS artifacts and repositories

To define your apps and services in Harness, add a new service and define its deployment type.

An artifact is a by-product created during the development or deployment proccess. Harness supports the deployment of the following artifacts into AWS services:

Harness also supports more traditional artifacts such as Web Application aRchive (WAR), Enterprise Application aRchive (EAR), ZIP, Red Hat Package Manager (RPM), and Internet Information Systems (IIS) applications.

To add an application, do the following.

  1. Log in to your Harness account.
  2. In the left sidebar, choose Setup.
  3. In the Applications section, choose + Add Application.
  4. For Name, enter the name of your application. Choose Submit.
  5. You should now be in the Application Overview page. Choose Services and then + Add Service.
  6. In the Add Service window, for Name, enter a name for the service. For Deployment Type, select your service. In our example, we choose Amazon EC2 Container Service.
  7. Choose Submit.

After you create your service, link it to your artifact repository so that Harness can version control and manage all related artifacts and services. Harness supports Amazon ECR, Amazon AMI, and Amazon S3 buckets in addition to other repositories such as Artifactory and Nexus.

To link your artifact repository, do the following:

  1. After logging into your Harness account, in the left sidebar, choose Setup.
  2. In the Applications section, choose the name of your application, then in the Application Overview sheet, choose Services.
  3. Choose your application name. You should now see the Service Overview section. Change the Artifact Source by choosing the + Add Artifact Source
  4. For the purposes of this demonstration, select ECR. In the Artifact Source – ECR window, for Cloud Provider, choose Amazon Web Services. If applicable, select the AWS Region.
  5. For Docker Image Name, choose your Docker image, which is populated automatically from your configured AWS Cloud Provider setting.
  6. Choose Submit.

D. Secrets management

Harness supports AWS KMS and AWS Secrets Manager so you can manage your secrets, including database credentials and API keys. This process enables you to manage your secrets natively across your deployment pipelines securely and scalably. Harness also audits the usage and changes of secrets across your applications, services, and pipelines.

To implement secrets management, do the following.

  1. Log in to your Harness account.
  2. In the left sidebar, choose Security. Then choose Secrets Manager.
  3. In the Secrets Management section, choose + Add Secrets Manager.
  4. Enter your custom Display Name.
  5. In the AWS – Access Key ID field, enter in your KMS Access Key ID. In the AWS – Secret Access Key field, enter in your KMS Secret Access Key. In the AWS ARM field, enter in your KMS ARN. In the Region field, selection the Region of your KMS key.
  6. Choose Submit.

Conclusion

In this post, I showed how to procure Harness available in AWS Marketplace to enable you to automate deployment, security, verification, and monitoring across AWS compute, clusters, and services.

Next steps

Sign up for on Harness in AWS Marketplace for your subscription of Harness Pro!

About the authors

Nam Le  Nam Le, senior partner solutions architect, AWS Marketplace

Nam Le focuses on security and governance with close to 20 years of experience in consulting, sales and engineering. He specializes in AWS Control Tower, AWS Service Catalog, AWS Marketplace, and AWS Data Exchange. As an AWS Marketplace solutions architect, he works with AWS partners to build and deliver best-practices solutions to customers. Outside work, he enjoys biking, car building, travel photography, and spending time with family.

 

Larry ImLarry Im, technical account manager, AWS Enterprise Support

As a technical account manager for AWS Enterprise Support, Larry helps customers realize their business outcomes on AWS. He has over 20 years of experience in IT operations, architecture, and management. Outside work, you can find him making memories with his family, falling off bikes, and being on the quest for the perfect taco.