the cloud beyond the buzzword

14
The Cloud Beyond the Buzzword Bozhidar Bozhanov

Upload: bozhidar-bozhanov

Post on 08-May-2015

517 views

Category:

Technology


1 download

DESCRIPTION

What is "the cloud"? What types of cloud there are, and what are the tools it gives us.

TRANSCRIPT

Page 1: The Cloud Beyond the Buzzword

The Cloud Beyond the Buzzword

Bozhidar Bozhanov

Page 2: The Cloud Beyond the Buzzword

About me

● Cloud user – from small personal projects to millions of users

● Java, Scala, etc.● StackOverflow *cough*● twitter: @bozhobg

Page 3: The Cloud Beyond the Buzzword

The cloud: what is it?

● everything● nothing● “the internet”● XaaS● “something remote, parts of the

infrastructure of which is managed by someone else”

Page 4: The Cloud Beyond the Buzzword

Buzzword

● managers● investors● clients● ...and other incompetent

people

Page 5: The Cloud Beyond the Buzzword

Classification

● Cloud computing (CPU as a Service)● SaaS - Software as a Service● PaaS - Platform as a Service● IaaS - Infrastructure as a Service

Page 6: The Cloud Beyond the Buzzword

SaaS - Software as a Service

● Your software is “in the cloud” from the point of view of your users

● multi-tenant software● DropBox, SalesForce, Gmail, JIRA, GitHub● pros – easy upgrade, can’t be cracked, users don’t have

to manage infrastructure● cons – internet connection dependence, ownership of

data, privacy, harder to personalize

Page 7: The Cloud Beyond the Buzzword

PaaS - Platform as a Service

● Providers give a platform with limited access where you deploy your application

● Components are plugins (databases,message queues, caches, log collection, monitoring, etc…)

● Heroku, CloudFoundry, OpenShift, GoogleAppEngine● pros: easy setup (UI/CLI), no server administration

experience needed, supports autoscaling, cheap.● cons: sandbox, specific learning curve, hard plugin

version management, privacy.

Page 8: The Cloud Beyond the Buzzword

IaaS - Infrastructure as as Service

● You get virtual machines and APIs/UI, to manage them● The provider takes care only of the infrastructure● Amazon AWS, ??? (Microsoft Azure, Rackspace,

OpenStack, GetClouder)● pros – almost complete freedom, cheaper than own

data-center [citation needed] , auto-scaling, extras.● Cons - learning curve, privacy, single provider

dependence.

Page 9: The Cloud Beyond the Buzzword

AWS (Amazon Web Services)

● pioneers[citation needed] and market leaders● API, CLI● extras: S3, CloudFront, CloudWatch, RDS,

SQS, SES, SNS, ElastiCache, Beanstalk (PaaS), …

● multiple regions, multiple availability zones● prices are dropping; spot instances

Page 10: The Cloud Beyond the Buzzword

Auto-scaling

● valid for both PaaS and IaaS● Conditionally starting and stopping virtual machines

(based on CPU, memory, I/O, network I/O)● Keeping a certain number of machines up, in case one

or more “die”. ● The harder part: making your application scale

automatically

Page 11: The Cloud Beyond the Buzzword

Embrace failure

● virtual machines (instances) die often● Information written on them is lost.

Alternatives: EBS, S3, clusters● A whole availability zone (= data center) can

be down● chaos monkey● => good practices

Page 12: The Cloud Beyond the Buzzword

Scripting stacks

● Servers, networks, access control, load balancers, etc. – declared with a script.

● AWS CloudFormation - JSON-based language for scripting infrastructure

● calling shell scripts on initialization = endless possibilities

● Allows for almost identical environments for test, staging, production

Page 13: The Cloud Beyond the Buzzword

Should we be “in the cloud”

● It depends● To be “in the cloud” is not a marketing

decision - it’s a technical choice. ● SaaS doesn’t mean you are “in the cloud”, it

means your software is in the cloud from your users’ perspective

● in any case - embrace failure

Page 14: The Cloud Beyond the Buzzword