Dzone Guide - Cloud Development PDF
Dzone Guide - Cloud Development PDF
com/research
T H E DZO N E GUIDE TO
CLOUD
DEVELOPMENT
2015 EDITION
BROUGHT TO YOU IN PARTNERSHIP WITH
BROUGHT TO YOU IN PARTNERSHIP WITH
dzone.com/research
Dear Reader,
Cloud computing is an evolving paradigm. - The NIST
Definition of Cloud Computing 1.2. September 2011.
No kidding. Even NIST cant avoid thinking of cloud
computing as something nebulous (etymologically, of
course). The metaphor wont break character.
But the cloud metaphor isnt precise enough. Yes, physical
locations of storage, computation, and delivery vary happily
nowadays. Sure, Turing-drops cohere into variously-formed
services, services precipitate elastically into ever-shifting
applications, and *aas-backed applications deliver
previously unimaginable deluges of user value at lightning
speed (presumably thundering all the while). Is anything as
a service what makes cloud so exciting?
No*aaS doesnt capture the bleeding edge. Everybody
knows about web services nowadayseven specific
providers, still most notably Amazon, but now who knows
what else (well, we docheck out the Solutions Directory
at the end of this guide). And the concept of computing
services is as old as the operating system.
Nor do NISTs five essential characteristics, three service
models, and three deployment models really capture
why cloud is neither entirely precise nor an entirely
meaningless buzzword. Were stuck somewhere between
arbitrarily bundled sets of properties and a hazy nondefinition. We need more concretes from developers and
deeper conceptual penetration from researchers.
Toward the abstract: weve included some (we hope)
original thoughts on the present and future of cloud
development. Location-indifference is bourgeoning
at deeper infrastructure levels as well: named
data networking, content-centric networking, and
information-centric networking conceptsmaking
content the primary addressable, not the physical
endpointsare at the heart of future Internet research in
North America, Japan, and Europe.
Toward the concretes: weve done some original
research, crunched some numbers, and cross-checked
a few more. The 2015 edition of the Guide to Cloud
Development is our second second edition (the Guide to
Continuous Delivery was our first), so were starting to
see the inklings of some maybe-new trends in cloud
adoption by software developers.
I hope youll find this guide as interesting as I do.
john esposito
Table of Contents
3
12
16
18
21
24
26
27
solutions directory
30
31
glossary
Credits
editorial
business
John Esposito
[email protected]
Rick Ross
Chris Smith
CEO
Production Advisor
Matt Schmidt
Brandon Rosser
Customer Success
Advocate
Editor-in-Chief
Jayashree Gopal
Director of Research
Mitch Pronschinske
Sr. Research Analyst
Kellet Atkinson
General Manager
Benjamin Ball
Alex Crafts
[email protected]
Research Analyst
VP of Sales
Matt Werner
Matt OBrian
Market Researcher
Director of Business
Development
John Walter
Content Curator
Ryan Spain
Sales Associate
Jim Howard
Sales Associate
Art
Chelsea Bosworth
Ashley Slate
Marketing Associate
Design Director
Content Curator
Special thanks to our topic experts Chris Haddad, Daniel Bryant, Bernard Golden,
JP Morgenthal, Christian Posta, Nati Shalom, and our trusted DZone Most Valuable
Bloggers for all their help and feedback in making this report a great success.
E d i t o r - i n - C h i e f, DZ o n e r e s e a r c h
r e s e a r c h @ dz o n e . c o m
Jillian Poore
dzone.com/research
Summary and
Key Takeaways
DEVELOPMENT
TESTING / QA
23%
16%
24% 53%
KEY
37%
44%
41%
CURRENTLY PERFORM
PRODUCTION /
DEPLOYMENT
11%
52%
PLAN TO PERFORM
and MBaaS.
Articles from topic experts and industry luminaries.
Security questions to ask your cloud provider.
A visual classification of cloud service providers by
USING IT
WHATS DOCKER?
10%
20%
35%
35%
EVALUATING IT
NOT USING IT
dzone.com/research
Key Research
Findings
More than 600 IT professionals responded to DZones
2015 Cloud Development Survey. Here are the
demographics for this survey:
WEB
73%
ENTERPRISE
54%
STORAGE
47%
ANALYTICS
41%
MOBILE
31%
60%
INFRASTRUCTURE-AS-A-SERVICE
59%
STORAGE-AS-A-SERVICE
45%
ONPREMISE
DATABASE-AS-A-SERVICE
43%
41%
MOBILE BACKEND-AS-A-SERVICE
13%
THIRD PARTY
50%
HYBRID
(PUBLIC &
PRIVATE)
PRIVATE
29%
21%
PUBLIC
56%
dzone.com/research
DATA
ENCRYPTION
DATA
LOCATION
AUTHENTICATION
OPTIONS
FIREWALLED
SERVERS
DEDICATED
SERVERS
VENDOR MARKETING
MATERIALS
2%
PRODUCT
COMPARISONS
3%
16%
PEER
RECOMMENDATIONS
26%
OPENSTACK
68%
CLOUD FOUNDRY
26%
OPENSHIFT
26%
CLOUDSTACK
14%
STACKATO
10%
STRATOS
10%
CONVERSATION
WITH PRODUCT
ENGINEERS
16%
19%
18%
STRENGTH OF
CUSTOMER BASE
THIRD-PARTY
REVIEWS
(ONCE OR
MORE)
dzone.com/research
quick view
The DHARMA
Principles
02
Always document architecture and
deployment topologies, utilizing
software design principles, creating
a comprehensive build pipeline,
implementing comprehensive monitoring,
and building antifragile systems
03
The benefits of these principles make
cloud environments attractive for many
software applications
by Da n i e l B rya n t
01
The six DHARMA principles for cloud
development: Documented, Highly
cohesive/loosely coupled, Automated
from commit to cloud, Resource aware,
Monitored thoroughly, Antifragile
its properties
dzone.com/research
sessions)
dzone.com/research
A good architecture is
evident all the way down
a software system.
Monitored thoroughly - If it moves,
graph it
dzone.com/research
dzone.com/research
BE AGILE,
BE FLEXIBLE.
ACCELERATE TO MARKET.
Dont compromise on performance.
Bring your Java EE apps to the cloud, fully supported.
Learn how with Red Hat JBoss Enterprise Application Platform
for xPaaS.
redhat.com/accelerate
Copyright 2015 Red Hat, Inc. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, and
JBoss are trademarks of Red Hat, Inc., registered in the U.S. and other countries. Linux is the
registered trademark of Linus Torvalds in the U.S. and other countries.
10
sponsored opinion
Critical Questions
to Ask Before
Selecting a PaaS
by Red Hat
paas
JBoss EAP for xPaaS is the only Java EE 6 full platform certified application platform offering commercially
supported for deployment in private and public PaaS environments.
SERVICES PROVIDED
Virtual Machines
Routing, Queueing, and Scheduling
Application Containers
aPaaS
DBaaS
hosting options
Private by provider
Private on-premise
Hybrid
SECURITY OPTIONS
Keypair-based
authentication
Configurable rolebased permissions
SSH connections
SSL connections
SAML
Oauth
CUSTOMERS
Cigna
CenturyLink
EZ Systems
U.S. Department of
New Zealand
Ice.com
Defense
Department of Internal
Affairs
BLOG planet.jboss.org
11
Fonecta
languages
Java
case study
TWITTER @jboss
dzones 2015 guide to cloud development
website redhat.com/jboss
dzone.com/research
Rules for
Hybrid Cloud
Architectures
q ui ck vi ew
01
In the next couple years, research
experts predict that hybrid cloud
adoption rates will greatly increase.
02
Consider your operational footprint,
network operations, data processing
efficiency, network security,
application performance, cloud
provisioning, and testing.
by JP Morgen t hal
Rule 1
Rule 2
12
Rule 3
dzone.com/research
Rule 4
This is also known as the Captain Obvious rule. But the truth
is that sometimes businesses make poor choices in favor of simplicity.
For example, some businesses have actually stored private keys on the
private cloud that enable connectivity back to the privately-hosted
environment. This opens up significant risk of a breach of the private
environment. If keys are needed, they should be stored encrypted
in a third-party repository and pulled by the process when needed
and erased when no longer required. This separation of concerns
significantly increases the attack surface.
Here are some additional best practice recommendations:
Rule 5
FIG. 1
WEB
WEB
OUTSIDE
WEB
WEB
APP
SERVER
INSIDE
APP
SERVER
APP
SERVER
DATABASE
Rule 7
APP
SERVER
DATABASE
DATABASE
DATABASE
Rule 6
13
if they have training on the cloud platform, they are going to be most
familiar with how theyve run things for the past few years of their
careers. This means overprovisioning, which in cloud speak means
subscribing to more virtual machines and storage than you really
need. It could also mean that they choose to deploy and manage all
the software components versus using services from the public cloud
provider, such as relational database and queuing services.
dzone.com/research
14
sponsored opinion
Going Rogue
with PaaS:
Bringing Shadow IT
into the Light
Stackato
by ActiveState
There are several reasons why the PC under the desk is not
encouraged by IT. If the person who built it were to vanish, it
would take time and effort to figure out how it was configured.
Then, after the development period is over, the process to move
whatever was built on it to IT-supported servers is unclear.
These issues can be resolved using Platform-as-a-Service
(PaaS). With PaaS installed on the PC, theres less risk if the
person leaves, since it would take under an hour to rebuild it
all again. The PaaS on the PC is configured exactly the same
as the PaaS running in the data center or cloud, so there is no
unsanctioned software, and moving software from the PC PaaS
to the cloud PaaS is trivial.
paas
Stackato is a secure, stable and commercially supported PaaS built on Cloud Foundry, Docker and other proven
open source technologies.
SERVICES PROVIDED
Virtual Machines
Routing, Queueing, and Scheduling
Application Containers
aPaaS
DBaaS
SECURITY OPTIONS
languages
Keypair-based
Java
Private by provider
Private on-premise
Hybrid
based permissions
SSH connections
SAML
Oauth
CUSTOMERS
ExactTarget
(a Salesforce.com company)
Mozilla
Cisco
Angies List
MTN Communications
HP
Nelnet
BLOG blog.activestate.com
15
Python
Perl
PHP
Node.js
go
groovy
Configurable role-
SSL connections
hosting options
Ruby
authentication
case study
TWITTER @activestate
dzones 2015 guide to cloud development
website stackato.com
T H E CLOUD
IC ES
CLO U D S E RV
RVIC
LANDS
LAN DS CAP
CA P E
CL ASSIF IE D BY L AYE R A N D U S E
The great thing about *aaS: there is (or will be) a well-managed service for pretty much everything. The frustrating
thing about *aaS: its hard to tell which particular services play how nice with which other services, at which layers,
for which purposes. So weve painted a nice little picture to help developers navigate the cloud services soup.
Major service providers are listed below, classified along two dimensions: layer and use.
(The majority of providers could not fit into this graphic. For many more see the Solutions Directory at the end of this Guide.)
MODEL-DRIVEN
PA A S
MODEL-DRIVEN
I PA A S
BUSINESS
ANALYTICS
PA A S
MODELDRIVEN
LAYER
A PA A S &
LANGUAGE
RUNTIMES
I PA A S,
E S B A A S,
MESSAGING
DB A A S
APPLICATION
CONTAINERS
ROUTING,
MESSAGING,
SCHEDULING
OBJECT
STOR AGE
VIRTUAL
MACHINES
SDN
PA AS
LAYER
FOUNDATIONAL
LAYER
IA AS
LAYER
COMPUTING
COMMUNICATION
STORAGE
dzone.com/research
quick view
01
The microservice approach creates a
by Chr is H addad
18
dzone.com/research
FIG. 1
APP
CART
app
CATALOG
user experience
ORDER
SINGLE
RESPONSIBILITY
BILLING
CART
CATALOG
ORDER
BILLING
MICROSERVICE
1
MICROSERVICE
2
MICROSERVICE
3
MICROSERVICE
4
RE-FACTOR
CART
BOUNDED CONTEXT
ORDER
database
CATALOG
BILLING
CONTEXT BOUNDARIES
FIG. 2
CUSTOMER
PROFILE
1
*
*
ORDER
1
1
BILLING
PRODUCT
CATALOG
INVENTORY
1
1
FULFILLMENT
*
*
19
dzone.com/research
FIG. 3
DECLARATIVE
SERVICE
LEVEL POLICIES
MICROSERVICE
CLUSTER
CLIENT
APP
CIRCUIT
BREAKER
MICROSERVICE
CLUSTER
CIRCUIT
BREAKER
APP CONTAINER
DB CONTAINER
EVENT BUS
MONITOR CONSOLE
AND MGT
A/B CONSOLE
20
CLOUD CONTROLLER
AUTO-SCALER
diving deeper
dzone.com/research
@DavidLinthicum
@samcharrington
@randybias
@aarondelp
@christianve
@jeffbarr
@ruv
@bgracely
@martenmickos
@werner
cloud zones
learn more & engage your peers in our cloud-related topic portals
Cloud Zone
DevOps Zone
dzone.com/mz/cloud
dzone.com/mz/devops
dzone.com/mz/big-data
top cloud
refcardz
top cloud
websites
top cloud
podcasts
Cloud Tweaks
The Cloudcast
bit.ly/DZ-CLOUD101
cloudtweaks.com
thecloudcast.net
Cloud Foundry
Cloudscaling
Cloud Computing
Weekly
http://bit.ly/DZ-CloudFound
cloudscaling.com/blog
Open Stack
bit.ly/DZ-OpenStack
21
bit.ly/cloudcw
All Things
Distributed
allthingsdistributed.com
Exponent
exponent.fm
Measure app
performance
Before, during, and
after migration.
Developer insights
Business success
Drive accountability
and stay focused on
your digital future.
sponsored opinion
Change is Constant
in the Age of the
Cloud: How Will You
Keep Up?
Theres no going around it: every consumer is now a digital
consumer. And for companies striving to deliver personalized
and consistent digital experiences across web and mobile,
theres no choice but to embrace the fact that theyre now in
the software business.
Being in the software business, however, requires entirely
new ways of thinking and running the organization. Success
requires tight coordination and constant feedback loops
between the following core disciplines:
Application performance. With the rise of cloud
by New Relic
Shift, re-fit, or modernize. No matter your approach, New Relic gives you the data you need to prove your cloud
migration is a success, with 100% visibility for your entire stack.
Features
continuous delivery
integrations
Puppet
Jenkins
Chef
Jira
Cloud integrations
PagerDuty
Ansible
SaltStack
Codeship
BigPanda
dploy
CUSTOMERS
Bleacher Report
Microsoft
Groupon
Rdio
Miniclip
Nike
NBC
Sony
BLOG blog.newrelic.com
23
case study
TWITTER @newrelic
d z o n e s 2 0 1 5 g u i d e t o c l o u d d eve l o p m e n t
website newrelic.com/insights
dzone.com/research
Forecasting the
Next Year in
Cloud
by Ber n ard Golden
The notion that things are changing faster and faster is widely shared
so much so that it can be considered a sort of a cliche. But, just as
cliches often capture a general truth, so too does the notion that our
society and economy are moving faster than ever before.
The reason is straightforward: we are experiencing accelerating
technology change. The key to that statement is the first word:
accelerating. Computer processing is infusing more and more elements
of our business and personal lives. As processing form factors shrink via
Moores Law, computing moves into new areas and devices.
Less than a decade ago, the mobile phone went from a talking device
to a computing device, with integrated GPS, accelerometer, time,
photography and video, and IP communication, unleashing an
incredible wave of innovation via the app revolution. This year, we will
see the arrival of wearables with the initial launch of smartwatches. Too
many people make the common mistake of viewing a new technology
platform as an inferior form of the existing platform, so many initial
reviews of smartwatches criticize them as being inadequate versions
of smartphones. If history tells us anything, clever inventors and
entrepreneurs will take the new platform as a launchpad for totally new
applications and use cases, so look for interesting wearable innovation
over this and coming years.
And heres the thing: it doesnt stop with wearables. The reason
technology is accelerating is that each doubling of Moores Law
delivers vastly increased capabilityinstead of the 240 million to 480
million transistor per chip increase of a decade ago, today its from to
4 billion to 8 billionin other words, each of todays doubling delivers
10 times the total amount of processing power available a decade ago.
So, we will continue on the curve of accelerating technology change,
and this will underlay the torrid pace of IT innovation 2015 will bring.
24
quick view
01
2015 will see a continuation of the curve of
accelerating technology change.
02
IT is moving out of the back office and into
the front lines of business today.
03
Enterprise cloud computing adoption will
accelerate.
04
There is a need for new cloud-based
application architectures.
05
A skill-shortage among developers is
creating an industry bottleneck.
The shift of IT from back office functions to the front line of business
carries an important implication in terms of the resources required
to operate these new customer-facing applications. Traditional back
dzone.com/research
25
dzone.com/research
testing
Manufacturing
Assembly
Delivery
Configuration
How is it enforced?
How is it communicated?
How is it enforced?
How is it communicated?
staffing
26
regulations
patching
security audit
pipeline
Are you able to instantly tear down, snapshot (for analysis) then
reprovision compromised systems?
Awareness
On Prem/Private Cloud
[1] https://www.owasp.org/index.php/Top_10_2013-Top_10
[2] http://techblog.netflix.com/2014/06/announcing-security-monkey-aws-security.html
dzone.com/research
Solutions
Directory
IaaS
Product
Classification
Public/Private
Free Trial
website
Amazon EC2
Virtual Machines
Public
aws.amazon.com
Apache CloudStack
Virtual Machines
Open Source
cloudstack.apache.org
CenturyLink Cloud
30 days
centurylinkcloud.com
Datapipe
Virtual Machines
Private by provider
None
datapipe.com
Digital Ocean
Virtual Machines
Public
None
digitalocean.com
Virtual Machines
None
cloudscaling.com
Virtual Machines
Public
None
cloud.google.com
Hosting.com
Virtual Machines
Any
None
hosting.com
Public
Limted by storage
hp.com
IBM Softlayer
Virtual Machines
Any
30 days
ibm.com
Internap
Virtual Machines
None
internap.com
27
dzone.com/research
IaaS cntd.
Product
Classification
Public/Private
Free Trial
website
Joyent
Virtual Machines
joyent.com
Linode
Virtual Machines
None
linode.com
NaviSIte
Virtual Machines
None
navisite.com
OpenStack
Virtual Machines
Open Source
openstack.com
Profitbricks
Virtual Machines
14 days
profitbricks.com
Any
rackspace.com
90 days
redhat.com
Sungard
Virtual Machines
None
sungardas.com
Verizon Terremark
Virtual Machines
Any
None
verizon.com
Virtual Machines
None
virtustream.com
Windstream
Virtual Machines
None
windstream.com
Product
Classification
Public/Private
Free Trial
website
ActiveState Stackato
Limited by storage
stackato.com
Apprenda
Limited by storage
apprenda.com
Public
Limited by storage
aws.amazon.com
CenturyLink AppFog
Public
7 days
centurylinkcloud.com
Clever Cloud
Any
No free trial
clever-cloud.com
cloudControl
14 days
cloudcontrol.com
Engine Yard
Public
500 hours
engineyard.com
FatFractal
30 days
fatfractal.com
Public
None
cloud.google.com
Heroku
Public
heroku.com
PaaS
28
dzone.com/research
PaaS cntd.
Product
Classification
Public/Private
Free Trial
website
Jelastic
Any
jelastic.com
Lunacloud
Public
None
lunacloud.com
Any
mendix.com
Microsoft Azure
Public
30 days
azure.microsoft.com
Outsystems Platform
Any
30 days
outsystems.com
Pivotal CF
90 days
pivotal.com
Any
Open Source
openshift.com
Salesforce1
Public
Limited by storage
salesforce.com
SAP HANA
Public
30 days
sap.com
Progress Rollbase
Any
30 days
progress.com
WorkXpress PaaS
30 days
workxpress.com
wso2.com
Product
Classification
Public/Private
Free Trial
website
Anypresence
aPaaS, mBaaS
anypresence.com
Baasbox
mBaaS
30 days
baasbox.com
Backendless
Any
backendless.com
Facebook Parse
aPaaS, mBaaS
Public
parse.com
Kii
mBaaS
Any
kii.com
Kinvey
mBaaS
Limited by storage
kinvey.com
Kony MobileFabric
90 days
kony.com
Kumulos
mBaaS
Private by-provider
kumulos.com
MBaaS
29
diving deeper
dzone.com/research
i n t o f e at u r e d c l o u d p r o d u c t s
Looking for more information on individual cloud solutions providers? Eight of our partners have shared additional
details about their offerings, and weve summarized this data below.
If youd like to share data about these or other related solutions, please email us at [email protected].
Bluemix by IBM
languages
security options
Java Ruby
Python Perl PHP
Keypair-based
authentication
Node.js Groovy
2-factor authentication
languages
security options
languages
security options
Java C#
Java
Keypair-based
authentication
Ruby Python
Keypair-based
authentication
SSL connections
IBM Infrastructure
SSL connections
SAML
infrastructure
used
Oauth
SAML
Configurable role-based
permissions
SSH connections
infrastructure
used
SSL connections
File-level encryption
Customers choice
Customers choice
Stackato by ActiveState
languages
security options
languages
security options
languages
security options
Java C#
Keypair-based
authentication
JavaScript
Configurable role-based
permissions
Java Ruby
Keypair-based
authentication
SSL connections
PHP Node.js Go
OAuth
Groovy
C/C++
Node.js
2-factor authentication
Configurable role-based
permissions
infrastructure
used
Amazon EC2
SSH connections
Configurable role-based
permissions
SSH connections
SSL connections
infrastructure
used
SSL connections
File-level encryption
Customers choice
Customers choice
Oauth
Oauth
Pivotal CF by Pivotal
languages
security options
languages
security options
Java Ruby
SSL
Java PHP
SSL Connections
Node.js GoLang
SAML
Node.js
Oauth
JavaScript
Python Perl
infrastructure
used
SAML
30
PHP Node.js
Configurable role-based
permissions
SSH connections
infrastructure
used
Jelastic by Jelastic
OAuth
infrastructure
used
infrastructure
used
Amazon EC2,
OpenStack, or vSphere
Amazon EC2 or
Customers choice
SAML
dzone.com/research
glossary
Application Container An
isolated package of application
components and dependencies that is
infrastructure-agnostic.
DevOps An IT organizational
methodology where all teams in the
organization, especially development
teams and operations teams, collaborate
and implement technology to increase
software production agility and achieve
business goals.
Infrastructure-as-a-Service
(IaaS) A service model that delivers
self-service computing, networking and
storage resources on-demand over a
network.
31
Networking-as-a-Service
Provides computing and connectivity
resources that allow network
connections and inter-cloud connections.
Object Storage A cloud-based
storage service containing data
components that are ready to be retrieved
and manipulated on-demand in an
application.
Platform-as-a-Service (PaaS) A
cloud service model that provides the
hardware, operating systems, storage, or
network capacity needed to develop and
run applications.
Private Cloud A cloud data center
that can be hosted on-premise, behind the
companys firewall, or by a third party in a
reserved, secure space (e.g. virtual private
cloud).
Public Cloud Cloud services that are
offered over the Internet and available to
the general public.
Service Level Agreement (SLA)
A contract that specifies the consumers
IT requirements and the providers
commitment to them.
Software-as-a-Service (SaaS)
An application provided over a network
by the vendor with no installation
required.
Software-Defined Networking
(SDN) Software Defined Networking
is an approach to networking (enabled
by a commercial or in-house hardware
solution) that decouples switching and
other network handling processes from
the hardware and instead allows these
processes to be controlled completely
by a software application called a
centralized controller. This provides
more control over network traffic flow
and allows the organization to buy less
expensive network switches.
Virtual Machine A software
emulation of a physical computing
resource that can be modified
independent of the hardware attributes.
Virtual Private Cloud (VPC)
A private cloud that is hosted from a
third partys data center.offered to only
authorized users, not the general public.
DZone
Research
Guides
DZONE GUIDE TO
Continuous
Delivery
Understand the role of DevOps,
automation, testing, and other
best practices that allow
Continuous Delivery adoption.
D OW N L O AD
DZONE GUIDE TO
Databases
DOWNL O A D
Better, more
concrete, and
closer to reality
than reports
from Gartner
and Forrester...
ROBERT ZAKRZEWSKI,
DZONE MEMBER
DZONE GUIDE TO
Developer
Programs
UPCOMING IN 2015
Performance & Monitoring
Software Quality
Mobile Development
Java Ecosystem
Internet of Things
Big Data