![Page 1: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/1.jpg)
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Julien Lépine, Solutions Architect, AWS
April 12th, 2016
Get your Legacy Business Apps to the Next Level
![Page 2: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/2.jpg)
Today’s application*
*All characters appearing in this work are fictitious. Any resemblance to real portal application, living or dead, is purely coincidental
![Page 3: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/3.jpg)
Web Based Document Management Application
• Application built with ASP.NET MVC (.NET 4.5)
• Programming Language: C#
• Hosted on: Windows Server 2012 R2
• Database: SQL Server Standard 2014
![Page 4: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/4.jpg)
Deployment
• 1 single machine
• Database
• Web site
DatabaseWeb
Application
![Page 5: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/5.jpg)
Architecture
PORTAL
SITESSERVICE
DOCUMENTSSERVICE
IDENTITYSERVICE
SECURITYSERVICE
![Page 6: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/6.jpg)
Demo: Document ManagerSimple document management application
![Page 7: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/7.jpg)
Application Architecture Matters
SECURITY COST OPTIMIZATIONRELIABILITY PERFORMANCE
![Page 8: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/8.jpg)
Step 1: Re-Host
No code changeNo architectural change
Usually project led by Ops Team“My application on the Cloud”
“Quick” project, minimal effort level
Rehosting Replatforming Refactoring
Effort Level Costs Maintenance Effort
![Page 9: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/9.jpg)
Step 2: Re-Platform
Limited code changesUse platform opportunitiesFocus on automation
Usually project led by IT Team“My application in the Cloud”
Limited effort, avoid undifferentiated heavy lifting
Rehosting Replatforming Refactoring
Effort Level Costs Maintenance Effort
![Page 10: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/10.jpg)
Step 3: Re-Factor
Optimized for the CloudFull automationAligned with business case
Company wide project“My application for the Cloud”
Larger project, full benefits
Rehosting Replatforming Refactoring
Effort Level Costs Maintenance Effort
![Page 11: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/11.jpg)
Step 3: Cloud-Native
Designed for the CloudAgile and iterative projectsAdaptive environments
DevOps / SecOps / FinOps teamsFollowing best practices
Predictable projects, business value drivenContinuous Delivery
Rehosting Replatforming Cloud Native
Effort Level Costs Maintenance Effort
![Page 12: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/12.jpg)
High Availability& Single Responsibility
![Page 13: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/13.jpg)
Automated provisioning
Automated failover
Automated patching
Automated backup
Point-in-time recovery
Amazon RDS
Amazon RDS
![Page 14: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/14.jpg)
Demo: Start a DatabaseUse Amazon RDS as a Database Engine
![Page 15: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/15.jpg)
Analyze source schema
(optional) transform to destination
Initial transfer
Continuous replication of data
How do I transfer my data?
AWS DMS
![Page 16: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/16.jpg)
Demo: Data ExtractionAutomated Data Transfer between databases
![Page 17: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/17.jpg)
Using the right tool
![Page 18: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/18.jpg)
Blob storage in Amazon S3
var bucketName = "<BucketName>";var fileName = "<FileName>";var s3Client = new Amazon.S3.AmazonS3Client();
// Write Data to Amazon S3s3Client.PutObject(new Amazon.S3.Model.PutObjectRequest
BucketName = bucketName,Key = fileName,InputStream = fileStream
);
// Read Data from Amazon S3var s3Object = s3Client.GetObject(bucketName, fileName);
Amazon S3
![Page 19: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/19.jpg)
Demo: Using Amazon S3Use Amazon S3 instead of the local database for storing files
![Page 20: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/20.jpg)
Loose Coupling Sets You Free
var queueUrl = "https://sqs.<region>.amazonaws.com/<AcctNum>/<QueueName>";var sqsClient = new Amazon.SQS.AmazonSQSClient();
// Send to Amazon SQSsqsClient.SendMessage(queueUrl, "My Message Data");
// Process Amazon SQSwhile(!exit)
var messages = sqsClient.ReceiveMessage(queueUrl);foreach(var message in messages.Messages)
// Process message then deletesqsClient.DeleteMessage(queueUrl, message.ReceiptHandle);
Amazon SQS
![Page 21: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/21.jpg)
Monitoring is key
![Page 22: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/22.jpg)
Automated Log Management and Analysis
Amazon CloudWatch Logs
AWS Lambda
Amazon Kinesis
Amazon EC2
![Page 23: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/23.jpg)
Amazon CloudWatch
Monitoring of resources Custom Metrics Alerting
![Page 24: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/24.jpg)
You want micro-services*
*Don’t say no, everyone wants micro-services these days
![Page 25: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/25.jpg)
Microservicesmean
![Page 26: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/26.jpg)
Let’s get back to the definition
The services are small - fine-grained to perform a single function;;
The organization culture should embrace automation of deployment and testing. This eases the burden on management and operations;;
The culture and design principles should embrace failure and faults, similar to anti-fragile systems;;
Each service is elastic, resilient, composable, minimal, and complete.
https://en.wikipedia.org/wiki/Microservices
![Page 27: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/27.jpg)
Simpler
A Microservice is a stand-alone service that can be (re)built in no more than two weeks
Sam Newman, Building Microserviceshttp://www.amazon.com/gp/product/1491950358/ref=as_li_qf_sp_asin_il_tl
![Page 28: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/28.jpg)
5 characteristics
It is a Stand-alone service/application;;
It is quick to (re)write;;
It focuses on one task;;
It is Language-agnostic;;
It knows that failures exist.
![Page 29: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/29.jpg)
Meet a winning team
Led by AWS Lambda Run functions in Node.js/Python/Java
With a swarm of services for every use case Message processing (Amazon SQS, Amazon SNS) Database (Amazon DynamoDB) Analytics (Amazon Kinesis, Amazon Machine Learning) And many more…
And a front-end part with Amazon API Gateway
AWS LambdaAmazonAPI Gateway
![Page 30: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/30.jpg)
Demo: AWS LambdaLambda function connected through API Gateway
![Page 31: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/31.jpg)
Let’s go for the surprise
![Page 32: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/32.jpg)
Meet Alexa
Voice-controlled assistant for yoru everyday need;;
Fully programmable and extensible;;
Natively integrated with AWS Lambda.
![Page 33: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/33.jpg)
Demo: Voice ControlIntegrate Amazon Echo and Document Manager via Lambda and API Gateway
![Page 34: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/34.jpg)
Automation makes it real
![Page 35: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/35.jpg)
Automation for every use case
IAAS*
Amazon EC2
AWS CloudFormation
AWS OpsWorks AWS ElasticBeanStalk
AWS Lambda
PAAS*DEVOPS DEVOPS
AUTOMATION
![Page 36: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/36.jpg)
Demo: AWS BeanStalkAutomated application deployment and management
![Page 37: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/37.jpg)
We are here to help
![Page 38: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/38.jpg)
Application Architecture Matters
SECURITY COST OPTIMIZATIONRELIABILITY PERFORMANCE
![Page 39: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/39.jpg)
AWS Resources
Solution Architects
Professional Services
Premium Support
AWS Partner Network (APN)
![Page 40: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/40.jpg)
AWS Training and Certification
Certification
aws.amazon.com/certification
Demonstrate your skills, knowledge, and expertise with the AWS platform
Self-Paced Labs
aws.amazon.com/training/self-paced-labs
Try products, gain new skills, and get hands-on practice working with AWS technologies
aws.amazon.com/training
Training
Skill up and gain confidence to design, develop, deploy and
manage your applications on AWS
![Page 41: pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com › images › AWS_Summit... · AWS$Training$and$Certification Certification aws.amazon.com/certification](https://reader034.vdocuments.site/reader034/viewer/2022042315/5f0430b67e708231d40cc23e/html5/thumbnails/41.jpg)