Portrait of the developer as The Artist - SpringOne India 2012
-
Upload
patrick-chanezon -
Category
Technology
-
view
10.742 -
download
2
description
Transcript of Portrait of the developer as The Artist - SpringOne India 2012
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
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