Portrait of the developer as The Artist - SpringOne India 2012

Preview:

DESCRIPTION

Overview of Cloud stack, IaaS, PaaS, SaaS, and it's potential for developers at SpringOne India, Bangalore and Hyderabad2012

Citation preview

Portrait of the developer as

RIP Pandit Ravi Shankar7 April 1920 - 11 December 2012 (aged 92)

@chanezon

French

Polyglot

Server Side

San Francisco

Developer Relations

Cloud Platforms allow developers to take risks, become more agile and focus on building business value instead of infrastructure

Patrick ChanezonSenior Director

Developer Relationschanezonp@vmware.com

@chanezon

Very freely inspired from

... the story of my grandfather and a few years as an Enterprise consultant in

France before moving to California

My grandfather, missed the transition from Radio to TV in the 1950’s

2010

- George became CIO

What happened while

George was playing Golf

Dreams Of my childhood

33

Accelerando / Singularity, in a Galaxy far far away

§Even if we automate ourselves out of a job every 10 years§ ...I don’t think the singularity is near!

34

Moore's Law is for Hardware Only

§Does not apply to software§Productivity gains not keeping up with hardware and bandwidth§Writing software is hard, painful, and still very much a craft

35

Predictions

“The future is already here — it's just not very evenly distributed” William Gibson

36

Architecture Changes: 60’s Mainframe

Architecture Changes: 80’s Client-Server

Architecture Changes: 90’s Web

Architecture Changes: 2010’s Cloud, HTML5, Mobile

Back to Client Server: Groovy Baby!

41

What is Cloud Computing? - End Users

42 Cloud According to my daughter Eliette

What is Cloud Computing? - Analysts

43

Platform As A Service

Infrastructure As A Service

SoftwareAs A Service

What is Cloud Computing? - Developers

44

InfrastructureAs A Service

SoftwareAs A Service

Platform As A Service

Cloud Stack - History

§What does cloud mean, 4 main angles• Software 1994 Netscape• Infrastructure 2002 Amazon AWS• Platform 2008 Google• Development now!

45

§ Industrialization of hardware and software infrastructurelike electricity beginning of 20th century

§But software development itself is moving towards craftmanship

Cloud started at Consumer websites solving their needs

• Google, Amazon, Yahoo, Facebook, Twitter

• Large Data Sets

• Storage Capacity growing faster than Moore’s Law

• Fast Networks

• Vertical -> Horizontal scalability

• Open Source Software

• Virtualization

• Cloud is a productization of these infrastructures

• Public Clouds Services: Google, Amazon

• Open Source Software: Hadoop, Eucalyptus, Ubuntu, Cloud Foundry

Google research papers: good predictor of where BigData is going

• Horizontal scalability 2004: Map/Reduce (Hadoop)

• NoSQL 2006: Bigtable (Mongo, Cassandra, HBase, Riak)

• Real Time analytics 2010: Dremel, BigQuery (Impala)

• Horizontally Scalable SQL 2012: Spanner/ Amazon Redshift

48

Infrastructure

IaaS/Virtualization getting mainstream

§AWS, Joyent, Rackspace,...§Open Source projects: OpenStack, CloudStack, Eucalyptus§Automation: Chef, Juju, Cloud Foundry BOSH§ Inside the Firewall, Virtualization: VMware, Microsoft, Xen, KVM§ 60% of workloads are virtualized in 2012§Easy to provision, manage instance...BUT§Still need to manage backups, software stacks, monitor, upgrades

49

With Infrastructure, you still need to build your own platform

§Need to build a distributed platform on top of you infrastructure§Story of the AWS meltdown from last summer

• http://blog.reddit.com/2011/03/why-reddit-was-down-for-6-of-last-24.html

• http://www.readwriteweb.com/cloud/2010/12/chaos-monkey-how-netflix-uses.php

• http://news.ycombinator.com/item?id=2477296

• http://stu.mp/2011/04/the-cloud-is-not-a-silver-bullet.html

§Twilio, Smugmug, SimpleGeo survived it because they built their own distributed platform on top of IaaS

§Enterprise customers want to consider Infrastructure like CDNs• Multi Cloud usage

• Based on Open Source de facto standards, or full standards whenever that happens

50

51

Platforms

Platforms

§Raise the Unit of currency to be application & services instead of infrastructure

§Google App Engine, Cloud Foundry, Heroku, CloudBees, Amazon Elastic Beanstalk, Microsoft Azure, AppFog

§Single or a few languages, services

§Start of Multi language Polyglot platforms

§Enabler for Agile Developers -> Create Business value faster

§ Lack of standards: risk, vendor lock-in

§Enterprise needs:•Control, customizability

•Private/Hybrid Cloud

•Avoid lock-in

52

Agile Development Processes

Agility as a survival skill

§Consumer software is becoming like fashion

•Phone apps, social apps, short lifetime, fast lifecycles

•A/B testing

§Enterprise

•Clay shirky situational apps

§Kent Beck, Usenix 2011 Talk, “Software G-Forces: the effects of acceleration”change in software process when frequency grows

§Cloud Platforms enables an Agile culture, driver for innovation

•Scalability is built in the platforms

•Can iterate faster

•Focus on design

§Cloud Platforms lets developers focus on driving business value

54

Main Risk: Lock-In

55

Welcome to the hotel californiaSuch a lovely placeSuch a lovely facePlenty of room at the hotel californiaAny time of year, you can find it here

Last thing I remember, I wasRunning for the doorI had to find the passage backTo the place I was before’relax,’ said the night man,We are programmed to receive.You can checkout any time you like,But you can never leave!

Cloud Foundry: The Open PaaS

56

Clou

d Pr

ovide

r Int

erfa

ce

Application Service Interface

Private Clouds

PublicClouds

MicroClouds

Data Services

Other Services

Msg Services

vFabric Postgres

vFabric RabbitMQTM

• Open Source: Apache 2 Licensed• multi language/frameworks• multi services• multi cloud

57

CloudFoundry.COM – Multi-Tenant PaaS Operated by VMware

Frameworks

Services

vCenter / vSphere

CloudFoundry.COM (beta)

Infrastructure

58

Micro Cloud FoundryTM – Industry First Downloadable PaaS

Single VM instance of Cloud Foundry that runs on a developer’s MAC or PCTracks CloudFoundry.com2 releases / week

Frameworks

Services

Micro Cloud Foundry

Your Laptop/PC

59

Open Source

60

CloudFoundry.ORG – Community Open Source Project

github.com/cloudfoundry

.NET x 2

PHP

JRuby

Python

Rails 2.x

Clojure

Erlang

Haskell

§Memcached§SQL Server§Neo4j§CouchDB§VirtualBox§Mono§Rack

61

CloudFoundry.ORG – Community Open Source Project

DownloadCode

Setup Environment Deploy Behind Firewall

Tool Chain &Scripts

Apache2 license

Your Infrastructure

Cloud Foundry BOSH

CloudFoundry.ORG

Community Frameworks Contributions

Community Services Contributions

62

Cloud Foundry Open Source Workflow

Reviewers +2/-2

test verification score ✓ ✗ git push triggers test execution

Gerrit Code Review

reviews.cloudfoundry.org

Jenkins CI

ci.cloudfoundry.org

github

github.com/cloudfoundry

+1/-1 Committers

on +2 and ✓ change pushed to github

cloudfoundry.com

production updated ~2x/week

Open Source Advantage: speed

§ http://code.google.com/p/googleappengine/issues/detail?id=13

63

• https://github.com/cloudfoundry/vcap/pull/25

Open Source Advantage: breadth

64

65

Ecosystem

66

Broad Industry Investment

67

Cloud Foundry - Making Multi-Cloud a Reality

Public Cloud Operators

.COM

Management and Private Cloud Distributions

Bare metal

Cloud Foundry Core - http://core.cloudfoundry.org

68

Cloud Foundry Architecture

Cloud Foundry Logical View

Routers

CloudControllers App

Services

App

HealthManager

Execution Agents (DEA) Pool

Messaging

UsersDevelopersvmc

71

Cloud Foundry BOSH

72

500 – 5,000 VMs 40+ unique node types 75+ unique software packages 75+ unique environments 2x/week cf.com updates 24x7x365 non-stop operation No-downtime deployments Reliable, robust, repeatable deployments, updates, capacity adjustments

Small teams manage many instances

Production Grade Cloud Foundry Clusters

Google style problem è Google style solution

cloudfoundry.com

production, staging, stress, qa, dev

73

Cloud Foundry BOSH is an open source tool-chain for release engineering, deployment, and lifecycle management of large scale distributed services• Prescriptive way of creating releases and managing systems and services• It is not a collection of shell scripts, not a pile of Perl

Built to deploy and manage production-class, large scale clusters• Production grade Cloud Foundry clusters: 500+ VMs, 40+ jobs, 75+ packages •Multi-node, multi-tier, complex clusters: e.g., our Gerrit/Jenkins Cluster

Built for devops usage and scale by a crack team of veterans• A project, not a product: command line interface, YAML, etc. • Continuous improvement, iterative development, rough edges

Cloud Foundry BOSH

github.com/cloudfoundry/bosh

74

BOSH: under the hood

bosh cli

redis natsdb

director healthmon

IaaS CPI

workers

stemcellagent

blobs

“BOSH is deployed by BOSH”

cloudfoundry.com

BOSH User

active jobs

disk

75

IaaS neutral by design

CPI: code completefunctional status: “work in progress”

vSphere: battle tested implementation, thousands of deploymentsvCloud Director: “work in progress”, 2H 2012

contribute: github.com/cloudfoundry/bosh

Cloud Provider Interface (CPI)

Cloud Foundry BOSH

github.com/piston/openstack-bosh-cpi

76

Lessons for Developers

Predictions

•Software is becoming like fashion, design rules•Welcome to Babel, use the best tool for the job, embrace multiple language & heterogeneity

•Our jobs will change, build yourself out of your current job•Sysadmin jobs will morph, there will be less of them•Many opportunities open when you embrace change

77

Things to forget

•First normal form•Waterfall model•Single server deployment•Single language skill•Build everything from scratch•Build custom infrastructure

78

Things to learn

•Agile•Take risks, fail often, fail fast and learn•API Design: create the API first•UI Design, Javacript, HTML5, CSS3•A/B Testing•Open Source, Open Standards•Architecture, Distributed Computing (CAP theorem, 8 fallacies)•Cloud Platforms and APIs•Multiple types of languages (imperative, object, functional, logic)•Ability to encapsulate domain knowledge in a DSL•Build on the shoulders of giants: reuse, REST APIs•Pick your battles, choose what you need to build yourself to add value •Learn to live in a box (embrace platform limitations) to think outside the box•Use an App Store for distribution

79

Redemption

The (Happy) End

India has a huge potential, don’t waste it!

The (Happy) End

Register today

94

http://cloudfoundry.com/signup

cfindiaUse Promo Code

http://cfdg.cloudfoundry.com/

#springoneindia