SlideShare a Scribd company logo
1 of 48
Sascha Möllering | zanox AG 
Cloud Architecture
About me 
Sascha Möllering 
sascha.moellering@zanox.com 
Lead Engineer / DevOps Hipster 
zanox AG 
http://www.der-maschinenstuermer.de/ 
@sascha242
About me 
Java Magazin 11.14 
Architektur im Kontext der Cloud: Patterns und 
Best Practices 
AWS Virtual Cloud Summit 
Continuous delivery in AWS using Docker 
http://aws-summit.de/ 
Entwickler Spezial: Docker 
Über den Wolken: Ein Erfahrungsbericht zum 
Docker-Einsatz in der Amazon Cloud
Agenda 
• AWS Overview 
• Creating a cloud service 
• Real World example 
• Cloud deployment 
• Q&A
How can we scale?
How can we scale?
AWS Overview 
Region 
US-WEST (N. California) EU-WEST (Ireland) 
ASIA PAC 
(Tokyo) 
ASIA PAC 
(Singapore) 
US-WEST (Oregon) 
US-EAST (Virginia) 
SOUTH AMERICA (Sao 
Paulo) 
GOV CLOUD 
ASIA PAC 
(Sydney) 
EU-CENTRAL (Frankfurt)
AWS Overview 
Availability 
Zone
AWS Overview 
EC2: Resizable compute capacity 
AutoScaling: scale up or down 
Route 53: Domain Name System 
ELB: Load Balancing 
Elastic IP: Static IP address
AWS Overview 
RDS: Managed database service 
DynamoDB: NoSQL implementation 
Redshift: data warehouse solution 
ElastiCache: Managed cache 
Kinesis: Service for streaming data
AWS Overview 
S3: Highly-scalable object storage 
CloudFront: CDN implementation 
CloudWatch: Monitoring service 
IAM: Identity and Access Management 
EMR: Managed Hadoop
Starting point 
• How can we leverage the Cloud? 
• Our application: 
– Simple Java based web application 
– One application 
– One database 
– Runs in our own DC
Creating a cloud service 
• Initial setup: 
– Route53 for DNS 
– One Elastic IP (static IPs for the Cloud) 
– One EC2 instance 
• Web Application 
• Database 
– One AZ
Creating a cloud service 
Availability Zone
Creating a cloud service 
• Simple approach to scale: 
– More RAM 
– More CPU power 
– More IOPS 
– Different EC2 instance type 
• Approach will hit a barrier
Creating a cloud service 
• Problems: 
– No failover 
– No redundancy 
– Database and application on one instance 
– Does not scale very well
Creating a cloud service 
• Separate Web Application from DB 
– One EC2 instance for the Web Application 
– One EC2 instance for the DB 
– Or: Managed DB service (RDS) 
• One AZ
Creating a cloud service 
Availability Zone 
Database
Creating a cloud service 
• Problems: 
– No failover 
– No redundancy 
– Does still not scale very well
Creating a cloud service 
• Add an ELB 
• Add EC2 instance for Web Application 
• Different AZs 
• Standby DB instance 
– Multi AZ setup in RDS
Creating a cloud service
Creating a cloud service 
Availability Zone 
Database 
Availability Zone 
Database
Creating a cloud service 
• Problems: 
– Still limited scaling capabilities 
– If one EC2 instance crashes, 50% less 
capability
Creating a cloud service 
• Add additional EC2 instances 
• Add read replicas in RDS
Creating a cloud service 
Availability Zone 
Database 
Availability Zone 
Database
Creating a cloud service 
• Problems: 
– Naive implementation 
– Does not leverage AWS services 
– Limited scaling 
– Can be quite expensive
Creating a cloud service 
• Refactoring 
• Introduce caches to take load from DB 
• Use S3 and CloudFront to ship static 
content 
• Store session data in DynamoDB 
• Add Autoscaling
Creating a cloud service 
• Autoscaling 
– Automatic resizing of compute clusters 
based on demand 
– Integrated to Amazon CloudWatch 
– Maximum and minimum pool sizes 
– Autoscaling policies triggered by 
CloudWatch alarms
Creating a cloud service 
Auto Scaling 
Availability Zone 
group
Creating a cloud service 
• Started with a simple web application 
• Added several Amazon services 
• Managed to shift load from application 
to services 
• Added caches and CDN 
• Added Autoscaling
Creating a cloud service 
• Next steps: 
– SOA 
– Loose coupling: decouple interactions 
– Amazon services, don‘t reinvent the wheel 
– Database federation 
– Database sharding
Real world example 
• Elastic architecture that grows and 
shrinks 
• Multiple AZs 
• Use case: streaming data 
• Decoupling using Kinesis 
• IAM Roles for managing credentials 
• CloudWatch for monitoring
Internet 
Architecture 
Availability Zone 
Auto Scaling group 
Auto Scaling group 
Availability Zone
Architecture
Vert.x 
“Vert.x is a lightweight, high performance application 
platform for the JVM that's designed for modern 
mobile, web, and enterprise applications.”
Architecture 
• Main framework Vert.x 
• mod-kinesis (Kinesis-Adapter for Vert.x) 
• AWS Java SDK 
• IAM roles for Amazon EC2 instances 
• Coda Hale metrics and CloudWatch reporter 
• Jedis (Redis client for Java) 
• …
Deployment 
Workstation 
GitHub 
Jenkins 
Nexus 
Python/Fabric 
Datacenter 
Artefakt
Deployment 
EC2 instance with Docker 
registry (port 5000) 
S3 bucket to store 
Docker images
Deployment 
Amazon Cloud 
Workstation 
GitHub 
Jenkins 
Python/Boto 
Docker Image 
Docker Registry S3 bucket with 
Docker Images
Deployment
Deployment
Deployment
EC2 instances and ELB 
python start_docker_instance.py  
-r <myregistry>:5000  
-i kinesis-producer  
-t 95  
-q 2  
-s quality  
-d '-d -p 8080:8080' 
https://github.com/SaschaMoellering/aws-docker-scripts
EC2 instances and ELB 
python start_elb.py  
-r <myregistry>:5000  
-i kinesis-producer  
-t 95  
-s quality  
-d '-d -p 8080:8080' 
https://github.com/SaschaMoellering/aws-docker-scripts
EC2 instances and ELB
EC2 instances and ELB
Cloud Architecture: Patterns and Best Practices

More Related Content

What's hot

Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developersCiklum Ukraine
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSAmazon Web Services
 
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...Amazon Web Services
 
Aws re invent hybrid cloud breakout session
Aws re invent   hybrid cloud breakout session Aws re invent   hybrid cloud breakout session
Aws re invent hybrid cloud breakout session Angela_Tripp
 
AWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavisAWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavisAmazon Web Services
 
Moving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSMoving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSAmazon Web Services
 
AWS Webcast - Website Hosting in the Cloud
AWS Webcast - Website Hosting in the CloudAWS Webcast - Website Hosting in the Cloud
AWS Webcast - Website Hosting in the CloudAmazon Web Services
 
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...Amazon Web Services
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012Amazon Web Services
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsRightScale
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloudnwcloud
 
Aws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | DallasAws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | DallasNicole Maus
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture PatternsAmazon Web Services
 
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...Amazon Web Services
 
VMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTVMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTAmazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesAmazon Web Services
 
(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation Studios(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation StudiosAmazon Web Services
 

What's hot (20)

Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
 
ENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWSENT307 VMware and AWS Together - VMware Cloud on AWS
ENT307 VMware and AWS Together - VMware Cloud on AWS
 
Enterprise Workloads on AWS
Enterprise Workloads on AWSEnterprise Workloads on AWS
Enterprise Workloads on AWS
 
Kinney j aws
Kinney j awsKinney j aws
Kinney j aws
 
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
 
How to Design for High Availability & Scale with AWS
How to Design for High Availability & Scale with AWSHow to Design for High Availability & Scale with AWS
How to Design for High Availability & Scale with AWS
 
Aws re invent hybrid cloud breakout session
Aws re invent   hybrid cloud breakout session Aws re invent   hybrid cloud breakout session
Aws re invent hybrid cloud breakout session
 
AWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavisAWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavis
 
Moving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWSMoving Enterprise Windows Workloads to AWS
Moving Enterprise Windows Workloads to AWS
 
AWS Webcast - Website Hosting in the Cloud
AWS Webcast - Website Hosting in the CloudAWS Webcast - Website Hosting in the Cloud
AWS Webcast - Website Hosting in the Cloud
 
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
 
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
ARC302 AWS Cloud Design Patterns - AWS re: Invent 2012
 
AWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid EnvironmentsAWS and VMware: How to Architect and Manage Hybrid Environments
AWS and VMware: How to Architect and Manage Hybrid Environments
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
 
Aws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | DallasAws Architecture Fundamentals | Dallas
Aws Architecture Fundamentals | Dallas
 
(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns(ARC309) Getting to Microservices: Cloud Architecture Patterns
(ARC309) Getting to Microservices: Cloud Architecture Patterns
 
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
Cloud-Native DevOps: Simplifying application lifecycle management with AWS | ...
 
VMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPTVMware on AWS A Technical Deep Dive PPT
VMware on AWS A Technical Deep Dive PPT
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation Studios(CMP404) Cloud Rendering at Walt Disney Animation Studios
(CMP404) Cloud Rendering at Walt Disney Animation Studios
 

Similar to Cloud Architecture: Patterns and Best Practices

Cloud Patterns Beuth Hochschule
Cloud Patterns Beuth HochschuleCloud Patterns Beuth Hochschule
Cloud Patterns Beuth HochschuleSascha Möllering
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your StartupAmazon Web Services
 
Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014Tom Laszewski
 
Cloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & OpportunitiesCloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & OpportunitiesOwen Cutajar
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinAmazon Web Services
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinIan Massingham
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloudDavid Veksler
 
Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015Jhalak Modi
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWSDavid Mat
 
SAP on Amazon web services
SAP on Amazon web servicesSAP on Amazon web services
SAP on Amazon web servicescloudnonstop
 
Architecting for AWS Cloud - let's do it right!
Architecting for AWS Cloud - let's do it right!Architecting for AWS Cloud - let's do it right!
Architecting for AWS Cloud - let's do it right!Misha Hanin
 
Amazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarAmazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarCraig Dickson
 
AWS re:Invent 2016: Host a massively scalable website around the world for a ...
AWS re:Invent 2016: Host a massively scalable website around the world for a ...AWS re:Invent 2016: Host a massively scalable website around the world for a ...
AWS re:Invent 2016: Host a massively scalable website around the world for a ...Amazon Web Services
 
AWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWSAWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWSAmazon Web Services
 

Similar to Cloud Architecture: Patterns and Best Practices (20)

DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
 
Cloud Patterns Beuth Hochschule
Cloud Patterns Beuth HochschuleCloud Patterns Beuth Hochschule
Cloud Patterns Beuth Hochschule
 
AWS Distilled
AWS DistilledAWS Distilled
AWS Distilled
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014
 
Cloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & OpportunitiesCloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & Opportunities
 
[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloud
 
Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015Building A Dynamic Website - 31st Jan 2015
Building A Dynamic Website - 31st Jan 2015
 
Application Lifecycle Management on AWS
Application Lifecycle Management on AWSApplication Lifecycle Management on AWS
Application Lifecycle Management on AWS
 
SAP on Amazon web services
SAP on Amazon web servicesSAP on Amazon web services
SAP on Amazon web services
 
Architecting for AWS Cloud - let's do it right!
Architecting for AWS Cloud - let's do it right!Architecting for AWS Cloud - let's do it right!
Architecting for AWS Cloud - let's do it right!
 
Fundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWSFundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWS
 
Introduction to DevOps on AWS
Introduction to DevOps on AWSIntroduction to DevOps on AWS
Introduction to DevOps on AWS
 
AWS Black Belt Tips
AWS Black Belt TipsAWS Black Belt Tips
AWS Black Belt Tips
 
Amazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarAmazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI Webinar
 
AWS re:Invent 2016: Host a massively scalable website around the world for a ...
AWS re:Invent 2016: Host a massively scalable website around the world for a ...AWS re:Invent 2016: Host a massively scalable website around the world for a ...
AWS re:Invent 2016: Host a massively scalable website around the world for a ...
 
AWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWSAWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWS
 

More from Sascha Möllering

More from Sascha Möllering (12)

Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
 
Docker in the Cloud
Docker in the CloudDocker in the Cloud
Docker in the Cloud
 
Docker in der AWS Cloud
Docker in der AWS CloudDocker in der AWS Cloud
Docker in der AWS Cloud
 
Docker in der Cloud
Docker in der CloudDocker in der Cloud
Docker in der Cloud
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Real World Enterprise Reactive Programming using Vert.x
Real World Enterprise Reactive Programming using Vert.xReal World Enterprise Reactive Programming using Vert.x
Real World Enterprise Reactive Programming using Vert.x
 
Production ready Vert.x
Production ready Vert.xProduction ready Vert.x
Production ready Vert.x
 
Continuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as CodeContinuous Delivery and Infrastructure as Code
Continuous Delivery and Infrastructure as Code
 
MTC 2013 monetarisierung
MTC 2013 monetarisierungMTC 2013 monetarisierung
MTC 2013 monetarisierung
 
Get IT together
Get IT togetherGet IT together
Get IT together
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
BED Con JBoss
BED Con JBossBED Con JBoss
BED Con JBoss
 

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Cloud Architecture: Patterns and Best Practices

  • 1. Sascha Möllering | zanox AG Cloud Architecture
  • 2. About me Sascha Möllering sascha.moellering@zanox.com Lead Engineer / DevOps Hipster zanox AG http://www.der-maschinenstuermer.de/ @sascha242
  • 3. About me Java Magazin 11.14 Architektur im Kontext der Cloud: Patterns und Best Practices AWS Virtual Cloud Summit Continuous delivery in AWS using Docker http://aws-summit.de/ Entwickler Spezial: Docker Über den Wolken: Ein Erfahrungsbericht zum Docker-Einsatz in der Amazon Cloud
  • 4. Agenda • AWS Overview • Creating a cloud service • Real World example • Cloud deployment • Q&A
  • 5. How can we scale?
  • 6. How can we scale?
  • 7. AWS Overview Region US-WEST (N. California) EU-WEST (Ireland) ASIA PAC (Tokyo) ASIA PAC (Singapore) US-WEST (Oregon) US-EAST (Virginia) SOUTH AMERICA (Sao Paulo) GOV CLOUD ASIA PAC (Sydney) EU-CENTRAL (Frankfurt)
  • 9. AWS Overview EC2: Resizable compute capacity AutoScaling: scale up or down Route 53: Domain Name System ELB: Load Balancing Elastic IP: Static IP address
  • 10. AWS Overview RDS: Managed database service DynamoDB: NoSQL implementation Redshift: data warehouse solution ElastiCache: Managed cache Kinesis: Service for streaming data
  • 11. AWS Overview S3: Highly-scalable object storage CloudFront: CDN implementation CloudWatch: Monitoring service IAM: Identity and Access Management EMR: Managed Hadoop
  • 12. Starting point • How can we leverage the Cloud? • Our application: – Simple Java based web application – One application – One database – Runs in our own DC
  • 13. Creating a cloud service • Initial setup: – Route53 for DNS – One Elastic IP (static IPs for the Cloud) – One EC2 instance • Web Application • Database – One AZ
  • 14. Creating a cloud service Availability Zone
  • 15. Creating a cloud service • Simple approach to scale: – More RAM – More CPU power – More IOPS – Different EC2 instance type • Approach will hit a barrier
  • 16. Creating a cloud service • Problems: – No failover – No redundancy – Database and application on one instance – Does not scale very well
  • 17. Creating a cloud service • Separate Web Application from DB – One EC2 instance for the Web Application – One EC2 instance for the DB – Or: Managed DB service (RDS) • One AZ
  • 18. Creating a cloud service Availability Zone Database
  • 19. Creating a cloud service • Problems: – No failover – No redundancy – Does still not scale very well
  • 20. Creating a cloud service • Add an ELB • Add EC2 instance for Web Application • Different AZs • Standby DB instance – Multi AZ setup in RDS
  • 21. Creating a cloud service
  • 22. Creating a cloud service Availability Zone Database Availability Zone Database
  • 23. Creating a cloud service • Problems: – Still limited scaling capabilities – If one EC2 instance crashes, 50% less capability
  • 24. Creating a cloud service • Add additional EC2 instances • Add read replicas in RDS
  • 25. Creating a cloud service Availability Zone Database Availability Zone Database
  • 26. Creating a cloud service • Problems: – Naive implementation – Does not leverage AWS services – Limited scaling – Can be quite expensive
  • 27. Creating a cloud service • Refactoring • Introduce caches to take load from DB • Use S3 and CloudFront to ship static content • Store session data in DynamoDB • Add Autoscaling
  • 28. Creating a cloud service • Autoscaling – Automatic resizing of compute clusters based on demand – Integrated to Amazon CloudWatch – Maximum and minimum pool sizes – Autoscaling policies triggered by CloudWatch alarms
  • 29. Creating a cloud service Auto Scaling Availability Zone group
  • 30. Creating a cloud service • Started with a simple web application • Added several Amazon services • Managed to shift load from application to services • Added caches and CDN • Added Autoscaling
  • 31. Creating a cloud service • Next steps: – SOA – Loose coupling: decouple interactions – Amazon services, don‘t reinvent the wheel – Database federation – Database sharding
  • 32. Real world example • Elastic architecture that grows and shrinks • Multiple AZs • Use case: streaming data • Decoupling using Kinesis • IAM Roles for managing credentials • CloudWatch for monitoring
  • 33. Internet Architecture Availability Zone Auto Scaling group Auto Scaling group Availability Zone
  • 35. Vert.x “Vert.x is a lightweight, high performance application platform for the JVM that's designed for modern mobile, web, and enterprise applications.”
  • 36. Architecture • Main framework Vert.x • mod-kinesis (Kinesis-Adapter for Vert.x) • AWS Java SDK • IAM roles for Amazon EC2 instances • Coda Hale metrics and CloudWatch reporter • Jedis (Redis client for Java) • …
  • 37. Deployment Workstation GitHub Jenkins Nexus Python/Fabric Datacenter Artefakt
  • 38.
  • 39. Deployment EC2 instance with Docker registry (port 5000) S3 bucket to store Docker images
  • 40. Deployment Amazon Cloud Workstation GitHub Jenkins Python/Boto Docker Image Docker Registry S3 bucket with Docker Images
  • 44. EC2 instances and ELB python start_docker_instance.py -r <myregistry>:5000 -i kinesis-producer -t 95 -q 2 -s quality -d '-d -p 8080:8080' https://github.com/SaschaMoellering/aws-docker-scripts
  • 45. EC2 instances and ELB python start_elb.py -r <myregistry>:5000 -i kinesis-producer -t 95 -s quality -d '-d -p 8080:8080' https://github.com/SaschaMoellering/aws-docker-scripts

Editor's Notes

  1. Frage: wie können wir Skalieren? AWS als Basis Zeige heute: Patterns und Best Practices in der Cloud anhand von AWS Beispielapplikation in Java, die skaliert werden soll
  2. 9 bzw. 10 verschiedene Regionen Region: separierte geographische Bereiche Neu: EU-Central in Frankfurt
  3. Regions werden in Availability Zones unterteilt Jede AZ is isoliert, aber durch Leitungen mit niedriger Latenz verbunden A group of AZ is a Region A group of Datacenter is an AZ
  4. Elastic IP addresses are static IP addresses designed for dynamic cloud computing. An Elastic IP address is associated with your account, not a particular instance, and you control that address until you choose to explicitly release it Im Fehlerfall (EC2-Instanz ist down) kann die EIP umgemappt werden
  5. RDS: fully managed database service Supports: MySQL, Oracle, Microsoft SQL Server, PostgreSQL automatically patches the database software and backs up your database
  6. - Multi AZ: Multi-AZ deployment option you can run mission critical workloads with high availability and built-in automated fail-over from your primary database to a synchronously replicated secondary database
  7. - Multi AZ: Multi-AZ deployment option you can run mission critical workloads with high availability and built-in automated fail-over from your primary database to a synchronously replicated secondary database
  8. - Minimum poolsizes is great if you have crashing EC2 instances,
  9. Alle Bestandteile der Applikation in Services auslagern, die unabhängig voneinander skaliert werden können Loose Kopplung der Komponenten über Messaging Systeme
  10. S3 DynamoDB RDS RedShift EMR
  11. ----- Meeting Notes (26/10/14 22:22) ----- Fabric -> Boto
  12. ----- Meeting Notes (26/10/14 22:22) ----- Fat JAR
  13. User-data script for ec2 - ein Mal bei initialen Setup der ec2-Instanz ausgeführt - Aktualisiert die Pakete - Installiert Docker - Startet Docker Service - Starten der Docker Instanzen mit den passenden Parametern