• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Cloud Computing Design Considerations
 

Cloud Computing Design Considerations

on

  • 1,821 views

A look at design concepts when building solutions in the cloud.

A look at design concepts when building solutions in the cloud.

Statistics

Views

Total Views
1,821
Views on SlideShare
1,644
Embed Views
177

Actions

Likes
2
Downloads
52
Comments
1

3 Embeds 177

http://www.kavistechnology.com 173
http://feeds.feedburner.com 3
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Very nice! Thanks for sharing Mike.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • This presentation discusses various decision points around designing applications and services in the cloud
  • There are many ways to scale applications. In most on-premises systems we scale vertically by increasing memory, disk, and or CPU processing. In the cloud we scale horizontally by distributing the work across more nodes.
  • A key guiding principle to scaling is the notion of independence. We should ensure that an issue in one part of the system is isolated and has no impact on other parts of the system.
  • Each customer should be mutually exclusive so if one customer has a huge uptick of transactions that cause performance issues it is isolated and has no impact on other customers. Likewise, if a module like a reporting system is down or having ussies, you should still be able to bill and server customers from the other modules.
  • Key to doing REST right is not to maintain application state. Instead rely on hyperlinks (HATEOAS)
  • We should not be having a SQL vsNoSQL discussion. It often is SQL and NoSQL. Use the right tool to solve each unique problem.
  • This chart shows where the responsibilities lie between the vendor and the customer
  • When you build you own private cloud you are responsible for it all. Be careful what you ask for.
  • If you use the public cloud you are responsible for the app stack and up
  • If you use PaaS you are responsible for the application and up
  • If you use SaaS you only focus on administration of IDs

Cloud Computing Design Considerations Cloud Computing Design Considerations Presentation Transcript

  • Cloud ComputingDesign ConsiderationsKavis Technology Consulting5-5-13
  • Scalability
  • independence
  • CUSTOMERSTenant 1Tenant 2Tenant 3Tenant 4Tenant 5Tenant 6APPLICATIONSB2C SiteB2B SitePaymentsReportingInventoryBillingNoimpacton otherTENANTSNoimpacton otherAPPLICATIONSCUSTOMERindependenceAPPLICATIONindependence
  • Multi-tenancy
  •  Independence privacy Highest Scalability Highest Cost Minimal reuse Highest ComplexityDatabase ServerApp ServerTenant 1 App Tenant 2 AppTenant 1 Tenant 2Total Isolation
  •  independence privacy optimal Scalability Cost effective Inefficient for small tenants Moderate ComplexityDatabase ServerApp ServerTenant 1 Tenant 2SharedApp2App1Data Isolation
  •  Least complex Most Cost effective Lack of independence performance scalabilityData segregationApp ServerSharedDatabase ServerTenant 1Tenant 2App 2App 1
  • Data segregationApp ServerSharedDatabase ServerTenant 1Tenant 2App 2App 1Database ServerApp ServerTenant 1 Tenant 2SharedApp2App1Data IsolationHybrid approach
  • ClientRequestElasticIP174.23.234.66Internal IP12.345.67.89Internal IP12.345.55.92ResponseStatus 200 - OK<?xml version="1.0" encoding="UTF-8"?><customer id="1"><custno>57832</custno><firstname>John</firstname><lastname>Smith</lastname><address><number>41</number><Main St</street><city>Midtown</city><state>NY</state><zip>12345</zip><country>USA</country></address><email>jsmith@example.com</email><phone>123-456-7890</phone></customer>Get http:/www.mydomain.com/customer/57832Accept: application/xmlResourceStateDoing REST Right
  • ClientRequestResponseStatus 504 – TimeoutElasticIP174.23.234.66Internal IP12.345.67.89Internal IP12.345.55.92RetryResponseStatus 200 - OK<?xml version="1.0" encoding="UTF-8"?><customer id="1"><custno>57832</custno><firstname>John</firstname><lastname>Smith</lastname><address><number>41</number><Main St</street><city>Midtown</city><state>NY</state><zip>12345</zip><country>USA</country></address><email>jsmith@example.com</email><phone>123-456-7890</phone></customer>Get http:/www.mydomain.com/customer/57832Accept: application/xmlGet http:/www.mydomain.com/customer/57832Accept: application/xmlResourceStateDoing REST Right
  • data
  • Right tool for the right job• Physical characteristics• Performance characteristics• Volatility• Volume• Transaction boundaries• Retention period• Regulatory requirements
  • When to use RDbMS OLTP Table based Referential Integrity ACID TransactionsCompany Employees
  • When to use NosqlKey Value Store Best for content caching, Fast lookups Redis, MemcacheDBColumn Store Best for huge data volumes, Fast lookups, Distributed data Cassandra, Hbase Great for static, historical dataDocument Databases Best for versioning various documents and formats CouchDB, MongoGraph Databases Best for complex relationships, social networks Neo, Infogrid
  • Hybrid
  • Security
  • PrivateCloudCustomerowns it all
  • IaaSCustomer isresponsiblefor App Stackand up.
  • PaaSCustomer isresponsibleforApplicationand up.
  • SaaSCustomeronly dealswithadministeringIDs
  • Auditing SSAE-16: SOC 2 ISO 27001 HIPAA PCI Safe harbor Software escrow
  • Auditing
  • Monitoring Security Performance Capacity Uptime Throughput SLA User metrics Kpis Log file analysis
  • Logging
  • IntrusionDetectionTroubleShootingCentralized logging Lock down server access Searchable logs Easier to audit Easier to find patternsLogging
  • Service Level agreementsCustomer demands Uptime Page load time Api response time Reporting times Incident resolution
  • Disaster recovery
  • Disaster recoveryRTO (Recovery Time Objective)“Time to be back up & running”RPO (Recovery Point Objective)“Maximum time in which data is lost”Value“How much money is recovery worth?”
  • Disaster recovery
  • Disaster recovery
  • Disaster recovery
  • Disaster recovery
  • Role of Devops Asset management Policy Enforcement Disaster Recovery Access Controls Monitoring - Operations Deployments– App Dev Support – APP Dev & OperationsOwn Outright Shared Responsibility`
  • Team Roles DevOps Architects App Dev QA Scrum Master Build Management Security Devops Help Desk Computer Operations Account Manager Field Support QA App Dev FinanceDevelopment Support
  • Business ImpactsAccounting/Finance• Capex vs Opex• Pay-as-you-go  Harder to forecast costs• Pricing  Balance revenue with platform costsLegal• More rigorous RFP Process• Regulations – SOC2, PCI, ISO27001, SOX, PII, Safeharbor, software escrow, etc.• Country specific rules on privacy and dataHuman Resources• Cloud requires many new skillsets• Training• Recruiting (skill shortage, remote and global workers)• New incentivesSales• Shorter implementation cycles – Sell and go• Need to understand basics of cloud computing, especially when it comes to defending security• Need to discuss issues like privacy and SLAs
  • Thank Youarticles for each topic at this linkDesign strategies for cloud computing