AWS Code + AWS Device Farm
-
Upload
amazon-web-services -
Category
Technology
-
view
233 -
download
1
Transcript of AWS Code + AWS Device Farm
![Page 1: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/1.jpg)
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Transforming Software Development
Ran Tessler
AWS Solutions Architect
![Page 2: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/2.jpg)
![Page 3: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/3.jpg)
• Decentralized
• Two-pizza teams
• Agility, autonomy,
accountability, and
ownership
• “DevOps”
![Page 4: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/4.jpg)
DevOps
Pipeline
Source
Developers
commit
changes
Build
Changes
are built and
unit tested
Staging
Code deployed
to staging and
load/UI tested
Production
Code is
deployed to
production
Changes,
Updates, and
Fixes
Ideas,
Requests, and
Bugs
Developers Customers
![Page 5: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/5.jpg)
AWS Code services
CodeCommitlaunched Jul 2015
CodePipelinelaunched Jul 2015
CodeDeploylaunched Nov 2014
![Page 6: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/6.jpg)
AWS CodeCommit
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
![Page 7: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/7.jpg)
What's required for source control in the cloud?
Fully
managed
High
availability
Secure Store
anything
![Page 8: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/8.jpg)
CodeCommit
• Data redundancy across Availability Zones
• Data-at-rest encryption
• Integrated with AWS Identity and Access Management
• No repo size limit
git push CodeCommit
Git objects
in Amazon S3
Git index
in Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
Secure, scalable, and managed Git source control
![Page 9: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/9.jpg)
Same Git experience
$ git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
Cloning into 'aws-cli'...
Receiving objects: 100% (16032/16032), 5.55 MiB | 1.25 MiB/s, done.
Resolving deltas: 100% (9900/9900), done.
Checking connectivity... done.
$ nano README.rst
$ git commit -am 'updated README'
[master 4fa0318] updated README
1 file changed, 1 insertion(+)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 297 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
To https://git-codecommit.us-east-1.amazonaws.com/v1/repos/aws-cli
4dacd6d..4fa0318 master -> master
![Page 10: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/10.jpg)
AWS CodeDeploy
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
![Page 11: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/11.jpg)
Why use a deployment service?
Automate
deployments
Manage
complexity
Avoid
downtime
![Page 12: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/12.jpg)
CodeDeploy
• Scale from 1 instance to thousands
• Deploy without downtime
• Centralize deployment control and monitoring
Staging
CodeDeployv1, v2, v3
Production
Dev
Coordinate automated deployments, just like Amazon
Application
revisions
Deployment groups
![Page 13: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/13.jpg)
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
![Page 14: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/14.jpg)
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
![Page 15: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/15.jpg)
Step 1: Package your application (with an AppSpec
file)
version: 0.0
os: linux
files:
- source: chef/
destination: /etc/chef/codedeploy
- source: target/hello.war
destination: /var/lib/tomcat6/webapps
hooks:
ApplicationStop:
- location: deploy_hooks/stop-tomcat.sh
BeforeInstall:
- location: deploy_hooks/install-chef.sh
AfterInstall:
- location: deploy_hooks/librarian-install.sh
ApplicationStart:
- location: deploy_hooks/chef-solo.sh
ValidateService:
- location: deploy_hooks/verify_service.sh
![Page 16: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/16.jpg)
Step 2: Set up your target environments
Agent Agent Agent
Staging
Agent Agent
Agent Agent
Agent
Agent
Production
Deployment groupDeployment group
Group instances by:
• Auto Scaling group
• Amazon EC2 tag
• On-premises tag
![Page 17: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/17.jpg)
Step 3: Deploy!
aws deploy create-deployment \
--application-name MyApp \
--deployment-group-name TargetGroup \
--s3-location bucket=MyBucket,key=MyApp.zip
AWS CLI & SDKs
AWS Console
CI / CD Partners
GitHub
![Page 18: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/18.jpg)
Deployment config – Choose speed
v2 v1 v1 v1 v1 v1 v1 v1
v2 v2 v2 v2 v1 v1 v1 v1
v2 v2 v2 v2 v2 v2 v2 v2
One-at-a-time
Half-at-a-time
All-at-once
![Page 19: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/19.jpg)
AWS CodePipeline
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
![Page 20: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/20.jpg)
Why use a release automation service?
Automate
workflow
Release
quickly
Ensure
quality
![Page 21: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/21.jpg)
CodePipeline
• Customizable workflow engine
• Integrate with partner and custom systems
• Visual editor and status
Continuous delivery and release automation
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Load test
Gamma
1) Deploy region1
2) Deploy region2
3) Deploy region3
![Page 22: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/22.jpg)
Demo
![Page 23: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/23.jpg)
![Page 24: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/24.jpg)
![Page 25: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/25.jpg)
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Introducing AWS Device FarmAutomated Android and Fire OS App Testing on
Real Devices in the Cloud
![Page 26: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/26.jpg)
Fast Flexible & Configurable
Much easier than …
![Page 27: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/27.jpg)
Your
App +
![Page 28: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/28.jpg)
…
![Page 29: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/29.jpg)
Flexible pricing
$0.17/device minute
or
$250/unmetered device/month
Start today with 250 minutes for free!
![Page 30: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/30.jpg)
Demo
![Page 31: AWS Code + AWS Device Farm](https://reader031.fdocuments.net/reader031/viewer/2022031806/55c8e864bb61eb53648b4654/html5/thumbnails/31.jpg)
Thank You