SlideShare una empresa de Scribd logo
1 de 61
Descargar para leer sin conexión
AWS re:Invent© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Jayme Cox, Cloud Computing, Pinterest
Kaartik Viswanath, Product Manager, AWS
October 2015
NET307
Pinterest
The Road from EC2-Classic to EC2-VPC
Frequently asked Questions
1. When should I start adopting Amazon VPC?
2. Why should I adopt Amazon VPC?
3. How do I go about the process?
AWS re:Invent
Overview
3
How
what tools, processes, and procedures
Why
reasons to migrate to VPC
When
timelines and schedules
Lessons Learned
what to think about before migrating
1
2
3
4
What we will talk about
AWS re:Invent 4
•100 million pinners
•150,000 requests/sec at peak
•100% in Amazon EC2
What is Pinterest?
4
We help people discover things they
love, and inspire them to do those
things in their daily lives
AWS re:Invent 5
Why
How
When
Lessons
AWS re:Invent
Performance
Security
Access
Benefits of VPC
6
AWS re:Invent
Enhanced networking
● EC2-Classic: 250,000 pps
● EC2-VPC: 900,000 pps
● EC2-Classic: ~8.5 Gbit/sec
● EC2-VPC: ~9.9 Gbit/sec
Performance
7
make it fast
AWS re:Invent
Enhanced networking
● faster!
Internal ELB
● replace DNS roundrobin
● replace haproxy/nginx nodes
● health checks
Performance
8
make it fast
AWS re:Invent
Performance
Security
Access
Benefits of VPC
9
AWS re:Invent
Network level controls
● Private Amazon S3 endpoint
Security
10
make it secure
AWS re:Invent
Network level controls
● Private Amazon S3 endpoint
● Subnets and full IP address control
Security
11
make it secure
AWS re:Invent
Network level controls
● Private Amazon S3 endpoint
● Subnets and full IP address control
● Network-level Access Control Lists
Security
12
make it secure
AWS re:Invent
Performance
Security
Access
Benefits of VPC
13
AWS re:Invent
Access Options
● VPC Peering allows secure connections to multiple VPCs
Access
14
make it available
AWS re:Invent
Access Options
● VPC Peering allows secure connections to multiple VPCs
● AWS Direct Connect private connectivity to VPC
Access
15
make it available
AWS re:Invent
Access Options
● VPC Peering allows secure connections to multiple VPCs
● AWS Direct Connect private connectivity to VPC
● Virtual Private Gateway allows VPN access
Access
16
make it available
AWS re:Invent 17
Why
How
When
Lessons
AWS re:Invent
The Pinterest migration to VPC required that
we have zero downtime.
A hard cutover would have duplicated 40%
of our current infrastructure, which was too
expensive.
ClassicLink to the rescue!
18
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
Tools
19
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
Tools
20
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Tools
21
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
Tools
22
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
● And what services do they depend on?
Tools
23
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
● And what services do they depend on?
Tracking system
● Master ticket for each service
Tools
24
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
● And what services do they depend on?
Tracking system
● Master ticket for each service
● Migration status of each service
Tools
25
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
● And what services do they depend on?
Tracking system
● Master ticket for each service
● Migration status of each service
● Track migration rate
Tools
26
make it go
AWS re:Invent
ClassicLink
● Phased migration on a service-by-service basis
● VPC address space must not overlap EC2-Classic
● Automate linking classic EC2 nodes to VPC
Service discovery
● What services do you need to migrate?
● And what services do they depend on?
Tracking system
● Master ticket for each service
● Migration status of each service
● Track migration rate
● Track problems and areas to improve
Tools
27
make it go
AWS re:Invent
NAT gateways
● Private subnets require a NAT gateway for egress
● Possible network bottleneck
● Large subnets may need multiple NAT gateways
Design
28
each piece of the puzzle
AWS re:Invent
NAT gateways
● Private subnets require a NAT gateway for egress
● Possible network bottleneck
● Large subnets may need multiple NAT gateways
Subnets
● Allow for future growth in each subnet
● Balance size of subnet vs. network segmentation
● Use public subnets for high traffic Internet egress
Design
29
each piece of the puzzle
AWS re:Invent
NAT gateways
● Private subnets require a NAT gateway for egress
● Possible network bottleneck
● Large subnets may need multiple NAT gateways
Subnets
● Allow for future growth in each subnet
● Balance size of subnet vs. network segmentation
● Use public subnets for high traffic Internet egress
Security groups
● Plan out based on number of rules allowed
● Contiguous subnets allow for CIDR-based rules
● Plan for ClassicLink access from EC2 private address space
Design
30
each piece of the puzzle
AWS re:Invent
Gather information
● Create a template for service owners to fill in
Document
31
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
Document
32
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
Document
33
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
● Service dependencies
Document
34
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
● Service dependencies
Service migration plan
● Service runbooks and dashboards
Document
35
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
● Service dependencies
Service migration plan
● Service runbooks and dashboards
● Canary and Testing
Document
36
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
● Service dependencies
Service migration plan
● Service runbooks and dashboards
● Canary and Testing
● Full rollout to VPC
Document
37
the migration process
AWS re:Invent
Gather information
● Create a template for service owners to fill in
● Document current setup
● Document changes required by VPC
● Service dependencies
Service migration plan
● Service runbooks and dashboards
● Canary and Testing
● Full rollout to VPC
● Rollback plan
Document
38
the migration process
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
Architect
39
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Architect
40
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Stateless
● Mixed pools
● Grow VPC
Architect
41
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Stateless
● Mixed pools
● Grow VPC
● Decom classic hosts
Architect
42
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Stateless
● Mixed pools
● Grow VPC
● Decom classic hosts
Frontend traffic
● Create new VPC ELB
Architect
43
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Stateless
● Mixed pools
● Grow VPC
● Decom classic hosts
Frontend traffic
● Create new VPC ELB
● Register VPC hosts
Architect
44
for each type of service
AWS re:Invent
Stateful clusters
● Sync to replica hosts in VPC
● Promote VPC cluster to master
● Decom classic hosts
Stateless
● Mixed pools
● Grow VPC
● Decom classic hosts
Frontend traffic
● Create new VPC ELB
● Register VPC hosts
● Migrated traffic via DNS
Architect
45
for each type of service
AWS re:Invent 46
Why
How
When
Lessons
AWS re:Invent
Timeline
● Build dependency tree to avoid overlap
● Schedule each service
● Meet weekly to track progress
Coordinate
47
each service
AWS re:Invent
Timeline
● Build dependency tree to avoid overlap
● Schedule each service
● Meet weekly to track progress
Tracking
● Tag each service before and after
● Track cost via tags
● Build tooling/dashboard
Coordinate
48
each service
AWS re:Invent
Timeline
● Build dependency tree to avoid overlap
● Schedule each service
● Meet weekly to track progress
Tracking
● Tag each service before and after
● Track cost via tags
● Build tooling/dashboard
Service owners
● Add to service owners’ roadmap
● Service owners fill out migration template
● Use master ticket to keep in sync
Coordinate
49
each service
AWS re:Invent 50
Why
How
When
Lessons
AWS re:Invent
Limit scope of changes
● Try to limit the number of changes during migration
● Do not change application versions, OS revs, etc.
Favorite things
51
to think about
AWS re:Invent
Limit scope of changes
● Try to limit the number of changes during migration
● Do not change application versions, OS revs, etc.
Network ACL
● Optional; you may only need security groups
● Tricky with the private S3 endpoint using public IPs
Favorite things
52
to think about
AWS re:Invent
Limit scope of changes
● Try to limit the number of changes during migration
● Do not change application versions, OS revs, etc.
Network ACL
● Optional; you may only need security groups
● Tricky with the private S3 endpoint using public IPs
Service discovery
● Difficult to do, so start before migration, it will pay off
● Building the service dependency map will smooth the migration
● Helps to track down port numbers used for security groups
● Build tooling to automate and report
Favorite things
53
to think about
AWS re:Invent
Subnets
● Spend time to get it right
● Public vs. Private
● Contiguous IP address space (CIDR)
Favorite things
54
to think about
AWS re:Invent
Subnets
● Spend time to get it right
● Public vs. Private
● Contiguous IP address space (CIDR)
Security groups
● Start with deny all
● Work towards open
Favorite things
55
to think about
AWS re:Invent
Subnets
● Spend time to get it right
● Public vs. Private
● Contiguous IP address space (CIDR)
Security groups
● Start with deny all
● Work towards open
amazonaws.com
● split DNS works in classic
● but in VPC it only returns public IP
Favorite things
56
to think about
AWS re:Invent
Long tail
● ClassicLink allows mixed environment
● Encourage service owners to migrate
Favorite things
57
to think about
AWS re:Invent
Long tail
● ClassicLink allows mixed environment
● Encourage service owners to migrate
Cost
● Someone cares about cost
● So track it from the beginning
Favorite things
58
to think about
AWS re:Invent
Questions?
AWS re:Invent
Thank you!
AWS re:Invent
Remember to complete
your evaluations!

Más contenido relacionado

La actualidad más candente

서비스 무중단 마이그레이션 : KT에서 Amazon으로
서비스 무중단 마이그레이션 : KT에서 Amazon으로서비스 무중단 마이그레이션 : KT에서 Amazon으로
서비스 무중단 마이그레이션 : KT에서 Amazon으로
신우 방
 

La actualidad más candente (20)

(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNs(NET406) Deep Dive: AWS Direct Connect and VPNs
(NET406) Deep Dive: AWS Direct Connect and VPNs
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry ServiceAzure vidyapeeth -Introduction to Azure Container Service & Registry Service
Azure vidyapeeth -Introduction to Azure Container Service & Registry Service
 
서비스 무중단 마이그레이션 : KT에서 Amazon으로
서비스 무중단 마이그레이션 : KT에서 Amazon으로서비스 무중단 마이그레이션 : KT에서 Amazon으로
서비스 무중단 마이그레이션 : KT에서 Amazon으로
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
AWS Webinar Series Brasil: Como sair de seu datacenter e modernizar cargas de...
AWS Webinar Series Brasil: Como sair de seu datacenter e modernizar cargas de...AWS Webinar Series Brasil: Como sair de seu datacenter e modernizar cargas de...
AWS Webinar Series Brasil: Como sair de seu datacenter e modernizar cargas de...
 
AWS Advanced Networking: Transit Gateway
AWS Advanced Networking: Transit GatewayAWS Advanced Networking: Transit Gateway
AWS Advanced Networking: Transit Gateway
 
Best Practices with Azure & Kubernetes
Best Practices with Azure & KubernetesBest Practices with Azure & Kubernetes
Best Practices with Azure & Kubernetes
 
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
 
Cilium - Network security for microservices
Cilium - Network security for microservicesCilium - Network security for microservices
Cilium - Network security for microservices
 
Kubernetes CI/CD with Helm
Kubernetes CI/CD with HelmKubernetes CI/CD with Helm
Kubernetes CI/CD with Helm
 
Rancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep DiveRancher 2.0 Technical Deep Dive
Rancher 2.0 Technical Deep Dive
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
AWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS SummitAWS Fargate deep dive - MAD303 - Chicago AWS Summit
AWS Fargate deep dive - MAD303 - Chicago AWS Summit
 
Amazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
Amazon RDS: Deep Dive - SRV310 - Chicago AWS SummitAmazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
Amazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
 
KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)KubeVirt (Kubernetes and Cloud Native Toronto)
KubeVirt (Kubernetes and Cloud Native Toronto)
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 
How OpenShift SDN helps to automate
How OpenShift SDN helps to automateHow OpenShift SDN helps to automate
How OpenShift SDN helps to automate
 
Coordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdfCoordinating Microservices with AWS Step Functions.pdf
Coordinating Microservices with AWS Step Functions.pdf
 

Destacado

Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services Patterns
Amazon Web Services
 

Destacado (20)

Hybrid Infrastructure Integration
Hybrid Infrastructure IntegrationHybrid Infrastructure Integration
Hybrid Infrastructure Integration
 
Scaling by Design: AWS Web Services Patterns
Scaling by Design:AWS Web Services PatternsScaling by Design:AWS Web Services Patterns
Scaling by Design: AWS Web Services Patterns
 
Agile BI - Pop-up Loft Tel Aviv
Agile BI - Pop-up Loft Tel AvivAgile BI - Pop-up Loft Tel Aviv
Agile BI - Pop-up Loft Tel Aviv
 
Encryption and Key Management in AWS
Encryption and Key Management in AWSEncryption and Key Management in AWS
Encryption and Key Management in AWS
 
Data Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and ArchiveData Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and Archive
 
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
Get the Most Out of Amazon EC2: A Deep Dive on Reserved, On-Demand, and Spot ...
 
AWS APAC Webinar Week - Understanding AWS Storage Options
AWS APAC Webinar Week - Understanding AWS Storage OptionsAWS APAC Webinar Week - Understanding AWS Storage Options
AWS APAC Webinar Week - Understanding AWS Storage Options
 
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
AWS March 2016 Webinar Series   Getting Started with Serverless ArchitecturesAWS March 2016 Webinar Series   Getting Started with Serverless Architectures
AWS March 2016 Webinar Series Getting Started with Serverless Architectures
 
The Pace of Innovation - Pop-up Loft Tel Aviv
The Pace of Innovation - Pop-up Loft Tel AvivThe Pace of Innovation - Pop-up Loft Tel Aviv
The Pace of Innovation - Pop-up Loft Tel Aviv
 
AWS Mobile Services & SDK Introduction & Demo
AWS Mobile Services & SDK Introduction & DemoAWS Mobile Services & SDK Introduction & Demo
AWS Mobile Services & SDK Introduction & Demo
 
Deep Dive: Hybrid Architectures
Deep Dive: Hybrid ArchitecturesDeep Dive: Hybrid Architectures
Deep Dive: Hybrid Architectures
 
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
 
Workshop: AWS Lamda Signal Corps vs Zombies
Workshop: AWS Lamda Signal Corps vs ZombiesWorkshop: AWS Lamda Signal Corps vs Zombies
Workshop: AWS Lamda Signal Corps vs Zombies
 
(DEV204) Building High-Performance Native Cloud Apps In C++
(DEV204) Building High-Performance Native Cloud Apps In C++(DEV204) Building High-Performance Native Cloud Apps In C++
(DEV204) Building High-Performance Native Cloud Apps In C++
 
Security Day IAM Recommended Practices
Security Day IAM Recommended PracticesSecurity Day IAM Recommended Practices
Security Day IAM Recommended Practices
 
Ansible on aws - Pop-up Loft Tel Aviv
Ansible on aws - Pop-up Loft Tel AvivAnsible on aws - Pop-up Loft Tel Aviv
Ansible on aws - Pop-up Loft Tel Aviv
 
My First Big Data Application
My First Big Data ApplicationMy First Big Data Application
My First Big Data Application
 
Grid Computing for Financial Services
Grid Computing for Financial ServicesGrid Computing for Financial Services
Grid Computing for Financial Services
 
Getting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise Applications
 
AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722AWS July Webinar Series: Amazon redshift migration and load data 20150722
AWS July Webinar Series: Amazon redshift migration and load data 20150722
 

Similar a (NET307) Pinterest: The road from EC2-Classic To EC2-VPC

Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017
Amazon Web Services
 

Similar a (NET307) Pinterest: The road from EC2-Classic To EC2-VPC (20)

Amazon Virtual Private Cloud - VPC 2
Amazon Virtual Private Cloud - VPC 2Amazon Virtual Private Cloud - VPC 2
Amazon Virtual Private Cloud - VPC 2
 
Nodeless and serverless kubernetes
Nodeless and serverless kubernetesNodeless and serverless kubernetes
Nodeless and serverless kubernetes
 
AWS architect certification course
AWS architect certification course AWS architect certification course
AWS architect certification course
 
Running Microservices On Docker
Running Microservices On DockerRunning Microservices On Docker
Running Microservices On Docker
 
Service Discovery: From Classic to VPC
Service Discovery: From Classic to VPCService Discovery: From Classic to VPC
Service Discovery: From Classic to VPC
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
Amazon Virtual Private Cloud - VPC 1
Amazon Virtual Private Cloud - VPC 1Amazon Virtual Private Cloud - VPC 1
Amazon Virtual Private Cloud - VPC 1
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
9th docker meetup 2016.07.13
9th docker meetup 2016.07.139th docker meetup 2016.07.13
9th docker meetup 2016.07.13
 
ENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS ServicesENT201 Simplifying Microsoft Architectures with AWS Services
ENT201 Simplifying Microsoft Architectures with AWS Services
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
 
Intro to batch processing on AWS
Intro to batch processing on AWSIntro to batch processing on AWS
Intro to batch processing on AWS
 
(SDD302) A Tale of One Thousand Instances - Migrating from Amazon EC2-Classic...
(SDD302) A Tale of One Thousand Instances - Migrating from Amazon EC2-Classic...(SDD302) A Tale of One Thousand Instances - Migrating from Amazon EC2-Classic...
(SDD302) A Tale of One Thousand Instances - Migrating from Amazon EC2-Classic...
 
Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017
 
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
 
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech TalksIntroduction to Microsoft Workloads on AWS - AWS Online Tech Talks
Introduction to Microsoft Workloads on AWS - AWS Online Tech Talks
 
Kubernetes on AWS
Kubernetes on AWSKubernetes on AWS
Kubernetes on AWS
 
Kubernetes on AWS
Kubernetes on AWSKubernetes on AWS
Kubernetes on AWS
 
Kubernetes automation in production
Kubernetes automation in productionKubernetes automation in production
Kubernetes automation in production
 
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeBuild and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
 

Más de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

(NET307) Pinterest: The road from EC2-Classic To EC2-VPC

  • 1. AWS re:Invent© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Jayme Cox, Cloud Computing, Pinterest Kaartik Viswanath, Product Manager, AWS October 2015 NET307 Pinterest The Road from EC2-Classic to EC2-VPC
  • 2. Frequently asked Questions 1. When should I start adopting Amazon VPC? 2. Why should I adopt Amazon VPC? 3. How do I go about the process?
  • 3. AWS re:Invent Overview 3 How what tools, processes, and procedures Why reasons to migrate to VPC When timelines and schedules Lessons Learned what to think about before migrating 1 2 3 4 What we will talk about
  • 4. AWS re:Invent 4 •100 million pinners •150,000 requests/sec at peak •100% in Amazon EC2 What is Pinterest? 4 We help people discover things they love, and inspire them to do those things in their daily lives
  • 7. AWS re:Invent Enhanced networking ● EC2-Classic: 250,000 pps ● EC2-VPC: 900,000 pps ● EC2-Classic: ~8.5 Gbit/sec ● EC2-VPC: ~9.9 Gbit/sec Performance 7 make it fast
  • 8. AWS re:Invent Enhanced networking ● faster! Internal ELB ● replace DNS roundrobin ● replace haproxy/nginx nodes ● health checks Performance 8 make it fast
  • 10. AWS re:Invent Network level controls ● Private Amazon S3 endpoint Security 10 make it secure
  • 11. AWS re:Invent Network level controls ● Private Amazon S3 endpoint ● Subnets and full IP address control Security 11 make it secure
  • 12. AWS re:Invent Network level controls ● Private Amazon S3 endpoint ● Subnets and full IP address control ● Network-level Access Control Lists Security 12 make it secure
  • 14. AWS re:Invent Access Options ● VPC Peering allows secure connections to multiple VPCs Access 14 make it available
  • 15. AWS re:Invent Access Options ● VPC Peering allows secure connections to multiple VPCs ● AWS Direct Connect private connectivity to VPC Access 15 make it available
  • 16. AWS re:Invent Access Options ● VPC Peering allows secure connections to multiple VPCs ● AWS Direct Connect private connectivity to VPC ● Virtual Private Gateway allows VPN access Access 16 make it available
  • 18. AWS re:Invent The Pinterest migration to VPC required that we have zero downtime. A hard cutover would have duplicated 40% of our current infrastructure, which was too expensive. ClassicLink to the rescue! 18
  • 19. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis Tools 19 make it go
  • 20. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic Tools 20 make it go
  • 21. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Tools 21 make it go
  • 22. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? Tools 22 make it go
  • 23. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? ● And what services do they depend on? Tools 23 make it go
  • 24. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? ● And what services do they depend on? Tracking system ● Master ticket for each service Tools 24 make it go
  • 25. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? ● And what services do they depend on? Tracking system ● Master ticket for each service ● Migration status of each service Tools 25 make it go
  • 26. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? ● And what services do they depend on? Tracking system ● Master ticket for each service ● Migration status of each service ● Track migration rate Tools 26 make it go
  • 27. AWS re:Invent ClassicLink ● Phased migration on a service-by-service basis ● VPC address space must not overlap EC2-Classic ● Automate linking classic EC2 nodes to VPC Service discovery ● What services do you need to migrate? ● And what services do they depend on? Tracking system ● Master ticket for each service ● Migration status of each service ● Track migration rate ● Track problems and areas to improve Tools 27 make it go
  • 28. AWS re:Invent NAT gateways ● Private subnets require a NAT gateway for egress ● Possible network bottleneck ● Large subnets may need multiple NAT gateways Design 28 each piece of the puzzle
  • 29. AWS re:Invent NAT gateways ● Private subnets require a NAT gateway for egress ● Possible network bottleneck ● Large subnets may need multiple NAT gateways Subnets ● Allow for future growth in each subnet ● Balance size of subnet vs. network segmentation ● Use public subnets for high traffic Internet egress Design 29 each piece of the puzzle
  • 30. AWS re:Invent NAT gateways ● Private subnets require a NAT gateway for egress ● Possible network bottleneck ● Large subnets may need multiple NAT gateways Subnets ● Allow for future growth in each subnet ● Balance size of subnet vs. network segmentation ● Use public subnets for high traffic Internet egress Security groups ● Plan out based on number of rules allowed ● Contiguous subnets allow for CIDR-based rules ● Plan for ClassicLink access from EC2 private address space Design 30 each piece of the puzzle
  • 31. AWS re:Invent Gather information ● Create a template for service owners to fill in Document 31 the migration process
  • 32. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup Document 32 the migration process
  • 33. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC Document 33 the migration process
  • 34. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC ● Service dependencies Document 34 the migration process
  • 35. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC ● Service dependencies Service migration plan ● Service runbooks and dashboards Document 35 the migration process
  • 36. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC ● Service dependencies Service migration plan ● Service runbooks and dashboards ● Canary and Testing Document 36 the migration process
  • 37. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC ● Service dependencies Service migration plan ● Service runbooks and dashboards ● Canary and Testing ● Full rollout to VPC Document 37 the migration process
  • 38. AWS re:Invent Gather information ● Create a template for service owners to fill in ● Document current setup ● Document changes required by VPC ● Service dependencies Service migration plan ● Service runbooks and dashboards ● Canary and Testing ● Full rollout to VPC ● Rollback plan Document 38 the migration process
  • 39. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC Architect 39 for each type of service
  • 40. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Architect 40 for each type of service
  • 41. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Stateless ● Mixed pools ● Grow VPC Architect 41 for each type of service
  • 42. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Stateless ● Mixed pools ● Grow VPC ● Decom classic hosts Architect 42 for each type of service
  • 43. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Stateless ● Mixed pools ● Grow VPC ● Decom classic hosts Frontend traffic ● Create new VPC ELB Architect 43 for each type of service
  • 44. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Stateless ● Mixed pools ● Grow VPC ● Decom classic hosts Frontend traffic ● Create new VPC ELB ● Register VPC hosts Architect 44 for each type of service
  • 45. AWS re:Invent Stateful clusters ● Sync to replica hosts in VPC ● Promote VPC cluster to master ● Decom classic hosts Stateless ● Mixed pools ● Grow VPC ● Decom classic hosts Frontend traffic ● Create new VPC ELB ● Register VPC hosts ● Migrated traffic via DNS Architect 45 for each type of service
  • 47. AWS re:Invent Timeline ● Build dependency tree to avoid overlap ● Schedule each service ● Meet weekly to track progress Coordinate 47 each service
  • 48. AWS re:Invent Timeline ● Build dependency tree to avoid overlap ● Schedule each service ● Meet weekly to track progress Tracking ● Tag each service before and after ● Track cost via tags ● Build tooling/dashboard Coordinate 48 each service
  • 49. AWS re:Invent Timeline ● Build dependency tree to avoid overlap ● Schedule each service ● Meet weekly to track progress Tracking ● Tag each service before and after ● Track cost via tags ● Build tooling/dashboard Service owners ● Add to service owners’ roadmap ● Service owners fill out migration template ● Use master ticket to keep in sync Coordinate 49 each service
  • 51. AWS re:Invent Limit scope of changes ● Try to limit the number of changes during migration ● Do not change application versions, OS revs, etc. Favorite things 51 to think about
  • 52. AWS re:Invent Limit scope of changes ● Try to limit the number of changes during migration ● Do not change application versions, OS revs, etc. Network ACL ● Optional; you may only need security groups ● Tricky with the private S3 endpoint using public IPs Favorite things 52 to think about
  • 53. AWS re:Invent Limit scope of changes ● Try to limit the number of changes during migration ● Do not change application versions, OS revs, etc. Network ACL ● Optional; you may only need security groups ● Tricky with the private S3 endpoint using public IPs Service discovery ● Difficult to do, so start before migration, it will pay off ● Building the service dependency map will smooth the migration ● Helps to track down port numbers used for security groups ● Build tooling to automate and report Favorite things 53 to think about
  • 54. AWS re:Invent Subnets ● Spend time to get it right ● Public vs. Private ● Contiguous IP address space (CIDR) Favorite things 54 to think about
  • 55. AWS re:Invent Subnets ● Spend time to get it right ● Public vs. Private ● Contiguous IP address space (CIDR) Security groups ● Start with deny all ● Work towards open Favorite things 55 to think about
  • 56. AWS re:Invent Subnets ● Spend time to get it right ● Public vs. Private ● Contiguous IP address space (CIDR) Security groups ● Start with deny all ● Work towards open amazonaws.com ● split DNS works in classic ● but in VPC it only returns public IP Favorite things 56 to think about
  • 57. AWS re:Invent Long tail ● ClassicLink allows mixed environment ● Encourage service owners to migrate Favorite things 57 to think about
  • 58. AWS re:Invent Long tail ● ClassicLink allows mixed environment ● Encourage service owners to migrate Cost ● Someone cares about cost ● So track it from the beginning Favorite things 58 to think about
  • 61. AWS re:Invent Remember to complete your evaluations!