DevOps Tools Review – AWS CodeStar

Blog home

Service Description

AWS CodeStar enables management and rapid delivery of software projects leveraging DevOps principles. With AWS CodeStar, you can use a variety of project templates to start developing applications on Amazon EC2, AWS Lambda, and AWS Elastic Beanstalk.

 AWS CodeStar projects support many popular programming languages including Java, JavaScript, PHP, Ruby, and Python. AWS CodeStar allows you to accelerate application delivery by providing a pre-configured continuous delivery toolchain for developing, building, testing, and deploying your projects on AWS. 

You can easily secure access for your projects through built-in security policies for various roles including owners, contributors, and viewers. 

The project dashboard in AWS CodeStar makes it easy to centrally monitor application activity and manage day-to-day development tasks such as recent code commits, builds, and deployments. Because AWS CodeStar integrates with Atlassian JIRA, a third-party issue tracking and project management tool, you can create and manage JIRA issues in the AWS CodeStar dashboard. 

Some of the advantages can involve

  • Use a code editor of choice like VisualStudio or Eclipse
  • Team access management is integrated with IAM
  • Leverages CodeBuild, CodeDeploy and CodePipeline to deliver CI/CD
  • Provides an intuitive user interface for developers or managers to setup the pipeline

Example Use Case Scenarios

Scenario 1 : Customer wants a toolset to rapidly develop a PHP web application and deploy in AWS EC2 

A customer has a requirement to quickly transform internal practises to align with DevOps principles and has a software project that needs to be deployed on AWS. The software is designed to be deployed to EC2. CodeStar can be leveraged in this scenario to achieve a quick win. To setup the following are required,

  • A project template can be chosen based on the programming language and infrastructure of choice
  • A Github / Code commit repository is created / reused as a version controlled source code store 
  • CodeDeploy is used for the deployment of the code to the ec2 instance

Scenario 2 : Customer wants a service integrating with JIRA for project management, access management and bug tracking with a centralised dashboard

A customer has a requirement to increase velocity and manage a new software project and issues from a central location. Dashboards and visual tools for management are also non functional requirements. Code star provides a project dashboard and integrates with Jira to enable ticket management for features, issues and bugs. Also CodeStar simplifies access management for the developer teams, because it provides built-in role-based policies that follow AWS security best practices. I.e  you easily manage access for project owners, contributors, and viewers without needing to manually configure your own policy for each service. This enables access and  project management without a lot of overhead and integrates with the existing ticketing system of the organisation, giving a quick win.

Scenario 3 : Customer wants to learn about CI/CD and requires a Proof of Concept

A customer is exploring DevOps transformation and wants to know more about Continuous delivery and integration. As a DevOps consultancy, CirrusHQ can setup a Proof of Concept with a real world application without a lot of overhead to advocate the advantages of a CI/CD pipeline and hence achieving a quick turnaround

Limitations

CodeStar is limited by the languages and deployment method it supports. The supported deployments are only for Amazon EC2, AWS Elastic Beanstalk or AWS Lambda

CodeStar cannot be used for managing existing applications

CodeStar can only integrate with GitHub/CodeCommit. Gitlab, Bitbucket are not supported and neither is S3 drop deployments though it is supported by CodePipeline.Â