Your Name 
Cloud and agile software projects Overview and Benefits 
Alain Delafosse @adelafosse 
Guillaume 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 
2 
Introduction
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 
3 
Introduction
Cloud basics 
SAAS 
PAAS 
IAAS 
20 Nov 2014 
4 
Introduction
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 
5 
Introduction
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 
6 
Leverage SAAS for software build
Case study : Cross browser testing 
•Currently manually testing my web product on various browsers, both desktop and mobile 
•http://www.gatewickairport.com/ 
•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 
7 
Leverage SAAS for software build 
demo recording: https://drive.google.com/file/d/0B_RQz82RzSUnNi1fenJ6VFZTeE0/view?usp=sharing
SaaS development tooling landscape 
Load Test 
Browser testing 
Product definition 
Design 
Code / Build 
Release 
Tests 
Coordinate 
Security testing 
CI/CD 
Collaboration 
Specifications 
SCM 
Drawing 
Bin Repositories 
This is a selection as there are many more…… 
20 Nov 2014 
8 
Leverage SAAS for software build
Benefits 
Constraints 
Running your software in the cloud 
Other structuring choices: Iaas vs Paas Public/ private / hybrid 
20 Nov 2014 
9 
Running your software in the cloud
Cloud landscape 
20 Nov 2014 
Running your software in the cloud 
10 
Open Paas 
Linux 
Containers 
Iaas 
Kubernetes 
Google Container Engine 
True Paas 
Maturity / 
Adoption
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 
11 
Running 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 
12 
Running your software in the cloud 
demo recording: https://drive.google.com/file/d/0B_RQz82RzSUnRndqdjQyZ1FxWlk/view?usp=sharing
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
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 
14 
Conclusion
•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 
15 
Conclusion
Backup slides for Q&A 
20 Nov 2014 
16
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 
17 
Running your software in the cloud

Cloud for agile_sw_projects-final

  • 1.
    Your Name Cloudand agile software projects Overview and Benefits Alain Delafosse @adelafosse Guillaume Berche @gberche
  • 2.
    Welcome ! GuillaumeBerche •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 2 Introduction
  • 3.
    Agile software projectschallenges 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 3 Introduction
  • 4.
    Cloud basics SAAS PAAS IAAS 20 Nov 2014 4 Introduction
  • 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 5 Introduction
  • 6.
    Leverage Saas forsoftware 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 6 Leverage 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.com/ •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 7 Leverage SAAS for software build demo recording: https://drive.google.com/file/d/0B_RQz82RzSUnNi1fenJ6VFZTeE0/view?usp=sharing
  • 8.
    SaaS development toolinglandscape Load Test Browser testing Product definition Design Code / Build Release Tests Coordinate Security testing CI/CD Collaboration Specifications SCM Drawing Bin Repositories This is a selection as there are many more…… 20 Nov 2014 8 Leverage SAAS for software build
  • 9.
    Benefits Constraints Runningyour software in the cloud Other structuring choices: Iaas vs Paas Public/ private / hybrid 20 Nov 2014 9 Running your software in the cloud
  • 10.
    Cloud landscape 20Nov 2014 Running your software in the cloud 10 Open Paas Linux Containers Iaas Kubernetes Google Container Engine True Paas Maturity / Adoption
  • 11.
    Different models, differentabstraction 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 11 Running your software in the cloud
  • 12.
    Case study: CloudFoundrypaas 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 12 Running 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 •Designfor 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 14 Conclusion
  • 15.
    •Conclusion: Try itduring 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 15 Conclusion
  • 16.
    Backup slides forQ&A 20 Nov 2014 16
  • 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 17 Running your software in the cloud