atmosphere 2014: switching from monolithic approach to modular cloud computing, within the context...

26
Switching from monolithic approach to modular cloud computing Within the context of providing high availability application Maciej Kuźniar, Oktawave

Upload: proidea

Post on 09-May-2015

183 views

Category:

Presentations & Public Speaking


0 download

DESCRIPTION

This presentation is to demonstrate, how the homogenous and centralized network architectures cease to operate efficiently and how limited are our abilities to respond to on-demand computing power in such cases. We will show you how to redesign monolithic storage architectures into modular systems, as well as how to migrate them to a scalable and flexible cloud environment. Maciej Kuzniar - Founder and CEO of the project Oktawave. Passionate about technology related to the processing and data storage, having 10 years of experience working for enterprise customers (banks, telecoms, fmcg). Author of the concepts that support the development of tech startups and architectural solutions to ensure high HA and SLA for IT systems.

TRANSCRIPT

Page 1: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Switching from monolithic approach to modular cloud computingWithin the context of providing high availability application

Maciej Kuźniar, Oktawave

Page 2: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

W h y a re w e u su a l ly n o t p ro g ra m m in g in a s s e m b le r ?

Page 3: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

highly complicated

require strong knowledge

about physical architecture

inconvenient

susceptible for mistakes

Page 4: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Instead, we are commonly using mid & high level

languages, expecting to get proper advantages.

Page 5: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

access to rich

and functional libraries

syntax hints

logical verifcation

loop condition checks

Page 6: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

We sometimes even

switch to

scripting

languages.

fexibility

agile change

managementplatform

independency

Page 7: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

We are looking

for simplifcation.

choosing ready to use ideas/algorithms

choosing ready to use libs/modules

universal interfaces

Page 8: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

And where

do all of these

lead us to?

Page 9: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Your app become

“all-in-one”.

Your app become monolithic.

Your app become

slow.

Page 10: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

And the worst part:

your app is

unpredictable.

Page 11: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Why?

unexpected algorithms behaviour

while in stress

unknown libs/modules interacton/risks

usually undefned ability to scale

undefned total cost

of new product/features inserton

inevitable maintenance breaks

Why?

unexpected algorithms behaviour

while in stress

unknown libs/modules interacton/risks

usually undefned ability to scale

undefned total cost

of new product/features inserton

inevitable maintenance breaks

Page 12: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

So what

can we do

about it?

Page 13: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

You may let your app

to cooperate with others. The others are usually better in their jobs.

Page 14: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Wait a minute. So you

want me to exchange

my beloved algorithms

and libraries

with ready to use

services?

Page 15: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Yes!Swap your

lib with the service

Yes!Swap your

lib with the service

determined performancedetermined performance

determined availabilitydetermined availability

elastic

and fitted costs

elastic

and fitted costs

clear interface clear interface

Page 16: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

All right, smart guy.

But where are the examples?

Page 17: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

There are tons of ready to use

services.

In the cloud!

object

storage

databases

messaging

in-memory cache

real-time processing

Big data

DNS

Page 18: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Object storage

tons of static data stored in the cloud

remotely & on-demand

short data processing chain

(browser <->storage)

lower processing latency

embedded ACL

separating data from application processing

physical security by replication

simple REST API

charged by used space

Page 19: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Databases

predictable performance

vertical and horizontal

scalability

including smart

load balancing option

SQL compatible

easy to deploy

charged

by computing power

& used space

Page 20: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Messaging

persistent and secure

message storing

easy to publish

or consume messages

simplifed communication

between participants

ability to separate

application modules while keeping communication between

charged by message count

Page 21: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Real-time

in memory caching

usually compatible with memcached or redis

improve application performance

by storing critical in low-latency memory

may be use as cache for database queries result, session handling, intensive

calculation results

include replication option

ability to build multi-node

cache cluster with simple API/interface

charged by size of memory granted

Page 22: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Real-time

processing

can collect and process hundred of terabytes hourly

data can be collected from hundreds of thousands of sources

allows to to easily write applications that process information in real-time from sources such as web site click-streams, marketing and fnancial information

can be use for marketing and fnancial information, manufacturing instrumentation and social media, and operational logs, metering data, mobile devices

ability to continuously analyse data at any volume and throughput, in real-time

charged by memory consumption and CPU usage

Page 23: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Big data

usually for batch processing

of large amount of data

throgh standardised interface

with cloud - instant availability

(without expensive

on-site infrastructure goods)

unlimited scalability

charged hourly by granted space and computational power

Page 24: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

SMART Anycast DNS

spread DNS trafc across multiple physical locations

answer provided by location with the fastest path

by constantly monitoring (watch.oktawave) ability to failover one or more servers running your application

Embedded round-robin and response time load balancing across geo regions or servers inside one datacenter

Mixed weight & response time load balancing

Smart load balancing based on .js script included in your site which:

collect speed counters directly on customer browser and transfer them DNS engine (browser response time)

GeoIP analytics

BGP latency calucations

charged by queries count

Page 25: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

S e e h ow m a n y fu n c t io n s o f y o u r a p p l ic a t io n c a n b e e xe cu te d o n th e o u ts id e . Ju s t re la x a n d fo c u s o n w h a t is t r u ly im p o r t a n t to y o u .

Page 26: Atmosphere 2014: Switching from monolithic approach to modular cloud computing, within the context of providing high availability application - Maciej Kuzniar

Thank you !

V isit our site :w w w .o ktaw ave.co m(25 zł for tests for everyb od y!)