SlideShare a Scribd company logo
1 of 35
Cloud Architecture Best practices
Omid Vahdaty, Cloud Architect
Generic Architecture questions:
● When would you cloudify?
○ opex
○ capacity unclear
○ Elasticity
○ Agility in development
Generic Architecture questions:
● When not to cloudify?
○ Network latency
○ Long terms costs
○ Building datacenter is your business
○ Where vendor lockin is important. (offloading terabytes from Amazon??)
○ The architecture of your app is not a match to the clouds best practices.
○ Regulation?
○ Performance considerations. e.g SQream.
Generic Architecture questions:
● When would you normalize tables?
○ eliminate redundant data, utilize space efficiently and reduce update
errors.
○ in situations where we are storing immutable data such as financial
transactions or a particular day's price list.
Generic Architecture questions:
● When NOT to NORMALIZE ?
○ Could you denormalize your schema to create flatter data structures that
are easier to scale?
○ When Multiple Joins are Needed to Produce a Commonly Accessed
View
○ decided to go with database partitioning/sharding then you will likely end
up resorting to denormalization
○ Normalization saves space, but space is cheap!
○ Normalization simplifies updates, but reads are more common!
○ Performance, performance, Performance
Generic Architecture questions:
● NoSql advantages?
○ Non-relational and schema-less data model
○ Low latency and high performance
○ Highly scalable
○ SQL queries are not well suited for the object
oriented data structures that are used in most
applications now.
○ Some application operations require multiple
and/or very complex queries. In that case, data
mapping and query generation complexity raises
too much and becomes difficult to maintain
Generally speaking - a good architecture?
● stable / HA / DR / graceful failure
● Structure - start with skeleton, and be able to add future components.
● Loosely coupled
● Low complexity on components
● Passes all basic tests
● Use Cases matches Tradeoff of architecture (e.g scale out VS. scale up) - i.e
each architecture has advantage and disadvantage
● Performance aspects.
● Maintenance aspects
Generally speaking - a good architecture?
● Documented
● Decoupling storage and compute
● API, Services - not Servers.(PaaS VS. Iaas. )
● TCO
● Hardware considerations
● Network considerations- AWS VS IBM - no money on private network.
● Security considerations
Cloud Architecture Best Practices
● Scale out, Stateless, Need a dispatcher !
■ Pull - Asynchronous event-driven workloads do not require a load
balancing solution because you can implement a pull model instead.
In a pull model, tasks that need to be performed or data that need to
be processed could be stored as messages in a queue using
Amazon Simple Queue Service (Amazon SQS) or as a streaming
data solution like Amazon Kinesis.
■ Push ( like elastic load balancer or route 53 -)
Cloud Architecture Best Practices
● Scale out, Making it stateless
○ web applications can use HTTP cookies to store information about a session at the client’s
browser (e.g., items in the shopping cart). The browser passes that information back to the
server at each subsequent request so that the application does not need to store it. However,
there are two drawbacks with this approach.
■ First, the content of the HTTP cookies can be tampered with at the
client side, so you should always treat them as untrusted data that
needs to be validated.
■ Second, HTTP cookies are transmitted with every request, which
means that you should keep their size to a minimum (to avoid
unnecessary latency).
Cloud Architecture Best Practices
● Scale out, Making it stateless
○ Consider storing a unique session identifier in a HTTP cookie and storing
more detailed user session information server-side. Most programming
platforms provide a native session management mechanism that works
this way, however this is often stored on the local file system by default.
This would result in a stateful architecture. A common solution to this
problem is to store user session information in a database. Amazon
DynamoDB is a great choice due to its scalability, high availability, and
durability characteristics.
Cloud Architecture Best Practices
● Scale out, Making it stateless
○ Other scenarios require storage of larger files (e.g., user uploads, interim
results of batch processes, etc.). By placing those files in a shared
storage layer like Amazon S3 or Amazon Elastic File System (Amazon
EFS) you can avoid the introduction of stateful components. Another
example is that of a complex multistep workflow where you need to track
the current state of each execution.
Cloud Architecture Best Practices
● Scaleout, Stateful
○ by definition, databases are stateful
○ “Sticky sessions for HTTP/s” - You might still be able to scale those components horizontally
by distributing load to multiple nodes with “session affinity.” In this model, you bind all the
transactions of a session to a specific compute resource. You should be aware of the
limitations of this model. Existing sessions do not directly benefit from the introduction of newly
launched compute nodes. More importantly, session affinity cannot be guaranteed. For
example, when a node is terminated or becomes unavailable, users bound to it will be
disconnected and experience a loss of session-specific data (e.g., anything that is not stored
in a shared resource like S3, EFS, a database, etc.).
Cloud Architecture Best Practices
● Elastic resources
○ Kill unused resources
○ Don't use fixed IP unless a must
○ Immutable infrastructure pattern. With this approach a server, once
launched, is never updated throughout its lifetime. Instead, when there is
a problem or a need for an update the server is replaced with a new
one that has the latest configuration. In this way, resources are
always in a consistent (and tested) state and rollbacks become easier to
perform.
○ Bootstrapping
Cloud Architecture Best Practices
● Elastic resources
○ When you launch an AWS resource like an Amazon EC2 instance or
Amazon Relational Database (Amazon RDS) DB instance, you start with
a default configuration. You can then execute automated bootstrapping
actions. That is, scripts that install software or copy data to bring that
resource to a particular state. You can parameterize configuration details
that vary between different environments (e.g., production, test, etc.) so
that the same scripts can be reused without modifications.
Cloud Architecture Best Practices
● Elastic resources
○ AMI Images - faster start times and removes dependencies to
configuration services or third-party repositories. This is important in
auto-scaled environments
○ Convert vmware to ami
○ AWS Elastic Beanstalk and the Amazon EC2 Container Service (Amazon
ECS) support Docker and enable you to deploy and manage multiple
Docker containers across a cluster of Amazon EC2 instances.
Cloud Architecture Best Practices
● Elastic resources
○ AWS Elastic Beanstalk follows the hybrid model. It provides
preconfigured run time environments (each initiated from its own AMI)
but allows you to run bootstrap actions (through configuration files called
.ebextensions 11) and configure environment variables to parameterize
the environment differences.
○ Infrastructure as code (cloud Formations): Write code to set up new
environments - and keep it versioned.
Cloud Architecture Best Practices
● Automation
○ BeansTalk - just add code, scaling, resource are taken care
of automatically
○ EC2 auto recovery - coupled with cloud watch - restore to
specific state
○ AutoScaling
○ Amazon CloudWatch Alarms with SNS, Those Amazon
SNS messages can automatically kick off the execution of a
subscribed AWS Lambda function, enqueue a notification
message to an Amazon SQS queue, or perform a POST
request to an HTTP/S endpoint
Cloud Architecture Best Practices
● Automation
○ AWS OpsWorks Lifecycle events: AWS OpsWorks
supports continuous configuration through lifecycle events
that automatically update your instances configuration to
adapt to environment changes. These events can be used to
trigger Chef recipes on each instance to perform specific
configuration task
○ AWS Lambda Scheduled events: These events allow you
to create a Lambda function and direct AWS Lambda to
execute it on a regular schedule.
Cloud Architecture Best Practices
● API :
○ support backwards compatibility for rollback scenarios.
○ Remeber: services - not servers!
○ Auto scaling included
○ Multi AZ redundancy included
Cloud Architecture Best Practices
● Loose coupling - As application complexity
increases, a desirable attribute of an IT system is
that it can be broken into smaller, loosely coupled
component. services are meant to be loosely
coupled, they should be able to be consumed
without prior knowledge of their network topology
details. Loose coupling is a crucial element if you
want to take advantage of the elasticity of cloud
computing where new resources can be launched
or terminated at any point in time. Service
discovery while maintaining Loose coupling:
Cloud Architecture Best Practices
● Loose coupling Service discovery while
maintaining Loose coupling:
○ service discovery via Elastic Load Balancing service.
Because each load balancer gets its own hostname you now
have the ability to consume a service through a stable
endpoint. This can be combined with DNS and private Amazon
Route53 zones, so that even the particular load balancer’s
endpoint can be abstracted and modified at any point in time.
○ use a service registration and discovery method to allow
retrieval of the endpoint IP addresses and port number of
any given service. Because service discovery becomes the
glue between the components, it is important that it is highly
available and reliable
Cloud Architecture Best Practices
● Loose coupling Service discovery while
maintaining Loose coupling:
○ Asynchronous integrations - This model is suitable
for any interaction that does not need an immediate
response and where an acknowledgement that a
request has been registered will suffice. It involves
one component that generates events and another that
consumes them. The two components do not integrate
through direct point-to point interaction but usually
through an intermediate durable storage layer (e.g., an
Amazon SQS queue or a streaming data platform like
Amazon Kinesis
Cloud Architecture Best Practices
● Loose coupling Service discovery while maintaining Loose
coupling:
○ Asynchronous integrations - This approach decouples the two components and
introduces additional resiliency. So, for example, if a process that is reading messages
from the queue fails, messages can still be added to the queue to be processed when
the system recovers. It also allows you to protect a less scalable backend service from
front end spikes and find the right tradeoff between cost and processing lag. For
example, you can decide that you don’t need to scale your database to accommodate
for an occasional peak of write queries as long as you eventually process those
queries asynchronously with some delay. Finally, by moving slow operations off of
interactive request paths you can also improve the end-user experience.
Cloud Architecture Best Practices
● Loose coupling Service discovery while maintaining Loose coupling:
○ Graceful failure - Another way to increase loose coupling is to build applications in such a way
that they handle component failure in a graceful manner. You can identify ways to reduce the
impact to your end users and increase your ability to make progress on your offline procedures,
even in the event of some component failure. in practice A request that fails can be retried with
an exponential backoff and Jitter strategy or it could be stored in a queue for later processing. For
front-end interfaces, it might be possible to provide alternative or cached content instead of failing
completely when, for example, your database server becomes unavailable. The Amazon Route
53 DNS failover feature also gives you the ability to monitor your website and automatically route
your visitors to a backup site if your primary site becomes unavailable. You can host your backup
site as a static website on Amazon S3 or as a separate dynamic environment.
Cloud Architecture Best Practices: Serverless
● Serverless architecture (AWS API gateway + lambda)
○ AWS Lambda allows you to write code functions, called handlers, which will execute when
triggered by an event.
○ Immediate benefits: easy to maintain, decoupled, and scalable
■ No operating systems to choose, secure, patch, or manage.
■ No servers to right size, monitor, or scale out.
■ No risk to your cost by over-provisioning.
■ No performance impact by under-provisioning.
Cloud Architecture Best Practices: Serverless
● Serverless architecture (AWS API gateway + lambda)
○ Optimizations
■ Includes by design, cloudFront in the BE to cache static requests
■ Lower latency
■ Protection against DDoS
○ You can improve the performance of specific API requests by using
Amazon API Gateway to store responses in an optional in-memory
cache. This not only provides performance benefits for repeated API
requests, but it also reduces backend executions, which can reduce
your overall cost.
Cloud Architecture Best Practices: Databases
● If your application primarily indexes and queries data with no
need for joins or complex transactions (especially if you
expect a write throughput beyond the constraints of a single
instance) consider a NoSQL database instead.
● If you have large binary files (audio, video, and image), it
will be more efficient to store the actual files in the Amazon
Simple Storage Service (Amazon S3) and only hold the
metadata for the files in your database.
Cloud Architecture Best Practices: Databases
● Use read replicas to increase read performance
● Use aurora instead of mysql
● If your schema cannot be denormalized consider a relational database
instead of noSQL
Cloud Architecture Best Practices: HA
● You should aim to build as much automation as possible in both detecting and reacting to failure.
You can use services like ELB and Amazon Route53 to configure health checks and mask failure by
routing traffic to healthy endpoints. In addition, Auto Scaling can be configured to automatically
replace unhealthy nodes. You can also replace unhealthy nodes using the Amazon EC2 auto
recovery feature or services such as AWS OpsWorks and AWS Elastic Beanstalk
● Asynchronous replication decouples the primary node from its replicas at the expense of introducing
replication lag. This means that changes performed on the primary node are not immediately
reflected on its replicas. Asynchronous replicas are used to horizontally scale the system’s read
capacity for queries that can tolerate that replication lag. It can also be used to increase data
durability when some loss of recent transactions can be tolerated during a failover.
Cloud Architecture Best Practices: HA
● Quorum-based replication combines synchronous and asynchronous
replication to overcome the challenges of large-scale distributed database
systems. Replication to multiple nodes can be managed by defining a
minimum number of nodes that must participate in a successful write
operation
Cloud Architecture Best Practices: DR
● Because of the long distance between the two data centers, latency makes it
impractical to maintain synchronous cross-datacenter copies of the data. As a
result, a failover will most certainly lead to data loss or a very costly data
recovery process.
● Each Availability Zone is engineered to be isolated from failures in other
Availability Zones. An Availability Zone is a data center. Availability Zones
within a region provide inexpensive, low-latency network connectivity to other
zones in the same region
● In fact, many of the higher level services on AWS are inherently designed
according to the Multi-AZ principle
Cloud Architecture Best Practices: DR
● Because of the long distance between the two data centers, latency makes it
impractical to maintain synchronous cross-datacenter copies of the data. As a
result, a failover will most certainly lead to data loss or a very costly data
recovery process.
● Each Availability Zone is engineered to be isolated from failures in other
Availability Zones. An Availability Zone is a data center. Availability Zones
within a region provide inexpensive, low-latency network connectivity to other
zones in the same region
● In fact, many of the higher level services on AWS are inherently designed
according to the Multi-AZ principle
Cloud Architecture Best Practices: cost reduction
● User serverless when possible - don't pay for idle.
● Monitoring size of compute
● Turn off unused workloads
● Auto scaling
● Purchasing options - reserved etc.
● Applications can be designed so that they store and retrieve information from fast, managed, in-
memory caches
● Edge caching - cloudFront (CDN), S3
Stay in touch...
● Omid Vahdaty
● +972-54-2384178

More Related Content

What's hot

How to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldHow to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldAlex Iskold
 
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
 
(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
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureNuno Godinho
 
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
 
(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
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Jason "JP" Pomerleau
 
Training AWS: Module 4 - Storage in AWS
Training AWS: Module 4 - Storage in AWSTraining AWS: Module 4 - Storage in AWS
Training AWS: Module 4 - Storage in AWSBùi Quang Lâm
 
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
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...Amazon Web Services
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Tom Laszewski
 
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...Amazon Web Services
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Adrian Cockcroft
 
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
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseAmazon Web Services
 
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborSvetlin Nakov
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudDavid Veksler
 
Building Big Data Applications on AWS
Building Big Data Applications on AWSBuilding Big Data Applications on AWS
Building Big Data Applications on AWSAmazon Web Services
 
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...Amazon Web Services
 

What's hot (20)

How to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex IskoldHow to run your startup on Amazon Web Services, by Alex Iskold
How to run your startup on Amazon Web Services, by Alex Iskold
 
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
 
(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
 
Architecture Best Practices on Windows Azure
Architecture Best Practices on Windows AzureArchitecture Best Practices on Windows Azure
Architecture Best Practices on Windows Azure
 
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
 
(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
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)
 
Training AWS: Module 4 - Storage in AWS
Training AWS: Module 4 - Storage in AWSTraining AWS: Module 4 - Storage in AWS
Training AWS: Module 4 - Storage in AWS
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
AWS re:Invent 2016: Bring Microsoft Applications to AWS to Save Money and Sta...
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...
AWS re:Invent 2016: Building HPC Clusters as Code in the (Almost) Infinite Cl...
 
Enterprise Workloads on AWS
Enterprise Workloads on AWSEnterprise Workloads on AWS
Enterprise Workloads on AWS
 
Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)Cloud Architecture Tutorial - Running in the Cloud (3of3)
Cloud Architecture Tutorial - Running in the Cloud (3of3)
 
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 | ...
 
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance DatabaseDay 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
Day 2 - Amazon RDS - Letting AWS run your Low Admin, High Performance Database
 
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarborCloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
Cloud for Developers: Azure vs. Google App Engine vs. Amazon vs. AppHarbor
 
Nuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloudNuts and bolts of running a popular site in the aws cloud
Nuts and bolts of running a popular site in the aws cloud
 
Building Big Data Applications on AWS
Building Big Data Applications on AWSBuilding Big Data Applications on AWS
Building Big Data Applications on AWS
 
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...
AWS re:Invent 2016: Hybrid Architectures: Bridging the Gap to the Cloud( ARC2...
 

Viewers also liked

Enterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesEnterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesDavid Veksler
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyAmazon Web Services
 
A cloud readiness assessment framework
A cloud readiness assessment frameworkA cloud readiness assessment framework
A cloud readiness assessment frameworkCarlo Colicchio
 
Enterprise Cloud Operating Model Design
Enterprise Cloud Operating Model DesignEnterprise Cloud Operating Model Design
Enterprise Cloud Operating Model DesignJoseph Schwartz
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudNew Relic
 
InterCloud Global Cloud
InterCloud Global CloudInterCloud Global Cloud
InterCloud Global CloudTheintercloud
 
Big Data Fundamentals
Big Data FundamentalsBig Data Fundamentals
Big Data Fundamentalsrjain51
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine LearningChase Aucoin
 
What does Bob really want? Recommenders in the Cloud
What does Bob really want? Recommenders in the CloudWhat does Bob really want? Recommenders in the Cloud
What does Bob really want? Recommenders in the CloudOlivia Klose
 
Microsoft's New Platform
Microsoft's New PlatformMicrosoft's New Platform
Microsoft's New PlatformJohn Rymer
 
PostgreSQL - Object Relational Database
PostgreSQL - Object Relational DatabasePostgreSQL - Object Relational Database
PostgreSQL - Object Relational DatabaseMubashar Iqbal
 
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...Charles Mok
 
China Cloud Computing Presentation
China Cloud Computing PresentationChina Cloud Computing Presentation
China Cloud Computing PresentationBo Hershey
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and CloudifyCloudify Community
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloudDavid Veksler
 

Viewers also liked (18)

Enterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesEnterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best Practices
 
Cloud Architecture
Cloud ArchitectureCloud Architecture
Cloud Architecture
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own Company
 
A cloud readiness assessment framework
A cloud readiness assessment frameworkA cloud readiness assessment framework
A cloud readiness assessment framework
 
Enterprise Cloud Operating Model Design
Enterprise Cloud Operating Model DesignEnterprise Cloud Operating Model Design
Enterprise Cloud Operating Model Design
 
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The CloudCloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
Cloud Migration Cookbook: A Guide To Moving Your Apps To The Cloud
 
InterCloud Global Cloud
InterCloud Global CloudInterCloud Global Cloud
InterCloud Global Cloud
 
Big Data Fundamentals
Big Data FundamentalsBig Data Fundamentals
Big Data Fundamentals
 
Intro to Big Data
Intro to Big DataIntro to Big Data
Intro to Big Data
 
Azure Machine Learning
Azure Machine LearningAzure Machine Learning
Azure Machine Learning
 
What does Bob really want? Recommenders in the Cloud
What does Bob really want? Recommenders in the CloudWhat does Bob really want? Recommenders in the Cloud
What does Bob really want? Recommenders in the Cloud
 
Microsoft's New Platform
Microsoft's New PlatformMicrosoft's New Platform
Microsoft's New Platform
 
c-quilibrium R forecasting integration
c-quilibrium R forecasting integrationc-quilibrium R forecasting integration
c-quilibrium R forecasting integration
 
PostgreSQL - Object Relational Database
PostgreSQL - Object Relational DatabasePostgreSQL - Object Relational Database
PostgreSQL - Object Relational Database
 
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...
Enhancing Hong Kong's Competitiveness Through Data Center and Cloud Computing...
 
China Cloud Computing Presentation
China Cloud Computing PresentationChina Cloud Computing Presentation
China Cloud Computing Presentation
 
Deployment Automation on OpenStack with TOSCA and Cloudify
Deployment Automation on OpenStack with  TOSCA and CloudifyDeployment Automation on OpenStack with  TOSCA and Cloudify
Deployment Automation on OpenStack with TOSCA and Cloudify
 
Auto scaling websites in the cloud
Auto scaling websites in the cloudAuto scaling websites in the cloud
Auto scaling websites in the cloud
 

Similar to Cloud Architecture best practices

CloudCamp Athens presentation: Introduction to cloud computing
CloudCamp Athens presentation: Introduction to cloud computingCloudCamp Athens presentation: Introduction to cloud computing
CloudCamp Athens presentation: Introduction to cloud computingFotis Stamatelopoulos
 
pertemuan-2-introduction-to-cloud.pdf
pertemuan-2-introduction-to-cloud.pdfpertemuan-2-introduction-to-cloud.pdf
pertemuan-2-introduction-to-cloud.pdfMohdLee3
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native PlatformSunil Govindan
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native PlatformSunil Govindan
 
Public Cloud Workshop
Public Cloud WorkshopPublic Cloud Workshop
Public Cloud WorkshopAmer Ather
 
Cloud-based Energy Efficient Software
Cloud-based Energy Efficient SoftwareCloud-based Energy Efficient Software
Cloud-based Energy Efficient SoftwareFotis Stamatelopoulos
 
Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GooglePatrick Pierson
 
Amazon Web Services lection 6
Amazon Web Services lection 6  Amazon Web Services lection 6
Amazon Web Services lection 6 Binary Studio
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsAvere Systems
 
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
 
Ghost Environment
Ghost EnvironmentGhost Environment
Ghost EnvironmentPratipD
 
Architecting applications in the AWS cloud
Architecting applications in the AWS cloudArchitecting applications in the AWS cloud
Architecting applications in the AWS cloudCloud Genius
 
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Rick Hwang
 
Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Fotis Stamatelopoulos
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native EnvironmentsWSO2
 
The future of serverless is STATE!
The future of serverless is STATE!The future of serverless is STATE!
The future of serverless is STATE!Ryan Knight
 
AWS Cloud Computing Tech Talks By Halieb Andemichael
AWS Cloud Computing Tech Talks  By Halieb AndemichaelAWS Cloud Computing Tech Talks  By Halieb Andemichael
AWS Cloud Computing Tech Talks By Halieb AndemichaelHalieb Andemichael
 
Microservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupMicroservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupGiang Tran
 

Similar to Cloud Architecture best practices (20)

CloudCamp Athens presentation: Introduction to cloud computing
CloudCamp Athens presentation: Introduction to cloud computingCloudCamp Athens presentation: Introduction to cloud computing
CloudCamp Athens presentation: Introduction to cloud computing
 
pertemuan-2-introduction-to-cloud.pdf
pertemuan-2-introduction-to-cloud.pdfpertemuan-2-introduction-to-cloud.pdf
pertemuan-2-introduction-to-cloud.pdf
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
Big Data on Cloud Native Platform
Big Data on Cloud Native PlatformBig Data on Cloud Native Platform
Big Data on Cloud Native Platform
 
Public Cloud Workshop
Public Cloud WorkshopPublic Cloud Workshop
Public Cloud Workshop
 
Cloud-based Energy Efficient Software
Cloud-based Energy Efficient SoftwareCloud-based Energy Efficient Software
Cloud-based Energy Efficient Software
 
Cloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs GoogleCloud comparison - AWS vs Azure vs Google
Cloud comparison - AWS vs Azure vs Google
 
Amazon Web Services lection 6
Amazon Web Services lection 6  Amazon Web Services lection 6
Amazon Web Services lection 6
 
Dbms
DbmsDbms
Dbms
 
Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 
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
 
Ghost Environment
Ghost EnvironmentGhost Environment
Ghost Environment
 
Architecting applications in the AWS cloud
Architecting applications in the AWS cloudArchitecting applications in the AWS cloud
Architecting applications in the AWS cloud
 
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
Study Notes - Architecting for the cloud (AWS Best Practices, Feb 2016)
 
Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012Building Scalable Cloud Applications - Presentation at VCCF 2012
Building Scalable Cloud Applications - Presentation at VCCF 2012
 
[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments[WSO2Con Asia 2018] Architecting for Container-native Environments
[WSO2Con Asia 2018] Architecting for Container-native Environments
 
The future of serverless is STATE!
The future of serverless is STATE!The future of serverless is STATE!
The future of serverless is STATE!
 
AWS Cloud Computing Tech Talks By Halieb Andemichael
AWS Cloud Computing Tech Talks  By Halieb AndemichaelAWS Cloud Computing Tech Talks  By Halieb Andemichael
AWS Cloud Computing Tech Talks By Halieb Andemichael
 
Cloud computing benefits
Cloud computing benefitsCloud computing benefits
Cloud computing benefits
 
Microservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupMicroservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind Group
 

More from Omid Vahdaty

Data Pipline Observability meetup
Data Pipline Observability meetup Data Pipline Observability meetup
Data Pipline Observability meetup Omid Vahdaty
 
Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedOmid Vahdaty
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedOmid Vahdaty
 
Machine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedMachine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedOmid Vahdaty
 
The technology of fake news between a new front and a new frontier | Big Dat...
The technology of fake news  between a new front and a new frontier | Big Dat...The technology of fake news  between a new front and a new frontier | Big Dat...
The technology of fake news between a new front and a new frontier | Big Dat...Omid Vahdaty
 
Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3  Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3 Omid Vahdaty
 
Making your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedMaking your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedOmid Vahdaty
 
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...Omid Vahdaty
 
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...Omid Vahdaty
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedOmid Vahdaty
 
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...Omid Vahdaty
 
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned Omid Vahdaty
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | EnglishOmid Vahdaty
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...Omid Vahdaty
 
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...Omid Vahdaty
 
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive Omid Vahdaty
 
Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...Omid Vahdaty
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned Omid Vahdaty
 
Emr spark tuning demystified
Emr spark tuning demystifiedEmr spark tuning demystified
Emr spark tuning demystifiedOmid Vahdaty
 
Emr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedEmr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedOmid Vahdaty
 

More from Omid Vahdaty (20)

Data Pipline Observability meetup
Data Pipline Observability meetup Data Pipline Observability meetup
Data Pipline Observability meetup
 
Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data Demystified
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
 
Machine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data DemystifiedMachine Learning Essentials Demystified part1 | Big Data Demystified
Machine Learning Essentials Demystified part1 | Big Data Demystified
 
The technology of fake news between a new front and a new frontier | Big Dat...
The technology of fake news  between a new front and a new frontier | Big Dat...The technology of fake news  between a new front and a new frontier | Big Dat...
The technology of fake news between a new front and a new frontier | Big Dat...
 
Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3  Big Data in 200 km/h | AWS Big Data Demystified #1.3
Big Data in 200 km/h | AWS Big Data Demystified #1.3
 
Making your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data DemystifiedMaking your analytics talk business | Big Data Demystified
Making your analytics talk business | Big Data Demystified
 
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
BI STRATEGY FROM A BIRD'S EYE VIEW (How to become a trusted advisor) | Omri H...
 
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
AI and Big Data in Health Sector Opportunities and challenges | Big Data Demy...
 
Aerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data DemystifiedAerospike meetup july 2019 | Big Data Demystified
Aerospike meetup july 2019 | Big Data Demystified
 
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
ALIGNING YOUR BI OPERATIONS WITH YOUR CUSTOMERS' UNSPOKEN NEEDS, by Eyal Stei...
 
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
AWS Big Data Demystified #1.2 | Big Data architecture lessons learned
 
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | EnglishAWS big-data-demystified #1.1  | Big Data Architecture Lessons Learned | English
AWS big-data-demystified #1.1 | Big Data Architecture Lessons Learned | English
 
AWS Big Data Demystified #4 data governance demystified [security, networ...
AWS Big Data Demystified #4   data governance demystified   [security, networ...AWS Big Data Demystified #4   data governance demystified   [security, networ...
AWS Big Data Demystified #4 data governance demystified [security, networ...
 
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...
AWS Big Data Demystified #3 | Zeppelin + spark sql, jdbc + thrift, ganglia, r...
 
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
 
Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...Amazon aws big data demystified | Introduction to streaming and messaging flu...
Amazon aws big data demystified | Introduction to streaming and messaging flu...
 
AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned AWS Big Data Demystified #1: Big data architecture lessons learned
AWS Big Data Demystified #1: Big data architecture lessons learned
 
Emr spark tuning demystified
Emr spark tuning demystifiedEmr spark tuning demystified
Emr spark tuning demystified
 
Emr zeppelin & Livy demystified
Emr zeppelin & Livy demystifiedEmr zeppelin & Livy demystified
Emr zeppelin & Livy demystified
 

Recently uploaded

multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxVelmuruganTECE
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxachiever3003
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectErbil Polytechnic University
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectssuserb6619e
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentBharaniDharan195623
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 

Recently uploaded (20)

multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Internet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptxInternet of things -Arshdeep Bahga .pptx
Internet of things -Arshdeep Bahga .pptx
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Crystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptxCrystal Structure analysis and detailed information pptx
Crystal Structure analysis and detailed information pptx
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Risk Management in Engineering Construction Project
Risk Management in Engineering Construction ProjectRisk Management in Engineering Construction Project
Risk Management in Engineering Construction Project
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in projectDM Pillar Training Manual.ppt will be useful in deploying TPM in project
DM Pillar Training Manual.ppt will be useful in deploying TPM in project
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Configuration of IoT devices - Systems managament
Configuration of IoT devices - Systems managamentConfiguration of IoT devices - Systems managament
Configuration of IoT devices - Systems managament
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 

Cloud Architecture best practices

  • 1. Cloud Architecture Best practices Omid Vahdaty, Cloud Architect
  • 2. Generic Architecture questions: ● When would you cloudify? ○ opex ○ capacity unclear ○ Elasticity ○ Agility in development
  • 3. Generic Architecture questions: ● When not to cloudify? ○ Network latency ○ Long terms costs ○ Building datacenter is your business ○ Where vendor lockin is important. (offloading terabytes from Amazon??) ○ The architecture of your app is not a match to the clouds best practices. ○ Regulation? ○ Performance considerations. e.g SQream.
  • 4. Generic Architecture questions: ● When would you normalize tables? ○ eliminate redundant data, utilize space efficiently and reduce update errors. ○ in situations where we are storing immutable data such as financial transactions or a particular day's price list.
  • 5. Generic Architecture questions: ● When NOT to NORMALIZE ? ○ Could you denormalize your schema to create flatter data structures that are easier to scale? ○ When Multiple Joins are Needed to Produce a Commonly Accessed View ○ decided to go with database partitioning/sharding then you will likely end up resorting to denormalization ○ Normalization saves space, but space is cheap! ○ Normalization simplifies updates, but reads are more common! ○ Performance, performance, Performance
  • 6. Generic Architecture questions: ● NoSql advantages? ○ Non-relational and schema-less data model ○ Low latency and high performance ○ Highly scalable ○ SQL queries are not well suited for the object oriented data structures that are used in most applications now. ○ Some application operations require multiple and/or very complex queries. In that case, data mapping and query generation complexity raises too much and becomes difficult to maintain
  • 7. Generally speaking - a good architecture? ● stable / HA / DR / graceful failure ● Structure - start with skeleton, and be able to add future components. ● Loosely coupled ● Low complexity on components ● Passes all basic tests ● Use Cases matches Tradeoff of architecture (e.g scale out VS. scale up) - i.e each architecture has advantage and disadvantage ● Performance aspects. ● Maintenance aspects
  • 8. Generally speaking - a good architecture? ● Documented ● Decoupling storage and compute ● API, Services - not Servers.(PaaS VS. Iaas. ) ● TCO ● Hardware considerations ● Network considerations- AWS VS IBM - no money on private network. ● Security considerations
  • 9. Cloud Architecture Best Practices ● Scale out, Stateless, Need a dispatcher ! ■ Pull - Asynchronous event-driven workloads do not require a load balancing solution because you can implement a pull model instead. In a pull model, tasks that need to be performed or data that need to be processed could be stored as messages in a queue using Amazon Simple Queue Service (Amazon SQS) or as a streaming data solution like Amazon Kinesis. ■ Push ( like elastic load balancer or route 53 -)
  • 10. Cloud Architecture Best Practices ● Scale out, Making it stateless ○ web applications can use HTTP cookies to store information about a session at the client’s browser (e.g., items in the shopping cart). The browser passes that information back to the server at each subsequent request so that the application does not need to store it. However, there are two drawbacks with this approach. ■ First, the content of the HTTP cookies can be tampered with at the client side, so you should always treat them as untrusted data that needs to be validated. ■ Second, HTTP cookies are transmitted with every request, which means that you should keep their size to a minimum (to avoid unnecessary latency).
  • 11. Cloud Architecture Best Practices ● Scale out, Making it stateless ○ Consider storing a unique session identifier in a HTTP cookie and storing more detailed user session information server-side. Most programming platforms provide a native session management mechanism that works this way, however this is often stored on the local file system by default. This would result in a stateful architecture. A common solution to this problem is to store user session information in a database. Amazon DynamoDB is a great choice due to its scalability, high availability, and durability characteristics.
  • 12. Cloud Architecture Best Practices ● Scale out, Making it stateless ○ Other scenarios require storage of larger files (e.g., user uploads, interim results of batch processes, etc.). By placing those files in a shared storage layer like Amazon S3 or Amazon Elastic File System (Amazon EFS) you can avoid the introduction of stateful components. Another example is that of a complex multistep workflow where you need to track the current state of each execution.
  • 13. Cloud Architecture Best Practices ● Scaleout, Stateful ○ by definition, databases are stateful ○ “Sticky sessions for HTTP/s” - You might still be able to scale those components horizontally by distributing load to multiple nodes with “session affinity.” In this model, you bind all the transactions of a session to a specific compute resource. You should be aware of the limitations of this model. Existing sessions do not directly benefit from the introduction of newly launched compute nodes. More importantly, session affinity cannot be guaranteed. For example, when a node is terminated or becomes unavailable, users bound to it will be disconnected and experience a loss of session-specific data (e.g., anything that is not stored in a shared resource like S3, EFS, a database, etc.).
  • 14. Cloud Architecture Best Practices ● Elastic resources ○ Kill unused resources ○ Don't use fixed IP unless a must ○ Immutable infrastructure pattern. With this approach a server, once launched, is never updated throughout its lifetime. Instead, when there is a problem or a need for an update the server is replaced with a new one that has the latest configuration. In this way, resources are always in a consistent (and tested) state and rollbacks become easier to perform. ○ Bootstrapping
  • 15. Cloud Architecture Best Practices ● Elastic resources ○ When you launch an AWS resource like an Amazon EC2 instance or Amazon Relational Database (Amazon RDS) DB instance, you start with a default configuration. You can then execute automated bootstrapping actions. That is, scripts that install software or copy data to bring that resource to a particular state. You can parameterize configuration details that vary between different environments (e.g., production, test, etc.) so that the same scripts can be reused without modifications.
  • 16. Cloud Architecture Best Practices ● Elastic resources ○ AMI Images - faster start times and removes dependencies to configuration services or third-party repositories. This is important in auto-scaled environments ○ Convert vmware to ami ○ AWS Elastic Beanstalk and the Amazon EC2 Container Service (Amazon ECS) support Docker and enable you to deploy and manage multiple Docker containers across a cluster of Amazon EC2 instances.
  • 17. Cloud Architecture Best Practices ● Elastic resources ○ AWS Elastic Beanstalk follows the hybrid model. It provides preconfigured run time environments (each initiated from its own AMI) but allows you to run bootstrap actions (through configuration files called .ebextensions 11) and configure environment variables to parameterize the environment differences. ○ Infrastructure as code (cloud Formations): Write code to set up new environments - and keep it versioned.
  • 18. Cloud Architecture Best Practices ● Automation ○ BeansTalk - just add code, scaling, resource are taken care of automatically ○ EC2 auto recovery - coupled with cloud watch - restore to specific state ○ AutoScaling ○ Amazon CloudWatch Alarms with SNS, Those Amazon SNS messages can automatically kick off the execution of a subscribed AWS Lambda function, enqueue a notification message to an Amazon SQS queue, or perform a POST request to an HTTP/S endpoint
  • 19. Cloud Architecture Best Practices ● Automation ○ AWS OpsWorks Lifecycle events: AWS OpsWorks supports continuous configuration through lifecycle events that automatically update your instances configuration to adapt to environment changes. These events can be used to trigger Chef recipes on each instance to perform specific configuration task ○ AWS Lambda Scheduled events: These events allow you to create a Lambda function and direct AWS Lambda to execute it on a regular schedule.
  • 20. Cloud Architecture Best Practices ● API : ○ support backwards compatibility for rollback scenarios. ○ Remeber: services - not servers! ○ Auto scaling included ○ Multi AZ redundancy included
  • 21. Cloud Architecture Best Practices ● Loose coupling - As application complexity increases, a desirable attribute of an IT system is that it can be broken into smaller, loosely coupled component. services are meant to be loosely coupled, they should be able to be consumed without prior knowledge of their network topology details. Loose coupling is a crucial element if you want to take advantage of the elasticity of cloud computing where new resources can be launched or terminated at any point in time. Service discovery while maintaining Loose coupling:
  • 22. Cloud Architecture Best Practices ● Loose coupling Service discovery while maintaining Loose coupling: ○ service discovery via Elastic Load Balancing service. Because each load balancer gets its own hostname you now have the ability to consume a service through a stable endpoint. This can be combined with DNS and private Amazon Route53 zones, so that even the particular load balancer’s endpoint can be abstracted and modified at any point in time. ○ use a service registration and discovery method to allow retrieval of the endpoint IP addresses and port number of any given service. Because service discovery becomes the glue between the components, it is important that it is highly available and reliable
  • 23. Cloud Architecture Best Practices ● Loose coupling Service discovery while maintaining Loose coupling: ○ Asynchronous integrations - This model is suitable for any interaction that does not need an immediate response and where an acknowledgement that a request has been registered will suffice. It involves one component that generates events and another that consumes them. The two components do not integrate through direct point-to point interaction but usually through an intermediate durable storage layer (e.g., an Amazon SQS queue or a streaming data platform like Amazon Kinesis
  • 24. Cloud Architecture Best Practices ● Loose coupling Service discovery while maintaining Loose coupling: ○ Asynchronous integrations - This approach decouples the two components and introduces additional resiliency. So, for example, if a process that is reading messages from the queue fails, messages can still be added to the queue to be processed when the system recovers. It also allows you to protect a less scalable backend service from front end spikes and find the right tradeoff between cost and processing lag. For example, you can decide that you don’t need to scale your database to accommodate for an occasional peak of write queries as long as you eventually process those queries asynchronously with some delay. Finally, by moving slow operations off of interactive request paths you can also improve the end-user experience.
  • 25. Cloud Architecture Best Practices ● Loose coupling Service discovery while maintaining Loose coupling: ○ Graceful failure - Another way to increase loose coupling is to build applications in such a way that they handle component failure in a graceful manner. You can identify ways to reduce the impact to your end users and increase your ability to make progress on your offline procedures, even in the event of some component failure. in practice A request that fails can be retried with an exponential backoff and Jitter strategy or it could be stored in a queue for later processing. For front-end interfaces, it might be possible to provide alternative or cached content instead of failing completely when, for example, your database server becomes unavailable. The Amazon Route 53 DNS failover feature also gives you the ability to monitor your website and automatically route your visitors to a backup site if your primary site becomes unavailable. You can host your backup site as a static website on Amazon S3 or as a separate dynamic environment.
  • 26. Cloud Architecture Best Practices: Serverless ● Serverless architecture (AWS API gateway + lambda) ○ AWS Lambda allows you to write code functions, called handlers, which will execute when triggered by an event. ○ Immediate benefits: easy to maintain, decoupled, and scalable ■ No operating systems to choose, secure, patch, or manage. ■ No servers to right size, monitor, or scale out. ■ No risk to your cost by over-provisioning. ■ No performance impact by under-provisioning.
  • 27. Cloud Architecture Best Practices: Serverless ● Serverless architecture (AWS API gateway + lambda) ○ Optimizations ■ Includes by design, cloudFront in the BE to cache static requests ■ Lower latency ■ Protection against DDoS ○ You can improve the performance of specific API requests by using Amazon API Gateway to store responses in an optional in-memory cache. This not only provides performance benefits for repeated API requests, but it also reduces backend executions, which can reduce your overall cost.
  • 28. Cloud Architecture Best Practices: Databases ● If your application primarily indexes and queries data with no need for joins or complex transactions (especially if you expect a write throughput beyond the constraints of a single instance) consider a NoSQL database instead. ● If you have large binary files (audio, video, and image), it will be more efficient to store the actual files in the Amazon Simple Storage Service (Amazon S3) and only hold the metadata for the files in your database.
  • 29. Cloud Architecture Best Practices: Databases ● Use read replicas to increase read performance ● Use aurora instead of mysql ● If your schema cannot be denormalized consider a relational database instead of noSQL
  • 30. Cloud Architecture Best Practices: HA ● You should aim to build as much automation as possible in both detecting and reacting to failure. You can use services like ELB and Amazon Route53 to configure health checks and mask failure by routing traffic to healthy endpoints. In addition, Auto Scaling can be configured to automatically replace unhealthy nodes. You can also replace unhealthy nodes using the Amazon EC2 auto recovery feature or services such as AWS OpsWorks and AWS Elastic Beanstalk ● Asynchronous replication decouples the primary node from its replicas at the expense of introducing replication lag. This means that changes performed on the primary node are not immediately reflected on its replicas. Asynchronous replicas are used to horizontally scale the system’s read capacity for queries that can tolerate that replication lag. It can also be used to increase data durability when some loss of recent transactions can be tolerated during a failover.
  • 31. Cloud Architecture Best Practices: HA ● Quorum-based replication combines synchronous and asynchronous replication to overcome the challenges of large-scale distributed database systems. Replication to multiple nodes can be managed by defining a minimum number of nodes that must participate in a successful write operation
  • 32. Cloud Architecture Best Practices: DR ● Because of the long distance between the two data centers, latency makes it impractical to maintain synchronous cross-datacenter copies of the data. As a result, a failover will most certainly lead to data loss or a very costly data recovery process. ● Each Availability Zone is engineered to be isolated from failures in other Availability Zones. An Availability Zone is a data center. Availability Zones within a region provide inexpensive, low-latency network connectivity to other zones in the same region ● In fact, many of the higher level services on AWS are inherently designed according to the Multi-AZ principle
  • 33. Cloud Architecture Best Practices: DR ● Because of the long distance between the two data centers, latency makes it impractical to maintain synchronous cross-datacenter copies of the data. As a result, a failover will most certainly lead to data loss or a very costly data recovery process. ● Each Availability Zone is engineered to be isolated from failures in other Availability Zones. An Availability Zone is a data center. Availability Zones within a region provide inexpensive, low-latency network connectivity to other zones in the same region ● In fact, many of the higher level services on AWS are inherently designed according to the Multi-AZ principle
  • 34. Cloud Architecture Best Practices: cost reduction ● User serverless when possible - don't pay for idle. ● Monitoring size of compute ● Turn off unused workloads ● Auto scaling ● Purchasing options - reserved etc. ● Applications can be designed so that they store and retrieve information from fast, managed, in- memory caches ● Edge caching - cloudFront (CDN), S3
  • 35. Stay in touch... ● Omid Vahdaty ● +972-54-2384178