World of Services: Software Architecture That is Eating the World
-
Upload
elena-gorman -
Category
Technology
-
view
2.985 -
download
0
description
Transcript of World of Services: Software Architecture That is Eating the World
World of ServicesThe Software Architecture That is Eating the World
John R. Rymer, Principal Analyst, Forrester
Solomon Hykes, CEO, dotCloud
December 10, 2012
2
Agenda
• Adoption of Cloud Platforms• 7 Rules of Cloud-Native Development• Examples • Conclusion• Q&A
Adoption Of Cloud Platforms Is Changing Applications
John R. Rymer, Vice President, Principal AnalystDecember 10, 2012
© 2012 Forrester Research, Inc. Reproduction Prohibited
The shift begins with the Open WebNEW TECHNOLOGIES COUPLED WITH NEW THINKING
HTML5 & Mobile
Web APIs
Open culture
Cloud
© 2012 Forrester Research, Inc. Reproduction Prohibited
2010 was the ‘year of the cloud’
Before 2007 2007 2008 2009 2010 2011 20120%
5%
10%
15%
20%
25%
30%
35%
5%6%
8%
15%
28%
32%
7%
CLOUD DEVELOPMENT ALMOST DOUBLED THAT YEAR
“In what year did you first build and deploy an application to one of the cloud platforms you mentioned in the prior question?”
Source: Forrester Global Cloud Developer Online Survey, Q3 2012Base: 106 developers with direct experience developing applications using cloud computing environments
© 2012 Forrester Research, Inc. Reproduction Prohibited
New code in the cloud will grow
0%-20% 20%-39% 40%-59% 60%-79% 80%-99% 100%0
5
10
15
20
25
30
35
A GRADUAL SHIFT TOWARD 50% TO 60% NEW CODE; FEW REPORT 100%
“How much of the code you deploy to the cloud environments of your choice is new? How do you expect that to change in the future?”
Source: Forrester Global Cloud Developer Online Survey, Q3 2012Base: 106 developers with direct experience developing applications using cloud computing environments
TodayNext year
In 2 years
New code as percentage of total application
Nu
mb
er
of
res
po
nd
en
ts
November 2010 “Best Practices: Building High-Performance Application Development Teams”
Teams moving to empowerment
8
7 RULES OF CLOUD-NATIVE DEVELOPMENT
Solomon Hykes
9
7 Rules of Cloud-Native Development
1. Think services, not servers
2. Don’t reinvent the wheel
3. Don’t create silos
4. Don’t get in the way of the developer
5. Cookie-cutter first, customize later
6. Experiment quickly
7. Ship every day
10© 2012 Forrester Research, Inc. Reproduction Prohibited
1. Think services, not servers
Break down your application
in discrete, reusable components
Libraries that run themselves
Do it from day one
11© 2012 Forrester Research, Inc. Reproduction Prohibited
2. Don’t Reinvent the Wheel
Requirement: Ship product fast with only 3 employees
“Without these ready-to-use cloud services we never would have launched so fast with a team so small”
Justin Kan, Justin.TV, Twitch, Ycombinator, Exec
+ + +
12
3. Don’t create silos
frontendbackend data securitydesign ops
frontend
backend
data
ops
security
design
performance
13
3 rules of software teams
• Ownership + Focus + Responsibility– Ownership: 1 team per product– Focus: 1 product per team– Responsibility: if you wrote it you fix it– Don’t form specialized teams. EMBED
specialists into your teams
14© 2012 Forrester Research, Inc. Reproduction Prohibited
4. Don’t get in the way of your developers
Functional Requirements
• “It has to work for 100,000 simultaneous connections”
• “We need to go Live by Christmas”
• “It has to pass next quarter’s infosec audit”
• “This can’t go down during next week’s demo. Do whatever it takes”
Implementation Requirements
• “It has to be Java”• “If you need more servers,
ask Bob for it and wait”• “I heard Node.js is the
future, rewrite it all in Node.js”
• “Your performance will be measured by the number of lines of code written”
15© 2012 Forrester Research, Inc. Reproduction Prohibited
5. Cookie-cutter first, customize later
Requirement: Monitoring at massive scale“We started with plain old Nagios. Not perfect but
familiar and reliable.”
“Once we hit scale problems, we located the bottleneck (NRPE) and replaced it with ZERORPC”
“It’s still Nagios, with just enough customization. Investing that time upfront would have been a waste of precious time.”
Scott VandenPlas, Lead Devops, Obama for America
16© 2012 Forrester Research, Inc. Reproduction Prohibited
6. Experiment quickly
Isaac Wolkerstorfer, CTO, 6Wunderkinder
“1 million users in 9 months. How do we keep shipping fast without breaking?”
“Service-oriented means we choose the best tool for each feature.”
“I can use Ruby for one service and PHP for another. I only refactor when I decide to”
17© 2012 Forrester Research, Inc. Reproduction Prohibited
7. Ship every day
• Replicate your stack in a sandbox that mirrors the production environment.
• Deploy to that sandbox every day.
• Give each developer his own sandbox
Start Shipping on Day 1. Don’t wait for the launch
18
QUESTIONS?We will unmute all attendees to ask questions
19
Thank you
John R. Rymer
• @forrester
Solomon Hykes
• @solomonstre• @dot_cloud