+ All Categories
Home > Documents > pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com ›...

pushing the boundaries 1600-get–your-legacy-business-apps ...aws-de-media.s3.amazonaws.com ›...

Date post: 09-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
41
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Julien Lépine,SolutionsArchitect,AWS April 12 th , 2016 Get your Legacy Business Apps to the Next Level
Transcript
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

© 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Recommended