33
Architecting for the Cloud

Cambridge Breakfast Seminar

  • Upload
    nuodb

  • View
    93

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Cambridge Breakfast Seminar

Architecting for the Cloud

Page 2: Cambridge Breakfast Seminar

March 5, 2015

John Treadway, SVP / 617-290-3955 / [email protected]

Architecting for the Cloud

Page 3: Cambridge Breakfast Seminar

• Trusted advisor for enterprises moving to cloud

• 50+ Enterprise Clients – Many F250

• 150+ Engagements – All Referenceable

• Preferred AWS Partner

• Architect and developer experience >20 years

• Proprietary software to accelerate cloud adoption

Cloud Technology Partners at a Glance:

We’re the cloud application and infrastructure experts behind some

of the world’s most advanced cloud computing initiatives.

“Working with Cloud Technology

Partners helps us continually

deliver some of the most

sophisticated, dependable and

secure cloud solutions available

in the market.”

- John Igoe, VP Cloud Security &

Operations

Page 4: Cambridge Breakfast Seminar

It’s a new world for applications…

Page 5: Cambridge Breakfast Seminar

They are…

• Built to run in a single data center

• On servers you control

• And a infrastructure that you pre-provision for peak capacity

Which is expensive

• Using a centralized database

• Where availability relies on resilient infrastructure

• Often in monolithic code blocks with hard-coded

dependencies between functions

The trouble with pre-cloud applications

Page 6: Cambridge Breakfast Seminar
Page 7: Cambridge Breakfast Seminar

Out with the old, in with the new…

AssumptionsArchitectureOperations

Page 8: Cambridge Breakfast Seminar

Assumptions… what your mother said…

• Infrastructure is resilient

• Infrastructure is pre-provisioned

• Infrastructure drives scaling

• Disaster / recovery methods are sound

• Infrastructure is “variable”

• Infrastructure is elastic

• Applications drive scaling

• Continuous availability is the goal (no disaster)

Page 9: Cambridge Breakfast Seminar

Architecture is different

• Monolithic apps are not great, but they work

• Functions that are highly dependent are co-located

• Application portability is hard

• Applications are operated by I&O teams

• Micro services are they way, even if complex

• Functionality should be widely distributed

• Application portability is easy (with Docker)

• Services are operated by developers

Page 10: Cambridge Breakfast Seminar

Operations. Word.

• A VM is a VM is a VM

• Servers are pets

• BAU can work in cloud

• Applications run in a data center

• Clouds are like snowflakes

• Servers are cattle

• Most of what you do will change

• Applications span data centers, regions, borders

Page 11: Cambridge Breakfast Seminar

At your (micro) Service..

Micro services = SOA

Assemble services, not componentsBe asynchronous until you can’tMicro services increase agility, and complexity

Page 12: Cambridge Breakfast Seminar

Horizontal scaling is critical, and hard

The importance of being small

Predictability requires testing and tuning

Where is state managed

When bad things happen to good VMs

Page 13: Cambridge Breakfast Seminar

Resilience – when applications own it

When the application owns its resilience, infrastructure can be less expensive…

Page 14: Cambridge Breakfast Seminar

Globally distributed

Putting the application and the data where the customers live and work

Page 15: Cambridge Breakfast Seminar

Are…

• Built to run across data center, geographies, etc.

• On servers in the cloud

• That you provision when you need them and kill when you

don’t

• Using a distributed cloud database

• Where availability is built in

• Using micro-services, RESTful interfaces

Cloud applications

Page 16: Cambridge Breakfast Seminar

March 5, 2015

John Treadway, SVP / 617-290-3955 / [email protected]

Questions?

Page 17: Cambridge Breakfast Seminar

Architecting for the Cloud

Seth Proctor, CTO@technicallyseth

Confidential and Proprietary

Page 18: Cambridge Breakfast Seminar

What’s unique about “cloud”?

Page 19: Cambridge Breakfast Seminar

Cloud architecture

On-demandScale-out for capacity & availability

Public infrastructure; dynamic provisioning

FlexibleCommodity

Hybrid (public & private)

SimpleMonitoring & management

Platform APIs and automation

Resilient

Page 20: Cambridge Breakfast Seminar

Why a different architecture?

Greater capacity

Cost-effectiveness

Higher availability and better failure-handling

Lower latencies for global deployment

Page 21: Cambridge Breakfast Seminar

Challenges

Distribution brings challengesLots of failures happen with frequency

More difficult to get a global view

Security & data lifecycle is harder

Everything else about “distributed computing”

Still, we can scale most layersLoad-balancers & name services at the top

Horizontally-scaled app servers

Caches & CDNs for content

Redundant disks and object stores

Page 22: Cambridge Breakfast Seminar

Scaling the database is the real challenge

Page 23: Cambridge Breakfast Seminar

Traditional database design

RDBMS architectures start at the diskVertical scale follows

Caching helps, but often breaks consistency

HA systems become very expensive

Schema & operation is hard to evolve

Hard to harness commodity infrastructure

Not designed to scale-out

Page 24: Cambridge Breakfast Seminar

Common options

ReplicationActive-passive or (gulp) multi-master

Replicated data but visible delays & conflict

ShardingSplit one database into many sub-sets

More capacity but hard to evolve and relate

Abandon consistencyPush correctness & conflict to the application

Simpler core architecture but painful for applications and hard to reconcile failures

Page 25: Cambridge Breakfast Seminar

Side-effects

Applications are tied to deploymentHence, dev-ops

Complex for on-demand changes, failures

More, independent pieces

Harder to interpret failures

Complexity

Page 26: Cambridge Breakfast Seminar

Global deployment

Many motivationsDisaster Recovery

Lower-latency for distributed users

Data access & storage residency rules

Trade-offs between latencies and safety

Storage may be a separate concern from interaction

Page 27: Cambridge Breakfast Seminar

Approach Shared DiskShared-

Nothing/ShardedDurable

Distributed Cache

Key Idea Sharing a file system.Independent databases for disjoint subsets of data.

Replicating data in memory on-demand.

Topology

ExampleOracle RAC

DB2 Pure Scale

MySQL Clusterand most NoSQL/NewSQL

solutions

Distributed Database Designs

*Note: Most major web properties include custom-sharded MySQL or sharded PostgreSQL, including Facebook, GOOGLE, Wikipedia, Amazon, Flickr, Box.net, and Heroku.

27

Page 28: Cambridge Breakfast Seminar

Peer to Peer Architecture

P

P P

S3Disk, ...

P

P NuoDB Database Peer Process

Provisioned, Manageable Resources

Peer to Peer Communications

SQL Client

Management Client

SQL Front-EndSQL Optimizer

Transaction Handling

Object CachingObject Coordination

Durability

P

Page 29: Cambridge Breakfast Seminar
Page 30: Cambridge Breakfast Seminar
Page 31: Cambridge Breakfast Seminar

Magic Quadrant 2013

About NuoDB

Magic Quadrant 2013 & 2014

NuoDB delivers a distributed SQL database management system specifically designed for the cloud and the modern datacenter.

Magic Quadrant 2013

Page 32: Cambridge Breakfast Seminar

Summary

When architecting for the cloud..Look for distributed architectures with on-demand capabilities

Layer & abstract to support evolution and react gracefully to failures

Assume your needs will evolve; plan with scale in mind

Please try out NuoDB!http://dev.nuodb.com

Page 33: Cambridge Breakfast Seminar

Thank you!