deep dive on aws codestar - london-summit-slides …london-summit-slides-2017.s3.amazonaws.com/deep...
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
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:
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
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
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.
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