Slides from the session "Cloud and agile software projects: Overview and Benefits" at Agile Grenoble 2014, co presented by Guillaume Berche and Alain Delafosse.
http://agile-grenoble.org/
Cloud and agile software projects: Overview and Benefits
1. Your Name
Cloud and agile software projects
Overview and Benefits
Alain Delafosse @adelafosse
Guillaume Berche @gberche
2. Welcome !
Guillaume Berche
• Orange, Y!, Kelkoo
• Cloud, PAAS, Dev
Alain Delafosse
• Capgemini, Kelkoo
• Cloud, IAAS, DevOps
• Session Contract:
Synthesis on leveraging Cloud for your agile
dev project
• Level: Beginner -> Experienced
• Audience : developers, projects managers,
architects
•Session Outline:
- Introduction
- Leveraging SAAS for software build
- Demo 1
- Running your software in the cloud
- Demo 2
- Conclusion
20 Nov 2014 2Introduction
3. Agile software projects challenges
Software development tooling
• Getting complex
• Expensive to deploy and maintain
Team is agile, infrastructure is not
• Provisionning delays
• Architecture is evolving along with the
business requirements changes
Agile Product definition
• Iterative requires strong collaboration
• Sometimes distributed team
• Frequent tests run
1
2
3
20 Nov 2014 3Introduction
5. Cloud attributes
• Self-service & rapid provisionning
• Pay per use
• Rapid elasticity: illusion of infinite
capacity
• Network based, location
independence
• Cloud APIs
• Measured service, SLAs
Cloud and Agile software projects
Self-organizing teams •
Continuous attention to technical •
excellence and good design--
Working software is delivered •
frequently (weeks rather than--
months)--
Regular adaptation to changing •
circumstances--
Welcome changing requirements •
even late in development--
Agile principles
20 Nov 2014 5Introduction
6. Leverage Saas for software build
• Description: Provision a software factory in the cloud
• Pro:
• Lead time, you have a software factory within minutes
• Try it with your credit card, show the benefits.
• Con
• Watch for confidentiality issues if your app is sensitive.
Scenario 1: develop in the cloud
• Description: Integrate SAAS tools into your on-premise software factory
• Pro:
• Some tools enables real-time collaboration for remote teams while most
products available for private installation don’t.
• Tools remains up-to-date and patched.
• Con
• Assess integration costs and lock-in risk versus in house deployment
Scenario 2: integrate cloud/web SAAS solutions
Leverage the SaaS ecosystem can speed up agile teams bootstrap, and give access to
best in class tools during the build phase.
20 Nov 2014 6Leverage SAAS for software build
7. Case study : Cross browser testing
• Currently manually testing my
web product on various
browsers, both desktop and
mobile
• http://www.gatewickairport.co
m/
• Need to automatically run
automated tests on multiple
browsers
Context
• Leverage Sauce labs offer !
• Features: systematic video
recording, debugging tools.
tunnelled accesses to private
servers
Solution
DEMO Time !
20 Nov 2014 7Leverage SAAS for software build
demo recording:
https://drive.google.com/file/d/0B_RQz82RzSUnNi1fenJ6VFZTeE0/view?usp=sharing
8. SaaS development tooling landscape
Load TestBrowser testing
Product
definition
Design Code / Build ReleaseTestsCoordinate
Security testing
CI/CD
Collaboration
Specifications
SCM
Drawing
Bin Repositories
This is a selection as there are many more……
20 Nov 2014 8Leverage SAAS for software build
9. Benefits Constraints
Running your software in the cloud
Other structuring choices: Iaas vs Paas Public/ private / hybrid
20 Nov 2014 9Running your software in the cloud
10. Cloud landscape
20 Nov 2014 Running your software in the cloud 10
Open PaasLinux
Containers
Iaas
Kubernetes
Google Container
Engine
True Paas
Maturity /
Adoption
11. Different models,
different abstraction levels
Iaas Linux container Paas
compute
& app
delivery
x86 vm image (AMI, OVF)
+ VM parameters (accessible
thru REST metadata service,
vmwaretools)
os image (docker image)
+ ENV vars
app source or binaries:
(*.php, *.jar, *.js)
+ ENV vars
networking
L2 virtual networking: virtual nic (eth,
mac addr), public/private IP, virtual
network (CIDR)
Load Balancer (TCP, HTTP)
Managed DNS (Route 53 API)
L4 TCP port binding L7 HTTP(S) virtual host
storage
Device block (attached device),
epheremal + persistent
Data volumes ( file system) Ephemeral file system
Object store (S3)
additional
services
blob store, long term archival
CDN
RDB, NoSql, Cache, Analytics...
idem idem
20 Nov 2014 11Running your software in the cloud
12. Case study: CloudFoundry paas deployment
• compile app: travel.war
• download CLI
• login
• create newrelic
• create redis
• create mysql
• push app binaries
(travel.war)
– with route, ram,
• watch logs
• watch metrics
• scale 5
DEMO Time !
20 Nov 2014 12Running your software in the cloud
demo recording:
https://drive.google.com/file/d/0B_RQz82RzSUnRndqdjQyZ1FxWlk/view?usp=sharing
13. Iaas or Paas
Consider IAAS if you have Consider PAAS if you have
Technology
Atypical/specific needs
(protocols, language, middlewares)
Standardized software stack and
programming model
• An existing wide technical
expertise (from build, qa, run) to
manage the whole stack
• A capacity to select, integrate,
maintain many individual
heterogeneous components
Skills
A preference for reduced
complexity and a focus customer
needs rather than tech plumbing
Team
A team with tight collaboration
among dev and ops withshared
ownership of infrastructure
automation
A dev oriented team with few
competencies across the full
stack
Benefit
Risk Iaas services lock-in
Effort to maintain platform
Paas platform lock-in
Freedom, good control on platform
Productivity,
Time to market
20 Nov 2014
13
14. Cloud architecture
• Design for failure , for scalability ,
hence stateless
• No local data on servers, servers
storage is ephemeral => move all
state to services
• Data: cipher you “critical” data
when running in the cloud: HTTPS,
ciphered payload (CPU is not
expensive)
• Separate read and writes services
(CQRS pattern)
• Hybrid patterns
• Cloud overflow
• Web UI in the cloud, Core web
services on premise
Cloud lock-in
• Encapsulate API usage of external
services
• Balance usage of added value
services versus lock-in.
Automation: use the maximum of
multicloud APIs: jclouds, fog,
libcloud,
Developing and running: The key points
20 Nov 2014 14Conclusion
15. • Conclusion: Try it during build or run
• Questions ?
• ROTI (Return on time invested)
– don’t forget to give your feedback
• Slides to be shared, check out our twitter accounts
• Let’s meet tomorrow at Agile Innovation
• Share your own cloud adoption experience #AG14 #cloud
@gberche @alaindelafosse
20 Nov 2014 15Conclusion
17. Public / Hybrid / Private infrastructure
• Controlable model but more
integration work required
• Private for dev and public
for run (or the opposite!)
• Mixed run mode (private for
webservices and critical
data, cloud for front-end
and CDN)
• Overflow/bursting to Cloud
• Cost might not be that effective
if you’re using basic infra
(automation is key)
• Have to deal with
confidentiality and security
• Risk of lock-in
• Reversibility to
private/dedicated hosting
• Enable access to a large
ecosystem: monitoring, logs
PUBLIC
More mature and more
comprehensive
HYBRID
Take the best of both
worlds
• Significant investments and
maintenance costs
• Much restricted offering
• Products are still maturing for
basic offers (Iaas, Paas)
• Fewer products for
specialized services
(RDBMS, NoSql, Caches,
Logs, Analytics, BigData…)
PRIVATE
Deploy a IAAS of
PAAS framework on
your premises
20 Nov 2014 17Running your software in the cloud
18. Cloud benefits increase
with team maturity and
automation practices
Full
Automated
devops
AutoScaling
Automated
Fault
tolerance ...
Team
maturity
Value
CI= jenskin ds le cloud
cd: provisionner des vm pour les test
SaaS (CMS,
mockups,
tracker, GIT
….)20 Nov 2014 18
19. Team Impact of cloud usage ??
Cloud impact on roles distribution within an agile
team:
organization transformation: moves the lines
between dev and ops
20 Nov 2014 19
20. Q&A: What about you?
What’s your experience so far ?
• Interactive part
– more audience survey: SMB vs large enterprise
– split according to survey results
– share your experience using your post-its and
organize them into clusters:
•challenges/issues (orange post-it)
•success/solutions (green post-its)
20 Nov 2014 20
21. Cloud automation enables social coding
Automation with Cloud boosts opensource
reuse/sharing/social coding => more productive
e.g. netflix opensource components
distribution of opensource or cots as
AMIs/appliances/ docker images / paas apps
20 Nov 2014 21
22. Use of templates
You are free to use these templates for your personal
and business presentations.
Do
Use these templates for your
presentations
Display your presentation on a web
site provided that it is not for the
purpose of downloading the template.
If you like these templates, we would
always appreciate a link back to our
website. Many thanks.
Don’t
Resell or distribute these templates
Put these templates on a website for
download. This includes uploading
them onto file sharing networks like
Slideshare, Myspace, Facebook, bit
torrent etc
Pass off any of our created content as
your own work
You can find many more free PowerPoint templates
on the Presentation Magazine website
www.presentationmagazine.com
We have put a lot of work into developing all these templates and retain the copyright
in them. You can use them freely providing that you do not redistribute or sell them.
20 Nov 2014 22