0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

39
© 2014 IBM Corporation Introduction to Cloudant

description

IBM Mobile solutions for iOS and other platforms

Transcript of 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

Page 1: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation

Introduction to Cloudant

Page 2: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation2

Agenda

� Introducing Cloudant

�Aside: Primer on NoSQL & DBaaS

�Features and Functionality

�Use Cases and Customer Examples

�Next Steps

�Q&A At Anytime

Page 3: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation3

Simple to use…but feature-rich

Scales…massively

Available….always

3

A fully-managed data layer service for web and mobile applications � NoSQL DBaaS

Page 4: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation4

What is NoSQL Really?

Actual: “Not only SQL”

Better: Non-Relational

New ways of storing and querying data

beyond the RDBMS

The Rise of Polyglot Persistence

Why NoSQL?

1. Scalability

2. Flexible Schema

3. Fast Development

4. Cost

5. Cloud Architecture Compatibility

Page 5: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation55

Recommended Reading - NoSQL

NoSQL Distilled Seven Databases in Seven Weeks

Page 6: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation6

ROI: DIY vs. Hosted DB vs. DBaaS

Hardware

Software

Admin

Design

Software

Admin

Design

Design

DIYDIY HostedHosted DBaaSDBaaS

Aside:Why

Database-as-a-Service

(DBaaS)?

Page 7: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation

Cloudant Features & Functionality

Page 8: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation8

The Cloudant Data Layer

− Best-of-Breed NoSQL Database and Clustering Technology

− Managed 24x7x365 by DevOps Experts

− Global Data Presence in 35+ Data Centers

8

Page 9: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation9

Cloudant Overview

− Operational Data Store

− NoSQL Document Database

− Simple and well-defined HTTP API

− Fully Integrated:

• Replication & Sync

• MapReduce for Real-time Analytics

• Full-Text Search

• GeoSpatial

− Multi-tenant and dedicated-tenant clusters

− Monitoring, administration, & development Dashboard

− Powered by Apache CouchDB, Dynamo Clustering, LuceneSearch, and a whole lot more…

9

Page 10: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation1010

Document Database Basics

• Documents are stored in the popular JSON format with a flexible schema

• A database is a logical collection of documents, with single set of access permissions

• Cluster can hold any number of databases

Page 11: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation1111

Cloudant Cluster – Durable, Available & Scalable

• Horizontally scalable

• Data is auto-sharded across cluster

• All data stored in triplicate

• Built using a master-master design so no single point of failure for reads or writes

• Cross-data center replication

• Geo-load balancing for user access to data closest to them

Page 12: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation1212

Developing with Cloudant

• Dashboard

• HTTP RESTful API

• Language Agnostic

• Compatible with open source Apache CouchDB

• Cloudant and CouchDB-compatible API Libraries

Page 13: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation13

IaaS

PaaS

Cloud Agnostic Ecosystem

13

Page 14: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation

Use Cases and Customer Examples

Page 15: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation15

Typical Data Layer Challenges

� Cloudant Customers lean on Cloudant to solve many data layer challenges

� Exponentially growing user base

� Relational database isn’t scaling

� Do-it-yourself database proved to be a challenge

� No budget, time, or skill set for administration

� Building an application from scratch with unknown capacity requirements

� Need simple and fast development

15

Page 16: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation16

Case Study: FitnessKeeper

16

FitnessKeeper:

•Relational DB wasn’t scaling

•Simplify operations and development

•Reduce costs

� Creator of fitness tracking mobile app RunKeeper

� Started off with a relational database (PostgreSQL)

� Explosive growth (> 20 million active users) resulted in scalability issues

� Want their team to focus on user experience and front-end development

� Started migration to Cloudant last year

� Built new BreezeAppexclusively on Cloudant

Page 17: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation17

Case Study: Fidelity Investments Fidsafe

17

FidSafe evaluated:

•MySQL (too costly to horizontally

scale)

•DynamoDB (too hard to manage)

•Couchbase (not compatible with

CouchDB)

•Cloudant (choice due to

simplicity and service)

� Online secure store for important docs (wills, legal docs, etc.) that is practical, secure, and collaborative.

� Evaluated other DB’s but chose Cloudant

� Hybrid Cloud application built on:

− Qooxdoo

− Node.js (Express)

− S3

− Cloudant

Page 18: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation

Next Steps

Page 19: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation1919

Sign Up!

1. Sign up at https://cloudant.com/sign-up

2. Use the Dashboard to start creating databases and documents!

3. Access your account at https://<account>.cloudant.com

4. Check out Cloudant docs

5. Go through the For Developers tutorials

6. Contact Us: [email protected] or #cloudant on IRC

Page 20: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation2020

Cloudant Account Types

Multi-Tenant Dedicated

Details

• Sign up online• Shared hardware• Choose from among 8 data

centers around the world

• Dedicated cluster of servers for a specific customer

• Data center or data centers of choice

• SLA, Cross-DC Replication, and Cluster Management

Use Cases

• Evaluation & Learning• Functional Testing• Small Production Launches

• POC for Prod Launch• Performance Testing• Production Environments

Pricing

• Free if under $5/month• Pay per Usage

• Storage: GB/month• Usage: HTTP requests

• Priced Per Node• 3 Nodes to Start (N=3 Minimum)• Bare-metal vs. AWS• Includes Gold Support (24x7)

Page 21: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation21

Cloudant’’’’s DNA

Combines best OS technology & thinking to create most scalable, flexible, always-on DBaaS for big mobile and the internet of things

Graphite &

RiemannMonitoring

ChefConfiguration

Management

rsyslogFederated Logging

CollectDContinuous

Integration

CouchDBJSON storage, API,

Replication

DynamoClustering, Scaling,

Fault Tolerance

LuceneText indexing &

Search

HaproxyGeo-Load Balancing

GeoJSONGeospatial indexing &

query

JenkinsContinuous

Integration

Page 22: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation22

The Cloudant DBaaS Stack

Visualization

Lucene

Search

Chainable MapReduce

Management Monitoring

IOQ

Apache CouchDB

Docs: JSON,Attachments

Developer APIs

Prioritizing IO types; prevents “noisy neighbors” in multi-tenancy

Clustering API, Sharding, Intra-cluster messaging

JSON Doc Store, HTTP API, GET/PUT docs, Views, Replication…

= Cloudant

built/integrated

Horizontal Clustering Framework

22

GeoSpatialIndexing

Geo-Load Balancing Connects users to closest copy of data

Dashboards: Monitoring, Admin, Development

Page 23: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation2323

IBM Contributions to Open Source

Page 24: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation24

IBM has embraced Open Source since 1960s!

2

Page 25: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation25

Application Architecture with Cloudant

25

Page 26: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation26

Querying Data - Choices

26

Primary Index Secondary Index Search Index Geospatial Index

• Exists for every database “OOTB”, stored in a b-tree

• Primary key � doc._id

• Use when you can find documents based on their _id

• Built using MapReduce, stored in a b-tree

• Use when you need to analyze data or get a range of keys

• Ex: count data fields, sum/average numeric results, advanced stats, group by date, etc.

• Built using Lucene

• Unique to Cloudant (not in CouchDB)

• Ad-hoc queries

• Find documents based on their contents

• Can do groups, facets, and geo (bbox & sort by distance)

• Unique to Cloudant, stored in R* tree

• Complex geometries (polygon, circularstring, etc.)

• Advanced relations (intersect, overlaps, etc.)

• GeoJSON

Page 27: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation27 27

LocalStorage

LocalStorage

� Store data on the servers and/or the local device

� Native libraries built to support synchronization process and local storage management

� Synchronize the data between devices by pushing/pulling data from Cloudant

Store and Access Data Everywhere

Page 28: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation28 28

Putting Data on the Edge

� Geographically disperse your data across multiple data centers to allow for easy access depending on location

� Ability to store data across 35 geographic locations

Page 29: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation29 29

LocalStorage

� Read/Write from local storage when connection is unavailable

� Restored connection will sync the data to the server as well as other devices connected to same source

� Ensures data integrity through revision history replication

Continuously On….

Page 30: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation30 30

� Ability to isolate data to the individual on the local device and server

� Limit overall network activity by syncing only data pertinent to those users and their devices

� Easily share data across devices based on user access

Simplify and Distribute More Efficiently

Page 31: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation31 31

Sync Any Device using JSON over HTTP

JSONCloudant

HTTP

JSON

HTTP

JSON

HTTP

JSON

HTTP

JSON

HTTPJSON

HTTP

Page 32: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation32

Cloudant Geospatial

32

� Combines the advanced geospatial analyses of GIS with the flexibility, scalability, and data sync of Cloudant.

� Scale for data size, concurrent users, and multiple locations� Deliver local access to geospatial data and analyses

� Extends existing GIS applications to the geospatial edge

� Example: https://normanb.cloudant.com/colorado_skiing/geo/demos/cloudant/index.html

Page 33: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation33

Cloudant in the Market – DBaaS Managed Service

� How does Cloudant’s service fit in the database market?

Hosted

Do-it-yourself (DIY)

RDBMS / SQL NoSQL

Managed

MongoDB

CouchDB

CouchBase

Cassandra

Riak

SQL

Oracle

MySQL

PostgreSQL

AWS SDB

AWS RDS

Other SQL solutions on

Rackspace, etc.

Amazon -DynamoDB

Page 34: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation34

Cloudant & IBM’s Big Data Portfolio

IBM is unique in having developed an enterprise class big data and analytics platform that allows you to address the full spectrum of big data business

challenges. Cloudant provides another leading solution to the already market-leading portfolio.

Cloudant integration with other IBM Big Data Products:

� BigInsights is IBM’s Hadoop platform for analytics

− Cloudant is complementary to BigInsights

− Data from Cloudant can be copied into BigInsights for analytics as part of the Watson Foundations zone based architecture

� DB2 BLU is IBM’s in-memory high performance relational database system (RDBMS) for analytics

− Cloudant is complementary to DB2 BLU

− Data can from Cloudant can be loaded into DB2 BLU directly for analytics or via the BigInsights landing zone as part of Watson Foundations

Page 35: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation35

Why Companies Use Cloudant DBaaS

� Scales massively & elastically

− Handle millions of daily active users

� Guaranteed performance & up time

− Removes risk of project & SLA delivery failure

� More agile development for web & mobile

− No rigid schemas to slow development

� Managed for you 24x7

− Stay focused on new development, not DB administration

Build More. Grow More. Sleep More.

Cloudant empowers clients from all verticals to get their applications to market faster in a cost-effective, hassle-free delivery model with guaranteed performance and support.

Page 36: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation36

Joel DeYoung

Co-Founder & Director of Technology; Hothead Games

“Our code handles

hundreds of millions of

transactions a day.

Moving our data to

Cloudant has freed up our

team to focus on what

matters most: making a

great experience for users. ”

scales globally ondemand with fullymanaged services

Page 37: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation37

Samsungachieves scalability and

flexible schemas for its data

Hyuk-Jeen Suh, Senior Investment Manager; Samsung

“Samsung Ventures believes

a globally distributed data layer and management

of that data is especially critical for large enterprise

businesses.”

Page 38: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation38

Postmarkgains 5x in data storage for

identical server footprint

Chris Nagele, Postmark

“Goodbye MongoDB, Hello Cloudant.

We were looking for a solution that

would allow us to scale easily and

something that fit in with our existing infrastructure.

Cloudant was a perfect fit.

Page 39: 0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

© 2014 IBM Corporation39

Novartissuccessfully manages clinical trial data with high availability,

stability, and security

John Walker, IT Director for Novartis

“Everything is incremental in the Cloudant world, so we only have

to [execute] operations on the small amount of data that’s

changing each day. Processes that were occurring in the realm of

ten to twelve hours, we have down to minutes.”