Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email:...

39
Intro to Cloud Computing 1

Transcript of Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email:...

Page 1: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

1

Intro to Cloud Computing

Page 2: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

2

Who am I?

Sergejus Barinovas

Software Architect at Adform

Email: sergejus.barinovas@[adform|gmail].comBlog: http://sergejus.blogas.ltTwitter: @sergejusb

Page 3: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

3

Disclaimer

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

Page 4: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

5

“The global cloud computing market to reach $241B in 2020 compared to $40.7B in 2010”

Forrester Research

Page 5: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

6

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

Page 6: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

7

“Cloud computing is the provision of dynamically scalable and often virtualized resources as a service over the Internet on a utility basis”

Page 7: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

8

Cloud is

scalable,

elastic (dynamic resources),

available as-a-service,

based on utility billing (pay for what you use)

Page 8: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

9

So, basically Cloud is …

… elastic scalable compute resources on demand

Page 9: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

10

But more important …

… Cloud is not a technology, it is a way of THINKING

Page 10: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

11

Cloud as a way of thinking

Existing technologies adopted in a new wayex. virtualization

Utility model is welcomed by everyonestartups and enterprises

DevOps are everywheredevelopers spin 100’s of servers in minutesIT operations write automation scripts

Page 11: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

12

Cloud types

Publicpublicly available

Privatebuilt for / available inside enterprise only

Hybridon-premise with extension to public Cloud

Page 12: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

13

Cloud offerings

Infrastructure-as-a-Service or IaaShost applications

Platform-as-a-Service or PaaSbuild applications

Software-as-a-Service or SaaSconsume applications

Page 13: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

14

Infrastructure-as-a-Service

Virtual machines and infrastructure on demandOS, CPU / RAM, storage, load balancer, VPN

Web portal for controlling and managing servers

Remote desktop / shell

Page 14: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

15

IaaS players

Amazon

Microsoft

RackSpace

GoogleTerremark

others

Page 15: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

16

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

Page 16: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

17

PaaS players

Microsoft

Google

AmazonSalesForce

others

Page 17: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

18

Software-as-a-Service

Available for more than 10 yearsHotmail, Yahoo! Mail

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

You don’t need to use Cloud to run SaaS

Page 18: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

19

IT-as-a-Service

Page 19: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

20

Sounds cool?

In real-world this not always a case…

Page 20: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

21

Infrastructure-as-a-Service

No or limited options to choose hardware fromHDD speed, network throughput

Variant performance due to resource sharing

Limited options to configure TCP ports

Limited options for load balancing

Page 21: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

22

Platform-as-a-Service

No or limited options to choose hardware fromHDD speed, network throughput

No or very limited access to the OS internals

Very restrictive firewalls / load balancers

Dynamic IP addresses

Page 22: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

23

Want to migrate to the Cloud?

First change you DC oriented mindset…

Page 23: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

24

Changes in mindset #1

Before: we have enough hardware resourcespowerful servers, fast hard drives, 10 Gb network

After: only mid-range hardware is availableno topnotch servers, little chance to get SSD

Page 24: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

25

Changes in mindset #2

Before: number of servers is more or less fixedfailures are very unlike, all maintenance and new hardware is planned in advance

After: number of servers is dynamic (unknown)failures are OK, no hardware maintenanceimplies scale-out resilient architecture

Page 25: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

26

Changes in mindset #3

Before: We have reliable network connectionconnection time-out is a BUG, not a FEATURE

After: Network connection can always FAILevery operation should have retries

Page 26: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

27

So, is Cloud cheaper?

NO, unless you’ve applied one of the Cloud usage patterns

Page 27: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

28

On and off

On and off workloads (e.g. batch job)Over provisioned capacity is wasted

Usage

Com

pute

Time

Average

InactivityPeriod

Page 28: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

29

Growing fast

Successful services needs to grow/scale Keeping up with growth is big IT challenge

Average UsageCom

pute

Time

Page 29: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

30

Unpredictable bursting

Unexpected/unplanned peak in demand Sudden spike impacts performance

Com

pute

Time

Average Usage

Page 30: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

31

Predictable bursting

Peaks due to periodic increased demandIT complexity and wasted capacity

Com

pute

Time

Average Usage

Page 31: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

32

To the Cloud!

Page 32: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

33

AWS / Azure feature comparisonFeature Amazon Windows AzureCompute Elastic Compute Cloud (EC2) ComputeLoad balancing Elastic Load Balancing (ELB) ComputeAuto scaling Auto Scaling n/aAttachable disks Elastic Block Store (EBS) DriveBlob storage Simple Storage Service (S3) Blob StorageScheme-less storage SimpleDB Table StorageContent delivery CloudFront CDNDistributed cache ElastiCache CachingDatabase Relational DB Service (RDS) SQL AzureReporting n/a SQL Azure Reporting

Page 33: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

34

AWS / Azure feature comparisonFeature Amazon Windows AzureQueue Simple Queue Service (SQS) Queue StorageEmail Simple Email Service (SES) n/aVPN Virtual Private Cloud (VPC) VPN, ConnectDNS Route 53 Traffic Manager (Geo)Service bus n/a Service BusIdentity Identity & Access

Management (IAM)Access Control

Big Data Elastic MapReduce Elastic MapReduceMonitoring CloudWatch n/a

Page 34: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

35

That’s a lot!

Page 35: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

36

Cloud @ Adform

Amazon EC2 used for test campaigns, stress testing and research

Amazon S3 storage used for raw data300+ GB of uncompressed raw transactions daily

Page 36: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

37

Cloud @ Adform

Amazon S3 storage used for RTB logs1+ TB of uncompressed logs daily

Amazon Elastic MapReduce used by RTB Research team

2+ TB of data on 30+ EC2 instances daily

Page 37: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

38

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.

Page 38: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

39

Don’t forget: Cloud is not for everyone, but it makes impossible possible!

Page 39: Intro to Cloud Computing 1. Who am I? Sergejus Barinovas Software Architect at Adform Email: sergejus.barinovas@[adform|gmail].com Blog: ://sergejus.blogas.lt.

40