More Related Content Similar to AWS Summit Singapore 2019 | Microsoft DevOps on AWS (20) More from AWS Summits (20) AWS Summit Singapore 2019 | Microsoft DevOps on AWS1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Microsoft DevOps on AWS
Sriwantha Attanayake
Partner Solution Architect
Amazon Web Services
2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS CloudFormation
AWS CodeDeploy
AWS Elastic Beanstalk
Amazon Elastic Container Service
3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
• AWS SDK for .NET and .NET Core
• AWS Tools for PowerShell (Windows and Core)
API Access
• AWS Toolkit for Visual Studio
• AWS Toolkit for VS Code (Developer Preview)
Code Construction
• AWS Tools for Azure DevOps (VSTS) v1.1
• Code* Suite Integration (e.g., AWS CodeBuild)
DevOps CI/CD
• X-Ray SDK for .NET
• DAX SDK for .NET
Domain specific
AWS developer tools for .NET
• AWS SDK for Xamarin
• AWS SDK for Unity
4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Azure DevOps services
Azure boardsAzure repos Azure test plans Azure artifacts
Extensions marketplace
Azure pipelines
5. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS CloudFormation
• JSON/YAML-formatted file
describing the resources to be
created. Treat it as source code
& put it in your repository
• Interprets AWS CloudFormation
template into stacks of AWS
resources
Template AWS CloudFormation Engine
7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Network Stack
Active Directory Stack
SQL Stack API Stack
SharePoint
Stack
IIS Application
Stack
Microsoft servers solution – 6 CloudFormation stacks
Organize your solutions into stacks
Layer 3
Layer 2
Layer 1
9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What we will be building
Network
template
Azure repos Azure pipelines Build agent AWS
CloudFormation
VPC
Private subnet
10. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
12. AWS Tools for Microsoft Visual Studio Team Services /Azure DevOps
13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Other ways to integrate with your CI/CD system
AWS Tools for
Windows PowerShell
AWS CLI
14. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Elastic Beanstalk vs. DIY
Your code
HTTP server
Application server
Language interpreter
Operating system
Host
Elastic Beanstalk configures each
EC2 instance in your environment
with the components such as load
balancers & auto scaling groups
necessary to run applications for
the selected platform . No more
worrying about logging into
instances to install and configure
your application stack.
Focus on building your
application
Provided by you
Provided and managed by Elastic Beanstalk
16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What we will be building
ASP.Net
web application
Azure repos Azure pipelines Build agent
Bucket
AWS Elastic
Beanstalk
Deployment
17. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
19. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What we will be building
Console App Azure repos Azure pipelines Build agent
Bucket
AWS CodeDeploy
machine1
machine2
mylaptop
21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
v2 v1 v1 v1 v1 v1 v1 v1
v2 v2 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
Min. healthy hosts = 99%
[Custom]
Min. healthy hosts = 75%
Half-at-a-time
Min. healthy hosts = 50%
All-at-once
Min. healthy hosts = 0
Deployment configurations
22. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
How it works: package an application
version: 0.0
os: windows
files:
- source: MyDonkeyApp.dll
destination: C:TempMyDonkeyApp
- source: MyDonkeyApp.runtimeconfig.json
destination: C:TempMyDonkeyApp
- source: MyDonkeyApp.deps.json
destination: C:TempMyDonkeyApp
- source: DeploymentScripts
destination: C:TempMyDonkeyAppDeploymentScripts
hooks:
BeforeInstall:
- location: DeploymentScriptsPSSample-BeforeInstall.ps1
timeout: 600
AfterInstall:
- location: DeploymentScriptsPSSample-AfterInstall.ps1
timeout: 600
ApplicationStart:
ValidateService:
23. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
25. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Container orchestration
Amazon Elastic
Container Registry
Amazon Elastic
Container Service
Amazon Elastic
Container Service for
Kubernetes
AWS Fargate
27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What we will be building
ASP.NET core
Web Application
Azure repos Azure pipelines Build agent
Amazon ECR
Container V1.0
Elastic Load Balancing
AWS Fargate
Service
Container V1.0
Image
Container V2.0
Container V2.0
28. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
30. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Systems Manager : Parameter Store
32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Attach the permission
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [ "ssm:DescribeParameters" ],
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [ "ssm:GetParameters" ],
"Resource": [
"arn:aws:ssm:ap-southeast-2:919173020320:parameter/finance/prod/*"
]
},
{
"Effect": "Allow",
"Action": ["kms:Decrypt"],
"Resource": [
"arn:aws:ssm:ap-southeast-2:919173020320:parameter/finance/dev/*"
]
}
]
}
Build Agent in
Amazon EC2
instance
33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Access the parameter
PS C:> Get-SSMParameterValue -Name /finance/prod/forex-trading-platform/db-password -WithDecryption
$true | Select -ExpandProperty Parameters | Select Value
34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Microsoft DevOps on AWS Boot Camp
35. Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sriwantha Attanayake
sriwanth@amazon.com
www.linkedin.com/in/sriwantha/