Cloud and agile software projects: Overview and Benefits
-
Upload
guillaume-berche -
Category
Software
-
view
59 -
download
0
Transcript of Cloud and agile software projects: Overview and Benefits
Your Name
Cloud and agile software projects
Overview and BenefitsAlain Delafosse @adelafosseGuillaume Berche @gberche
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
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
123
20 Nov 2014 3Introduction
Cloud attributes
• Self-service & rapid provisionning
• Pay per use
• Rapid elasticity: illusion of infinitecapacity
• 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
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 mostproducts 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
Case study : Cross browser testing
• Currently manually testing myweb product on variousbrowsers, both desktop and mobile
• http://www.gatewickairport.com/
• Need to automatically runautomated tests on multiple browsers
Context
• Leverage Sauce labs offer !
• Features: systematic videorecording, debugging tools. tunnelled accesses to privateservers
Solution
DEMO Time !
20 Nov 2014 7Leverage SAAS for software build
demo recording:
https://drive.google.com/file/d/0B_RQz82RzSUnNi1fenJ6VFZTeE0/view?usp=sharing
SaaS development tooling landscape
Load TestBrowser testing
Productdefinition
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
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
Cloud landscape
20 Nov 2014 Running your software in the cloud 10
Open PaasLinuxContainers
Iaas
Kubernetes
Google Container Engine
True Paas
Maturity /Adoption
Different models, different abstraction levels
Iaas Linux container Paas
compute& appdelivery
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)
additionalservices
blob store, long term archival
CDN
RDB, NoSql, Cache, Analytics...
idem idem
20 Nov 2014 11Running your software in the cloud
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
Iaas or PaasConsider IAAS if you have Consider PAAS if you have
TechnologyAtypical/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 platformPaas platform lock-in
Freedom, good control on platformProductivity,
Time to market
20 Nov 201413
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 externalservices
• 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
• 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
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
Cloud benefits increase with team maturity and
automation practices
FullAutomated
devops
AutoScalingAutomated
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
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
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
Cloud automation enables social coding
Automation with Cloud boosts opensourcereuse/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
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