pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com ›...
TRANSCRIPT
© 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
Today’s application*
*All characters appearing in this work are fictitious. Any resemblance to real portal application, living or dead, is purely coincidental
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
Deployment
• 1 single machine
• Database
• Web site
DatabaseWeb
Application
Architecture
PORTAL
SITESSERVICE
DOCUMENTSSERVICE
IDENTITYSERVICE
SECURITYSERVICE
Demo: Document ManagerSimple document management application
Application Architecture Matters
SECURITY COST OPTIMIZATIONRELIABILITY PERFORMANCE
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
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
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
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
High Availability& Single Responsibility
Automated provisioning
Automated failover
Automated patching
Automated backup
Point-in-time recovery
Amazon RDS
Amazon RDS
Demo: Start a DatabaseUse Amazon RDS as a Database Engine
Analyze source schema
(optional) transform to destination
Initial transfer
Continuous replication of data
How do I transfer my data?
AWS DMS
Demo: Data ExtractionAutomated Data Transfer between databases
Using the right tool
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
Demo: Using Amazon S3Use Amazon S3 instead of the local database for storing files
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
Monitoring is key
Automated Log Management and Analysis
Amazon CloudWatch Logs
AWS Lambda
Amazon Kinesis
Amazon EC2
Amazon CloudWatch
Monitoring of resources Custom Metrics Alerting
You want micro-services*
*Don’t say no, everyone wants micro-services these days
Microservicesmean
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
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
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.
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
Demo: AWS LambdaLambda function connected through API Gateway
Let’s go for the surprise
Meet Alexa
Voice-controlled assistant for yoru everyday need;;
Fully programmable and extensible;;
Natively integrated with AWS Lambda.
Demo: Voice ControlIntegrate Amazon Echo and Document Manager via Lambda and API Gateway
Automation makes it real
Automation for every use case
IAAS*
Amazon EC2
AWS CloudFormation
AWS OpsWorks AWS ElasticBeanStalk
AWS Lambda
PAAS*DEVOPS DEVOPS
AUTOMATION
Demo: AWS BeanStalkAutomated application deployment and management
We are here to help
Application Architecture Matters
SECURITY COST OPTIMIZATIONRELIABILITY PERFORMANCE
AWS Resources
Solution Architects
Professional Services
Premium Support
AWS Partner Network (APN)
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