0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

966 views

Published on

IBM Mobile solutions for iOS and other platforms

Published in: Technology
  • Be the first to comment

0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2

  1. 1. © 2014 IBM Corporation Introduction to Cloudant
  2. 2. © 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
  3. 3. © 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
  4. 4. © 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
  5. 5. © 2014 IBM Corporation5 5 Recommended Reading - NoSQL NoSQL Distilled Seven Databases in Seven Weeks
  6. 6. © 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)?
  7. 7. © 2014 IBM Corporation Cloudant Features & Functionality
  8. 8. © 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
  9. 9. © 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, Lucene Search, and a whole lot more… 9
  10. 10. © 2014 IBM Corporation10 1 0 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
  11. 11. © 2014 IBM Corporation11 1 1 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
  12. 12. © 2014 IBM Corporation12 1 2 Developing with Cloudant • Dashboard • HTTP RESTful API • Language Agnostic • Compatible with open source Apache CouchDB • Cloudant and CouchDB-compatible API Libraries
  13. 13. © 2014 IBM Corporation13 IaaSPaaSCloud Agnostic Ecosystem 1 3
  14. 14. © 2014 IBM Corporation Use Cases and Customer Examples
  15. 15. © 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 1 5
  16. 16. © 2014 IBM Corporation16 Case Study: FitnessKeeper 1 6 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 BreezeApp exclusively on Cloudant
  17. 17. © 2014 IBM Corporation17 Case Study: Fidelity Investments Fidsafe 1 7 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
  18. 18. © 2014 IBM Corporation Next Steps
  19. 19. © 2014 IBM Corporation19 1 9 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: support@cloudant.com or #cloudant on IRC
  20. 20. © 2014 IBM Corporation20 2 0 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)
  21. 21. © 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 & Riemann Monitoring Chef Configuration Management rsyslog Federated Logging CollectD Continuous Integration CouchDB JSON storage, API, Replication Dynamo Clustering, Scaling, Fault Tolerance Lucene Text indexing & Search Haproxy Geo-Load Balancing GeoJSON Geospatial indexing & query Jenkins Continuous Integration
  22. 22. © 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 2 2 GeoSpatial Indexing Geo-Load Balancing Connects users to closest copy of data Dashboards: Monitoring, Admin, Development
  23. 23. © 2014 IBM Corporation23 2 3 IBM Contributions to Open Source
  24. 24. © 2014 IBM Corporation24 IBM has embraced Open Source since 1960s! 2
  25. 25. © 2014 IBM Corporation25 Application Architecture with Cloudant 25
  26. 26. © 2014 IBM Corporation26 Querying Data - Choices 2 6 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
  27. 27. © 2014 IBM Corporation27 27 Local Storage Local Storage 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
  28. 28. © 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
  29. 29. © 2014 IBM Corporation29 29 Local Storage 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….
  30. 30. © 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
  31. 31. © 2014 IBM Corporation31 31 Sync Any Device using JSON over HTTP JSON Cloudant HTTP JSON HTTP JSON HTTP JSON HTTP JSON HTTP JSON HTTP
  32. 32. © 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
  33. 33. © 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
  34. 34. © 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
  35. 35. © 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.
  36. 36. © 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 on demand with fully managed services
  37. 37. © 2014 IBM Corporation37 Samsung achieves 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. ”
  38. 38. © 2014 IBM Corporation38 Postmark gains 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. ”
  39. 39. © 2014 IBM Corporation39 Novartis successfully 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. ”

×