NoSQL and Cloud Services - Philip Balinow, Comfo

26
Introduction into Cloud Computing [email protected] DevOps Engineer

Transcript of NoSQL and Cloud Services - Philip Balinow, Comfo

Page 1: NoSQL and Cloud Services -  Philip Balinow, Comfo

Introduction into Cloud Computing

[email protected] Engineer

Page 2: NoSQL and Cloud Services -  Philip Balinow, Comfo

SOME DEFINITIONS

def. CLOUD COMPUTING

def. BIG DATA

Page 3: NoSQL and Cloud Services -  Philip Balinow, Comfo

SOME DEFINITIONS

def. CLOUD COMPUTING - distributed computing over a network- the ability to run a program or application on many connected computers at the same time.

def. BIG DATA- data sets so large and complex that it becomes difficult to process using traditional data processing applications

Page 4: NoSQL and Cloud Services -  Philip Balinow, Comfo

SOME DEFINITIONS, CONTD.

Q: No, seriously. What is the Cloud?

A: Well, there are three types

Infrastructure-as-a-Service

Platform-as-a-Service

Software-as-a-Service

Page 5: NoSQL and Cloud Services -  Philip Balinow, Comfo

THE CLOUD – PROS AND CONS

WHY CLOUD COMPUTING IS SO GREAT

Better hardware utilization

Economy of scale

Usage-based pricing

In-built resilience (here be monsters)

No front-up costs

No long-term contracts

Page 6: NoSQL and Cloud Services -  Philip Balinow, Comfo

Retail

Finance

E-Commerce

Telecommunication

B2B

Publishing/Media

Government & NGO

Automotive

Travel

KOMFO'S CLIENTS

Page 7: NoSQL and Cloud Services -  Philip Balinow, Comfo

KOMFO PLATFORM WORKFLOW OVERVIEW

Page 8: NoSQL and Cloud Services -  Philip Balinow, Comfo

EXTERNAL PROVIDERS

Page 9: NoSQL and Cloud Services -  Philip Balinow, Comfo

OUR TECHNOLOGY

PHP, Python, C

MySQL

MongoDB, Elasticsearch

Javascript (node.js)

Ruby

Freedom to use any tool fit for the job

Page 10: NoSQL and Cloud Services -  Philip Balinow, Comfo

KOMFO MAIN CHALLENGES

Continuously changing workload

Fast feature changes

BigData

(Predictive) Analytics

Security

Availability

Page 11: NoSQL and Cloud Services -  Philip Balinow, Comfo
Page 12: NoSQL and Cloud Services -  Philip Balinow, Comfo

HOW TO USE THE CLOUD

Automation

Horizontal scaling

Break tasks into many small sub-tasks

Synchronize all the workers

Write for eventual consistency

Page 13: NoSQL and Cloud Services -  Philip Balinow, Comfo

HOW TO USE THE CLOUD

Beware! There are traps*

*Minimally shared with fair weighting. Allows burst when idle resources are available. In rare cases, resources may be throttled back under heavy host contention.

–**Disk I/O is shared across the host.

–***A vCPU corresponds to a physical CPU thread.

Page 14: NoSQL and Cloud Services -  Philip Balinow, Comfo

HOW TO USE THE CLOUD

There are more traps*

Coordinate tasks – good messaging

system (AMQP, DB, MemCached)

Asynchronous task execution (see

above, also API Callback hooks)

Implement transactions in software

Page 15: NoSQL and Cloud Services -  Philip Balinow, Comfo

CLOUD ARCHITECTURE

Messaging

Ensure communication between dynamic

number of nodes

Message-oriented middleware

Exactly-once delivery

At-least-once delivery

Transaction-based delivery

Timeout-based delivery

Page 16: NoSQL and Cloud Services -  Philip Balinow, Comfo
Page 17: NoSQL and Cloud Services -  Philip Balinow, Comfo

MIX & MATCH

Crunch numbers in the cloud

Application servers

Slow running tasks

Temporary services

Test servers

Automation – automatic deployment of multi-

tiered environments

Page 18: NoSQL and Cloud Services -  Philip Balinow, Comfo

MIX & MATCH, CONTD.

Traditional servers for:

Incompatible apps (single-threaded, memory,

disk intensive, specialized hardware) do not

work well in cloud environments

Database servers are best kept on dedicated

machines

Page 19: NoSQL and Cloud Services -  Philip Balinow, Comfo

OK, so we have an (endlessly) scalable cloud app now.

What are we forgetting?

Page 20: NoSQL and Cloud Services -  Philip Balinow, Comfo

DATABASES, NOSQL

def. NoSQL a mechanism for storage and retrieval of data

that is modeled in means other than the tabular relations used in relational databases.

Page 21: NoSQL and Cloud Services -  Philip Balinow, Comfo

DATABASES

Postgres, Hadoop, MongoDB, Cassandra, Riak

In-memory dataset for faster operation

No predefined structure

Integrated sharding, load-balancing and failover

Versatility - can be used for anything from data

storage to real-time messaging to search indexes

Page 22: NoSQL and Cloud Services -  Philip Balinow, Comfo

DATABASES

Use the best tool for the job depending on the task

NoSQL Advantages

Some sources generate a lot of data

Complex interconnections, cyclical

dependencies

Aggregations must be performed on both new

and old data

Structure of foreign sources may change on

short notice

Page 23: NoSQL and Cloud Services -  Philip Balinow, Comfo

DATABASES

Use the best tool for the job depending on the task

NoSQL Disadvantages (Classic SQL advantages)

Not ACID compliant

No transactions

No relations between data

Lack of structure means aggregations are slow

Page 24: NoSQL and Cloud Services -  Philip Balinow, Comfo

DATABASES, LONG TERM STRATEGY

Data quickly becomes irrelevant

Archive it, but keep it accessible

Online Data Warehouse solutions

Amazon Redshift

Keep Everything

Terabytes for pennies

Page 25: NoSQL and Cloud Services -  Philip Balinow, Comfo

Summary

The cloud rocks, mmkay?

Page 26: NoSQL and Cloud Services -  Philip Balinow, Comfo

Questions?