deep dive on aws codestar - london-summit-slides …london-summit-slides-2017.s3.amazonaws.com/deep...

35
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tara E. Walker Technical Evangelist | @taraw June 28, 2017 Deep Dive on AWS CodeStar with AWS CI/CD workflow

Upload: trinhxuyen

Post on 09-Mar-2018

227 views

Category:

Documents


1 download

TRANSCRIPT

© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Tara E. WalkerTechnical Evangelist | @taraw

June 28, 2017

Deep Dive on AWS CodeStarwith AWS CI/CD workflow

Agenda

What’s Serverless Real-Time Data Processing?Processing Streaming Data with Lambda and Kinesis

Streaming Data Processing DemoData Processing Pipeline with Lambda and MapReduce

Building a Big Data Processing Solution Demo

What is DevOps & AWS enabled DevOps

Introducing AWS CodeStar

AWS CodeStar and AWS Code Services

AWS CodeStar Issue Tracking with JIRA

Summary

What is DevOps?Union of software development and operationsMigration of Agile continuous development into continuous integration and continuous deliveryDevOps Model

• No Silos – Puts emphasis on communication, collaboration, and cohesion between disciplines

• Best practices for change, configuration, and deployment automation• Deliver apps/services at faster pace • High speed product updates

Delivery Pipeline

Feedback LoopCOMPANY CUSTOMERS

• Integration tests with other systems

• Load testing• UI tests• Penetration

testing

DevOps Release Processes: Four major phases

Source Build Test Production

• Check-in source code such as .java files.

• Peer review new code

• Compile code• Unit tests• Style checkers • Code metrics• Create

container images

• Deployment to production environments

Continuous Integration (CI) is…DevOps software development practice Refers to Build or Integration stage of the software release process

Key Activitiesü Code changes merged into a central repositoryü Automated builds and tests are run

Goalsü Find and address bugs quicklyü Improve software quality ü Reduce time to release new software updates

Continuous Delivery (CD) is…DevOps software development practice that refers to Deployment stage of the software release process

Key Activitiesü Deployment of all code changes to a testing and/or a

production environment ü Approval of updates to production from test stages

Goalsü Verify application updates across multiple dimensions

before deploymentü Automate entire software release process ü Pre-emptively discover deployment issues

DevOps Release processes: Levels

Source Build Test Production

Continuous integration

Continuous delivery

Continuous deployment

Amazon CloudWatch

AWS CloudTrail

Monitoring& Logging

AWS DevOps Portfolio

AWS CodeCommit

AWS CodeDeploy

AWS CodePipeline

Software Development and Continuous Delivery Toolchain

AWS CloudFormation

AWS OpsWorks

AWS Config

Infrastructureas Code

AWS CodeBuild

AWS CodeStar

AWS OpsWorks for Chef Automate

AWS X-Ray

AWS Continuous Integration & Delivery AWS Code Services

AWS CodePipeline AWS CodeCommit AWS CodeBuildAWS CodeDeployAWS CodeStar

Introducing AWS CodeStar

Develop on AWS in minutes: Easily set up your entire development environment and programming tools for coding, building, testing, and deploying on AWS

Collaborate securely with your entire: Manage team access, add team members to projects by role i.e. owners, contributors

Integrated issue tracking and project management: Integrates Atlassian JIRA Software to easily manage issues directly from CodeStar dashboard and monitor application progress and activity

Supported for popular programming languages: Develop variety of applications using language of choice including Java, JavaScript, PHP, Ruby, and Python.

Release code faster: Set up your entire continuous delivery toolchain in minutes

AWS CodeStar – Implement AWS DevOps

Source Build Test Production

Third PartyTooling

Software Development and Continuous Integration & Delivery Workflow

AWS CodeCommit AWS CodeBuild AWS CodeDeploy

AWS CodePipeline

AWS CodeStar

Features of AWS CodeStarü Project Templatesü Team Access Management

with AWS IAMü Managed Build Service with

AWS Code Buildü Unified Project Dashboard

using Amazon CloudWatchmonitoring service

ü Issue tracking and project management tool in dashboard via integrated Atlassian JIRA Software

ü AWS CodeCommit for Secure Hosted GitRepository

ü Automated App Deployments with AWS CodeDeploy and AWS CloudFormation

ü Integration of AWS CodePipeline for Automated Continuous Delivery Pipeline

AWS CodeStar – Project Templates

Preconfigured AWS CloudFormation templates for quick development project creation

• Automatic provisioning of underlying AWS services for quick app coding and deployment

Over twenty different AWS CodeStar project templatesSupport for websites, web services, microservices, Alexa Skills dev projects (and more)3 Hosting environments

§ Self-Managed: Amazon EC2 with AWS CodeDeploy§ Managed: Elastic Beanstalk§ Serverless: AWS Lambda

Amazon EC2

AWS CodeDeploy

AWS Elastic Beanstalk

AWSLambda

AWS CodeStar – Project Templates

Programming Languages

Java

JavaScript

Python

Ruby

PHP

CodeStar project templates support popular programming languages and IDEs

IDE/Code Editors

Visual Studio

Eclipse

AWS CLI AWS CLI

Demo: Project Creation & Templates

CodeStar – Project DashboardCoordinate your day-to-day development activitiesDashboard provides tools to view real timeapplication activity, monitor builds, and flow of code through deployment pipelineCustomize project dashboard by adding, removing, moving tilesAdd customizable team wiki tile for team resources sharing or other purposes ex. show code snippets

Use CodeStar project extensions to add tiles and functionality dashboard

AWS CodeStar – Working with TeamsBuild project team by granting user access to CodeStar projectProject Roles

ü Owner: Ability to add & remove team members, contribute code to project repo, grant or deny team members remote access

ü Contributor: Ability to add & remove dashboard resources, contribute code to the project repository

ü Viewer: Ability to view the project dashboard, code, tiles, and project state

Project team members (users)ü Can have different CodeStar roles and permissionsü Can belong to multiple CodeStar projects

AWS CodeStar – Continuous Delivery Pipeline

Each CodeStar project creates and configures an automated Continuous Delivery pipeline

Source Build Test Production

Third PartyTooling

Software Release Steps:

AWS CodeCommit AWS CodeBuild AWS CodeDeploy

AWS CodePipeline

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeCommit

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeBuild

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

Third PartyTooling

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodeDeployOr

AWS Elastic BeanStalkOr

AWS Lambda

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

EC2 On-Prem

AWS CodeDeploy

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

EC2

AWS Elastic Beanstalk

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CloudFormation/AWS SAM

AWS Lambda Amazon API Gateway*

AWS CodeStar – AWS Code Services

Source Build Test Production

Software Release Steps:

AWS CodePipeline

Demo: Continuous Delivery Pipeline

Integrated Issue TrackingIntegrates with Atlassian JIRA Software – issue tracking and project management tool

Easy JIRA and AWS CodeStar setupü Log into JIRA and Copy URL from any projectü Enter JIRA URL field in the CodeStar Extensions

Monitor application activity and manage all JIRA issues in CodeStar dashboard

Create new JIRA tickets for work items directly dashboard

Integrated Issue Tracking – Atlassian JIRA offer

First 2,000 CodeStar users to sign up for JIRA Software through AWS CodeStar -Receive a free 5-person license of JIRA

First time JIRA ever offers a free version of software

Offer only available for a very limited time

AWS Only Offer

Demo: Atlassian JIRA integration

AWS CodeStar LimitsCodeStar Feature Limit

# of projects. Maximum of 333 projects in an AWS account. Limits will vary depending on other service dependencies

# of AWS CodeStar projects by IAM user Maximum of 10 per individual IAM userProject IDs Must be unique within an AWS account.

Must be min 2 characters and max 15 characters. Only certaincharacters allowed.

Project names Project names cannot exceed 100 characters in length, and cannot begin or end with an empty space.

Project descriptions Optional. Any character combination between 0 and 1,024 length.

Number of team members in project 100 member maxUser Profile display name Must include at least one character. Character cannot be a

space. Cannot begin or end with a space. User profile email address Must include an @ and end in a valid domain extension.Access: Federated, Root account, or Temporary

Only supports IAM users, No federated users or temporary access credentials. Using with a root account is not recommended.

AWS CodeStar - Code integrated partners

Reliability

AWS CodeStar – Easily Gain Benefits of DevOps

SpeedScale

Rapid DeliveryImproved Collaboration

Security

Summary:

Learn more:https://aws.amazon.com/codestar

Check out Blog Post: Introducing AWS CodeStar:https://aws.amazon.com/blogs/aws/new-aws-codestar/

Get started with AWS CodeStar:https://console.aws.amazon.com/codestar

Tara E. Walker@taraw