Intro to Cloud Computing

chirpskulkInternet and Web Development

Nov 3, 2013 (3 years and 9 months ago)

90 views

Intro to Cloud Computing

1

Who am I?

Sergejus
Barinovas


Software Architect at
Adform


Email
:
sergejus.barinovas
@[
adform|gmail
].com

Blog
:
http://sergejus.blogas.lt

Twitter
: @
sergejusb

2

Disclaimer

We do use
Cloud Computing
internally and
we want to share our experience with you!

3

“The
global cloud computing market to reach
$
241B

in
2020 compared to
$
40.7B

in
2010”

Forrester Research

5

Gartner top
10
strategic technologies
for
2012
:

Media
Tablets and Beyond, Mobile
-
Centric Applications and Interfaces, Contextual and Social User Experience, Internet of Things,
App Stores and Marketplaces, Next
-
Generation Analytics, Big Data, In
-
Memory Computing, Extreme Low
-
Energy
Servers
,
Cloud Computing

6

7


Cloud computing

is the provision of
dynamically
scalable

and often
virtualized

resources
as a
service

over the Internet
on a utility basis


Cloud is

scalable,


elastic
(
dynamic resources
),


available as
-
a
-
service,


based on utility
billing (
pay for what you use
)

8

So, basically Cloud is …

… elastic scalable compute resources on demand

9

But more important …

… Cloud
is not a technology,

it
is
a way of
THINKING

10

Cloud as a way of thinking

Existing technologies adopted in a
new way

ex. virtualization


Utility
model is welcomed by
everyone

startups and enterprises


DevOps

are everywhere

developers spin 100’s of servers in minutes

IT operations write automation scripts

11

Cloud types

Public

publicly available


Private

built for / available inside enterprise only


Hybrid

on
-
premise with extension to public
Cloud

12

Cloud offerings

Infrastructure
-
as
-
a
-
Service
or
IaaS

host applications


Platform
-
as
-
a
-
Service
or
PaaS

build applications


Software
-
as
-
a
-
Service
or
SaaS

consume applications

13

Infrastructure
-
as
-
a
-
Service

Virtual machines and infrastructure on
demand

OS, CPU / RAM, storage, load balancer, VPN


Web portal for controlling and
managing servers


Remote
desktop / shell

14

IaaS

players

Amazon

Microsoft

RackSpace

Google

Terremark

others

15

Platform
-
as
-
a
-
Service

Working not with the virtual
machines per se,
but with the
abstraction


Rich set of
APIs and client libraries / frameworks


Automatic high
-
availability and load balancing


Hardware and / or OS agnostic

16

PaaS

players

Microsoft

Google

Amazon

SalesForce

others

17

Software
-
as
-
a
-
Service

Available for more than 10 years

Hotmail, Yahoo! Mail


Usually implemented as a Web application with
optional on
-
premises extensions


You don’t need to use Cloud to run
SaaS

18

IT
-
as
-
a
-
Service

19

Sounds cool?

In real
-
world this not always a case…

20

Infrastructure
-
as
-
a
-
Service

No
or limited options to choose
hardware
from

HDD speed, network throughput


Variant performance due to resource sharing


Limited
options to configure TCP ports


Limited options for load balancing

21

Platform
-
as
-
a
-
Service

No
or limited options to choose
hardware
from

HDD speed, network throughput


No or very limited access to the OS internals


Very restrictive
firewalls / load balancers


Dynamic
IP addresses

22

Want to migrate to the Cloud?

First change you DC oriented mindset…

23

Changes in mindset #1

Before
: we have enough hardware resources

powerful servers,
f
ast
hard
drives, 10 Gb network


After
:
o
nly
mid
-
range
hardware
is
available

no topnotch servers, little chance to get SSD

24

Changes in mindset #2

Before
: number
of servers is more or less fixed

failures
are very
unlike, all maintenance and new
hardware is planned in advance


After
:
n
umber
of servers is dynamic
(unknown)

failures are OK,
no
hardware maintenance

implies scale
-
out
resilient architecture

25

Changes in mindset #3

Before
:
We have reliable network connection

connection
time
-
out is a BUG, not a FEATURE


After
:
Network connection
can
always FAIL

every
operation should have retries

26

So, is Cloud cheaper?

NO
, unless you’ve applied one

of the Cloud usage patterns

27

On and o
ff

On and off workloads (e.g. batch job)

Over provisioned capacity is
wasted

28

Usage

Compute

Time

Average


Inactivity

Period

Growing
fast

Successful services needs to grow/scale

Keeping up with growth is big IT
challenge

29

Average Usage

Compute

Time

Unpredictable
bursting

Unexpected/unplanned peak in demand

Sudden spike impacts
performance

30

Compute

Time

Average Usage

Predictable bursting

Peaks
due to periodic increased demand

IT complexity and wasted capacity

31

Compute

Time

Average Usage

To the Cloud!

32

AWS / Azure feature comparison

33

Feature

Amazon

Windows

Azure

Compute

Elastic

Compute Cloud (EC2)

Compute

Load balancing

Elastic Load Balancing (ELB)

Compute

Auto scaling

Auto Scaling

n/a

Attachable disks

Elastic Block Store (EBS)

Drive

Blob storage

Simple Storage Service (S3)

Blob

Storage

Scheme
-
less storage

SimpleDB

Table Storage

Content delivery

CloudFront

CDN

Distributed cache

ElastiCache

Caching

Database

Relational

DB Service (RDS)

SQL Azure

Reporting

n/a

SQL Azure Reporting

AWS / Azure feature comparison

34

Feature

Amazon

Windows

Azure

Queue

Simple Queue Service (SQS)

Queue Storage

Email

Simple Email Service (SES)

n/a

VPN

Virtual Private

Cloud (VPC)

VPN, Connect

DNS

Route 53

Traffic Manager (Geo)

Service bus

n/a

Service Bus

Identity

Identity &

Access
Management (IAM)

Access Control

Big Data

Elastic
MapReduce

Elastic
MapReduce

Monitoring

CloudWatch

n/a

That’s a lot!

35

Cloud @ Adform

Amazon EC2 used for test campaigns, stress
testing and research


Amazon S3 storage used for
r
aw data

300+ GB of uncompressed raw transactions daily

36

Cloud @ Adform

Amazon S3 storage used for RTB logs

1+ TB of uncompressed logs daily


Amazon Elastic
MapReduce

used by RTB
Research team

2
+ TB of data on 30+ EC2 instances daily

37

Cloud Computing

is

elastic scalable compute resources on demand


offered as

public or private
IaaS
,
PaaS

or
SaaS


requires

to change mindset and adapt patterns


available

from Amazon, Microsoft, Google, etc.

38

Don’t forget: Cloud is
not for everyone
,

but it makes impossible
possible
!

39

40