Cloud Computing - Adform | Academy

advertisement
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
“Cloud computing is the provision of dynamically
scalable and often virtualized resources as a
service over the Internet on a utility basis”
7
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, fast hard drives, 10 Gb network
After: only 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: number 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 off
Compute
On and off workloads (e.g. batch job)
Over provisioned capacity is wasted
Inactivity
Period
Usage
Average
Time
28
Growing fast
Compute
Successful services needs to grow/scale
Keeping up with growth is big IT challenge
Average Usage
Time
29
Unpredictable bursting
Compute
Unexpected/unplanned peak in demand
Sudden spike impacts performance
Average Usage
Time
30
Predictable bursting
Compute
Peaks due to periodic increased demand
IT complexity and wasted capacity
Average Usage
Time
31
To the Cloud!
32
AWS / Azure feature comparison
Feature
Amazon
Windows Azure
Compute
Elastic Compute Cloud (EC2)
Compute
Load balancing
Elastic Load Balancing (ELB)
Compute
Auto scaling
Auto Scaling
Attachable disks
Elastic Block Store (EBS)
Drive
Blob storage
Simple Storage Service (S3)
Blob Storage
n/a
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
33
AWS / Azure feature comparison
Feature
Amazon
Windows Azure
Queue
Simple Queue Service (SQS)
Queue Storage
Email
Simple Email Service (SES)
VPN
Virtual Private Cloud (VPC)
VPN, Connect
DNS
Route 53
Traffic Manager (Geo)
Service bus
n/a
n/a
Service Bus
Identity
Identity & Access
Management (IAM)
Access Control
Big Data
Elastic MapReduce
Elastic MapReduce
Monitoring
CloudWatch
n/a
34
That’s a lot!
35
Cloud @ Adform
Amazon EC2 used for test campaigns, stress
testing and research
Amazon S3 storage used for raw 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
Download