cloud computing design considerations

Post on 11-May-2015

2.302 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Cloud ComputingDesign Considerations

Kavis Technology Consulting

5-5-13

Scalability

independence

CUSTOMERS

Tenant 1

Tenant 2

Tenant 3

Tenant 4

Tenant 5

Tenant 6

APPLICATIONS

B2C Site

B2B Site

Payments

Reporting

Inventory

Billing

No impact on other TENANTS

No impact on other

APPLICATIONS

CUSTOMERindependence

APPLICATIONindependence

Multi-tenancy

Independence privacy Highest Scalability

Highest Cost Minimal reuse Highest Complexity

Database Server

App Server

Tenant 1 App Tenant 2 App

Tenant 1 Tenant 2

Total Isolation

independence privacy optimal Scalability Cost effective

Inefficient for small tenants Moderate Complexity

Database Server

App Server

Tenant 1 Tenant 2

Shared

App2App1

Data Isolation

Least complex Most Cost effective

Lack of independence performance scalability

Data segregation

App ServerShared

Database Server

Tenant 1

Tenant 2

App 2App 1

Data segregation

App ServerShared

Database Server

Tenant 1

Tenant 2

App 2App 1

Database Server

App Server

Tenant 1 Tenant 2

Shared

App2App1

Data Isolation

Hybrid approach

ClientRequest

Elas

tic IP

174.

23.2

34.6

6

Internal IP12.345.67.89

Internal IP12.345.55.92

Response

Status 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/xml

ResourceState

Doing REST Right

Client

Request

ResponseStatus 504 – Timeout

Elas

tic IP

174.

23.2

34.6

6

Internal IP12.345.67.89

Internal IP12.345.55.92

Retry

Response

Status 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/xml

Get http:/www.mydomain.com/customer/57832Accept: application/xml

ResourceState

Doing 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 Transactions

Company Employees

When to use Nosql

Key Value Store Best for content caching, Fast lookups Redis, MemcacheDB

Column Store Best for huge data volumes, Fast lookups, Distributed data Cassandra, Hbase Great for static, historical data

Document Databases Best for versioning various documents and formats CouchDB, Mongo

Graph Databases Best for complex relationships, social networks Neo, Infogrid

Hybrid

Security

PrivateCloud

Customer owns it all

IaaS

Customer is responsible

for App Stack and up.

PaaS

Customer is responsible

for Application

and up.

SaaS

Customer only deals

with administering

IDs

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

IntrusionDetection

TroubleShooting

Centralized logging Lock down server access Searchable logs Easier to audit Easier to find patterns

Logging

Service Level agreementsCustomer demandsUptimePage load timeApi response timeReporting times Incident resolution

Disaster recovery

Disaster recovery

RTO (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 & Operations

Own 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 Finance

Development Support

Business ImpactsAccounting/Finance• Capex vs Opex• Pay-as-you-go Harder to forecast costs• Pricing Balance revenue with platform costs

Legal• More rigorous RFP Process• Regulations – SOC2, PCI, ISO27001, SOX, PII, Safeharbor, software escrow, etc.• Country specific rules on privacy and data

Human Resources • Cloud requires many new skillsets• Training• Recruiting (skill shortage, remote and global workers)• New incentives

Sales• 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

top related