Mobile DevOps - Trends and Chellenges


Published on

Presentation on Mobile DevOps. Presented at MoDevTablet conference on Sept. 14th. Focuses on:
- What is DevOps?
- What are the challenges of DevOps for Mobile?
- Best practices for Mobile DevOps

Blog post:

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mobile DevOps - Trends and Chellenges

  1. 1. Mobile DevOps Challenges and Trends Sanjeev Sharma IBM Software Group MoDevTablet 2012 Arlington, VA
  2. 2. Please note (Mandatory legalese)IBM’s statements regarding its plans, directions, and intent are subject tochange or withdrawal without notice at IBM’s sole discretion.Information regarding potential future products is intended to outline ourgeneral product direction and it should not be relied on in making a purchasingdecision.The information mentioned regarding potential future products is not acommitment, promise, or legal obligation to deliver any material, code orfunctionality. Information about potential future products may not beincorporated into any contract. The development, release, and timing of anyfuture features or functionality described for our products remains at our solediscretion.Performance is based on measurements and projections using standard IBM benchmarksin a controlled environment.  The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed.  Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.
  3. 3. Me• Sanjeev is a 18 year veteran of the software industry. For the past 15+ years he has been a solution architect with IBM. His current area of expertise includes Enterprise Sanjeev Sharma Architecture, Agile Transformation, @sd_architect Mobile Development, Software Executive IT Specialist Delivery Platforms, DevOps and IBM Rational Specialty Software Supply Chains. He has Architect IBM Software Group spoken at several international Ashburn, VA industry conferences and written internal and external articles.• Sanjeev blogs @
  4. 4. What is DevOps?
  5. 5. Why DevOp? ‐ Delivery  Challenges Dev & Test OperationsCustomers Line of Business Teams Team 1st 2nd Gap Gap Desire for fastand continuous Business Requirements Code & Tests innovation Services
  6. 6. Addressing delivery  challenges Dev & Test OperationsCustomers Line of Business Teams Team 1st 2nd Gap GapDesire for fastand continuous Business Requirements Code & Testsinnovation Services Addressed by... Addressed by... Agile Dev Dev Ops
  7. 7. Agile development and delivery Continuous Integration extends to Continuous Delivery Build PublishDesign Agile Dev Deploy Dev Test Test Ops Prioritize Monitor Continuous Feedback Accelerated Delivery with Reduced Risk
  8. 8. Addressing only the first gap Functional  Agile Testing Dev Acceptance  Testing Production Operator Setup  (weeks) Install Water-SCRUM-Fall?CI builds are piling up
  9. 9. DevOps is…A set of principles and values thatfacilitate collaboration acrossdisciplines to… People • Enable rapid evolution of Process deployed business services Information• Reduce risk, decrease cost, and improve quality across the portfolio
  10. 10. Three DevOps Principles1. Develop and test against a production-like system2. Deploy frequently3. Continuously validate operational quality characteristics
  11. 11. Mobile DevOps  challenges
  12. 12. Mobile DevOps Challenges• Fragmented Platforms o iOS forked when iPad came out. Android forked multiple times with each vendor, Kindle Fire, Nook…• HTML5 / Cordova still cannot fully replace native• Mobile Apps are typically the front-end to a complex(potentially enterprise) back-end system• App stores add additional asynchronous deployment step
  13. 13. Mobile Application Architecture:  LinkedIn ntinuous‐integration‐mobile
  14. 14. 10 Mobile DevOps  Best Practices
  15. 15. 10 Mobile DevOps Practices 1. Common team repository, with version control for all artifactsInfrastructur e Developer Source Library Control Deliver Application Build Fetch Automate App Developer Code Source Deployable Artifacts Artifacts Tester
  16. 16. 10 Mobile DevOps Practices2. Practice Continuous Integration o Have a central Build and Integration server
  17. 17. 10 Mobile DevOps Practices 3. Maintain separate build and integration areas for each SDK version supported<manifest xmlns:android="" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ...</manifest>
  18. 18. 10 Mobile DevOps Practices4. Automated Build and Deploy scripts o Manage and version the scripts like code o Make each build reproducible at any time Automated  Scripts
  19. 19. 10 Mobile DevOps Practices 5. Test each buildo On simulated and physical devices
  20. 20. 10 Mobile DevOps Practices 6. End-to-end Testing: o Virtualize back end services that are not available during testing Mobile App App Under Test Third-party Third-party Services ServicesTest Environments to Production Actual Service Directory Portals Simulated Service Identity Mobile App Enterprise Service Data Warehouse Mainframe Bus Heterogeneous Environments
  21. 21. 10 Mobile DevOps Practices7. Centralized governance of provider provisioning profiles, certificates and API keys
  22. 22. 10 Mobile DevOps Practices8. Monitor deployed app and back end services performance
  23. 23. 10 Mobile DevOps Practices9. Use a ‘virtual’ App store to test deployment devices
  24. 24. 10 Mobile DevOps Practices10.Create a process to convert Test user and actual user feedback into enhancement requests/user stories
  25. 25. DevOps for the back‐ end
  26. 26. Multi-stage Delivery Pipelines Pipeline dashboards provide feedback for Changes trigger Library the flow of changes pipeline execution (deployables) through the pipeline Delivery Pipeline Reporting/Dashboards/Analytics QA Stage SCM Build Dev Pre- Promote to(Source code & Production Stage Stage Productionconfigurations) Stage Performance Stage Each stage defines Approval gates with tasks and automated/manual Stages can be run in configuration settings approvals provide parallel with entrance and exit compliance checking criteria 26
  27. 27. Capabilities Supporting DevOps Generate automation Deployment  Pull configurations Design Continuous  Configuration Automation Integration OSLC OSLC OSLC Trigger  Update  Delivery configuration s Trigger Pull  deployment Deploy changes Delivery  Provisioning  service  Pipeline Automation and App Change  Collaborative Lifecycle OSLC OSLC Management Start stubs Management OSLC Configure  endpoints Service  Trigger  Simulation &  Cloud +  Track  Track  work tests Testing Mobile App  work OSLC store Track  Configure  Monitor  quality agents application Requirement  Quality  Application  Management Management Monitoring OSLC OSLC OSLC Track  Link defect incident Incident  Management OSLC
  28. 28. What is your DevOps  Maturity?
  29. 29. 12 Steps to better DevOps1. Do your developers and operators communicate the production realities and the applications requirements?2. Do you version deployment configuration and scripts along with your source code?3. Do you have patterns for platforms and applications, designed jointly by development and operations?4. Can your developers launch and destroy production-like environments from those patterns?5. Are your patterns based on reusable deployment configuration scripts?6. Can you deploy an environment (platform and application) in one step?7. Do you deploy your applications daily into production-like environments and verify them?8. Do you link bugs and work items to changes in the application and configuration?9. Do you associate tickets for production issues with relevant bugs opened for development to fix?10. Do you have automated tests to validate your application and platform function and characteristics?11. Do you monitor software against expectations after deploying your application?12. Do you have a delivery pipeline exposed through a summary dashboard to assess delivery velocity?
  30. 30. Where to get more  information?• My Blog: o• Enterprise DevOps blog o• 6 Ways for Enterprises to Adopt DevOps blog o
  31. 31.
  32. 32. Acknowledgements and disclaimersAvailability: References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views.  They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant.  While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS‐IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.© Copyright IBM Corporation 2012. All rights reserved. – U.S. Government Users Restricted Rights ‐ Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.IBM, the IBM logo,, Rational, the Rational logo, Telelogic, the Telelogic logo, Green Hat, the Green Hat logo, and other IBM products and services are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at
  33. 33.© Copyright IBM Corporation 2012.  All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied.  IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials.  Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement  governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.  Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.  IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.