concur + swift

33
DAN WILSON Global Operations Architecture, Concur [email protected] @tweetdanwilson JOE ARNOLD CEO, SwiftStack [email protected] @joearnold November 7, 2013 OpenStack Summit Hong Kong

Upload: phamcong

Post on 13-Feb-2017

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Concur + Swift

DAN WILSONGlobal Operations Architecture, Concur

[email protected] @tweetdanwilson

JOE ARNOLDCEO, SwiftStack

[email protected]

@joearnold

November 7, 2013

OpenStack Summit Hong Kong

Page 2: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift: Introduction

OpenStack Swift

Concur User StorySwift + Global Replication

Global Replication in Swift

Introduction (Concur / SwiftStack)

Page 3: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

An Introduction to Concur!

•  Leader in integrated travel and expense management"–  Founded in 1993, headquartered in Redmond, Washington, U.S."–  >50% of Fortune 500 use Concur"–  >$50B in T&E spend"

•  Some of you in the audience will be expensing this trip with us!"

Page 4: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

What is OpenStack Swift?

Reliable Highly scalable Hardware proof

Storage created specifically for heavy use and unstructured data

Page 5: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

What is SwiftStack?Flexible, private cloud storage for today’s applications

Start fast, operate easy

Simplicity at scale

No lock-in

Standard Linux Distribution Any Linux admin can install Ubuntu, Red Hat, CentOS

Standard Hardware Multiple channels hardware procurement

Swift Runtime Integrated storage engine with all node components

Integrations & Interfaces End-user web UI, legacy interfaces, authentication,utilization API, etc.

OpenStack Swift Released and supported by SwiftStack

Operates, manages & monitors hardware, storage software & middleware

SwiftStack Controller

3

1

2

2

Foundation

Integration

Control

1

2

3

SwiftStack NodesSTORAGE POWERED BY

Page 6: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift: Introduction

OpenStack Swift

Concur User StorySwift + Global Replication

Global Replication in Swift

Introduction (Concur / SwiftStack)

Page 7: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Reliable

Highly scalable

Hardware proof

Swift’s Design Goals

No Single Point of Failure (High Availability) Assumes unreliable hardware Mix & match hardware vendors

Configurable replica model with zones & regions Easy to use HTTP API – Developers don’t shard High Concurrency (Supports lots of users)

Multi-tenant – each account has own namespace Tier & scale any component in the system

HTTP

http://example.com/v1/account/container/object

Page 8: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift

HTTP

HTTPUsers

Direct to Clients Data is sent directly over HTTP to a browser, mobile device, etc. Broad Language Support

• Java

• Javascript

• Python

• C#

• Ruby

• PHP

• Node.js

In the data center Servers contact the storage system

Application Data

Backups / Archive

Log Data

Services & Software Filesystem Gateways

Desktop Clients

Backup Software

Archive Software

Filesharing Software

Servers

Page 9: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

2009 2010 2013

• Object storage system similar to Amazon S3

• Apache 2 License

OpenStack Object Storage (code named Swift)

136+

DEVELOPERS

MATURE, PRODUCTION-GRADE STORAGE SYSTEM

2011 2012 2014

Public Clouds

Global Replication

Storage Policies Erasure Codes

Page 10: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift Ecosystem

Page 11: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift: Introduction

OpenStack Swift

Concur User StorySwift + Global Replication

Global Replication in Swift

Introduction (Concur / SwiftStack)

Page 12: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Scale = Tens of Millions of Images Monthly

Page 13: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Concur Imaging Application: Previous Workflow

Images processed first, then stored Extract data, resize, etc.

!Core part of the business

Disaster tolerance a must

!Handling objects vs. files

Minimal difference for developers

Page 14: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Node 1!

Node 2!

Node 3!

••••!

NodeN!Swift

Stac

k C

lust

er!Node 1!

Node 2!

Node 3!

••••!

NodeN!

Imag

ing

Serv

ers!Node 1!

Node 2!

Node 3!

••••!

NodeN!

Que

ue!

Image Processing (sequential, scalable)!

Node 1!

Node 2!

Node 3!

••••!

NodeN!

Scan!

Convert!

Thumb!

Reduce!

OCR!

Processed Files!

Processed Files!

Processed Files!

Processed Files!

Processed Files!

Imaging Server! SwiftStack!

Upload!

Fax!

Concur Imaging Infrastructure

Linear image processing Mixed stack including Microsoft !

Designed for flexibility Abstracted services !

3-tier architecture Web, application, database !

Images encrypted individually Flexibility to use any storage

Page 15: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Challenges with Traditional SAN/NAS

���15

Availability

• Handling failures of a single-node

Black box when troubleshooting

• Limited visibility, reliant on vendor

Performance

• Unbalanced performance • Each application server goes

to the same node when reading/writing data

Cost

• Tied to specific vendor pricing

Page 16: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Global Cluster SetupAvailability

• Two site replication strategy • Designed for failure

Zone 1 Zone 2 Zone 1 Zone 2

Region 1 Region 2

Performance

• Quickly acknowledged writes • Local Reads

Page 17: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Open Source

• Storage functions entirely open source

• Go under the hood

Open Stack

• Open community • Give back

Flexibility

• Can choose private, public • Future proof infrastructure

Visibility under the hood

Ecosystem Partners

• Many choices in the ecosystem

Page 18: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Scalability

• Standard Server Hardware • Scale by adding nodes

Hardware Configuration

36-drive 4U storage node Intel Xeon Processor

Seagate Constellation SATA or SAS Disks

LSI HBA Controller + Expanders

96 GB RAM

Mirrored boot drives

Dual 10GbE Intel NIC

1U Proxy Node Dual Intel Xeon Processor

48 GB RAM

Mirrored boot drives

Dual 10GbE Intel NIC

Page 19: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

TCO - Less Expensive than Public Cloud

• 4 replicas for redundancy (2 in each data center)All the power / space / cooling costs

• Our management costs • SwiftStack + other license costs

$0.027 per GB / Mo.

Less expensive than public cloud.

Less expensive than traditional storage.

Page 20: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Ready for BILLIONS of Images in the Future!

What this means for the business

• Best experience for our users as possible.

• Amass data in a cost-effective way

What this means for our architecture

• Business growth forced finding a better way

• Architecture can now support growth

OpenStack Swift + global cluster functionality, enables us to achieve these goals.

Page 21: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

OpenStack Swift: Introduction

Concur User StorySwift + Global Replication

Global Replication in Swift

Introduction (Concur / SwiftStack)

OpenStack Swift

Page 22: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Multi-Site with OpenStack SwiftGlobal Clusters

Page 23: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Data placement: as unique as possible

Single Node ClusterDisks are “as-unique-as-possible”

Small ClusterStorage Nodes are “as-unique-as-possible”

Large ClusterStorage Racks are “as-unique-as-possible”

Muti-RegionDistributed data centers are “as-unique-as-possible”

Global Clusters

Page 24: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Zone 1 Zone 2

Data Center Zones

Page 25: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Zone 1 Zone 2 Zone 1 Zone 2

Region 1 Region 2

Regions & Zones

Page 26: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Distribute data across data center regions and zones Software automatically routes around storage or network failures

Tolerate failures across regions and data center zones

Utilize all available capacity to serve users vs. Traditional DR

Send requests to ‘closest’ region

Region 1 Region 2 Region 3

Global Clusters

Page 27: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Affinity Write

Region A Region B Region C

Global Clusters

Page 28: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Write

Read

Client Request

Storage Request

Proxy

Storage

Storage

Storage

Proxy streams writes to each storage location simultaneously

There is not a ‘master’ object

Client receives ‘OK’ if quorum write successful

Proxy contacts a single available storage node and streams back data

Will try alternate replicas when there is failures

Proxy Service

Page 29: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Proxy Read Affinity

Region A Region B

Proxy Prioritizes “Nearby” Zone / Region, Where am I?

Latency to Storage Node

Global DNS

Global DNS Routes User Each proxy pool has it’s own hostname

Routes users to closest region

Page 30: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Separate Replication Network

QoS

Replication/WAN

Page 31: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Next: Storage Policies

2 3 4 5

APAC + West

Across Regions

Various Media

Number of Replicas

Regions

Media

SSDHDD

Replica Count

East CoastWest Coast APAC

High throughput East Coast

Page 32: Concur + Swift

Property of SwiftStack Inc.

Property of SwiftStack Inc.

Reduce Storage Footprint

Pluggable encoding schemes

http://swiftstack.com/blog/2013/07/17/erasure-codes-with-openstack-swift-digging-deeper/

Erasure Codes Intel isa-l Reed Solomon 6+3

2 3 4 5

Reduced Storage Footprint

Regions

Media

SSDHDD

Replica Count

East CoastWest Coast APAC

Next: Erasure Codes

+ +

Page 33: Concur + Swift

DAN WILSONGlobal Operations Architecture, Concur

[email protected] @tweetdanwilson

JOE ARNOLDCEO, SwiftStack

[email protected]

@joearnold

Thank You!

OpenStack Summit Hong Kong