dobre praktyki projektowania architektury i wdrażania systemów it dla chmury obliczeniowej aws

33
Good practices to design and implement IT architecture based on AWS

Upload: jacek-biernat

Post on 21-Feb-2017

147 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Good practices to design and implement IT architecture based

on AWS

Page 2: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

About us• 11+ years of professional experience in Unix and 7+ years in Cloud Computing administration• Founder at LCloud – “Linxsys Cloud”, AWS Partner from

2012, first AWS Partner in Poland• We are after 150+ AWS projects• Enterprise experience:

• Email: [email protected]

Page 3: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Design for Failure – High Available solution

One of the major reasons for migration to Cloud Computing:- Avoid single points of failure- Assume everything fails

Our goal: Application should continue to function even if the underlying physical hardware fails or is removed or replicated

Page 4: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

A simple Architecture

Page 5: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

High Available Environment

Page 6: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Do not modify the application code:

Page 7: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Do not modify the application code:

- Network-Attached Storage (NAS) solution with Raid 1 via network: DRBD, GlusterFS

Page 8: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Do not modify the application code:

- Network-Attached Storage (NAS) solution with Raid 1 via network: DRBD, GlusterFS

- Amazon Elastic File System (EFS)

Page 9: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Do not modify the application code:

- Network-Attached Storage (NAS) solution with Raid 1 via network: DRBD, GlusterFS

- Amazon Elastic File System (EFS) - Mount Amazon S3 bucket as file system: s3fs,

s3ql

Page 10: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Do not modify the application code:

- Network-Attached Storage (NAS) solution with Raid 1 via network: DRBD, GlusterFS

- Amazon Elastic File System (EFS) - Mount Amazon S3 bucket as file system: s3fs,

s3ql- Amazon Elastic Load Balancer with sticky

session (sometimes is enough)

Page 11: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Modify the application code:

Page 12: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Modify the application code:

- Our database tier

Page 13: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Modify the application code:

- Our database tier- Amazon S3

Page 14: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Stateless solutions

Modify the application code:

- Our database tier- Amazon S3- Amazon Elasticache (Redis), Amazon

DynamoDB

Page 15: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

When an AWS AZ in EU-West itself fails ?

Page 16: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

When the Entire EU West region is affected ?

Page 17: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Proposal of solutions when a region is not available

Page 18: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Proposal of solutions when a region is not available

• RTO and RPO is max. 24 hours– Amazon Cloudformation templates– Copy backup to second region

Page 19: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Proposal of solutions when a region is not available

• RTO and RPO is max. 24 hours– Amazon Cloudformation templates– Copy backup to second region

• RTO and RPO is max. 5 minutes– Amazon Cloudformation templates– Configure Replication data between regions

Page 20: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Proposal of solutions when a region is not available

• RTO and RPO is max. 24 hours– Amazon Cloudformation templates– Copy backup to second region

• RTO and RPO is max. 5 minutes– Amazon Cloudformation templates– Configure Replication data between regions

• Keep two active environments Master-Master– Use a queue solution (Amazon DynamoDB, SQS)

Page 21: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Implement Elasticity

Don’t assume health or fixed location of components. Use designs that are resilient to

reboot and re-launch.

Page 22: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Standardized Application Stacks

Page 23: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Approaches to designing AMI

1. Inventory of fully baked AMI

2. Base AMI with fetch on boot

3. AMI with Agent to management system

Page 24: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Fully baked AMI

Page 25: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Tools for fully baked AMI

• AWS Console• AWS API with scripts

Page 26: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Base AMI

Page 27: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Base AMI

• Jenkins/Team City• Amazon Cloudformation

Page 28: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Base AMI

• Jenkins/Team City• Amazon Cloudformation• Ansible playbooks• Aminator

Page 29: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

AMI with Agent to management system

Page 30: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Tool to management system

• Puppet• Chef• Ansible

Page 31: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Micro-services and elastic resource pools with AWS

• Each service is decoupled from the rest and deployed individually

• We run multiple services on the same instances

• An automated deployment system takes care of all services lifecycle details

Page 32: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Amazon EC2 Container Service (ECS) – a fully managed platform

Page 33: Dobre praktyki projektowania architektury i wdrażania systemów IT dla chmury obliczeniowej AWS

Thank you for your attention