DevOps for Mobile - DevOpsDays, NY, 2013


Published on

My presentation from DevOpsDays, NYC. Jan 2013. Ignite format deck

Published in: Technology
1 Like
  • Be the first to comment

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

No notes for slide

DevOps for Mobile - DevOpsDays, NY, 2013

  1. 1. DevOps for Mobile Apps: Challenges and  Best Practices  Sanjeev Sharma IBM Software Group DevOpsDays 2013 New York, NY
  2. 2. Me• 18 year in the software industry• 15+ years he has been a solution architect with IBM• Areas of work: o DevOps Sanjeev Sharma o Enterprise Architecture IBM Software Group o Agile Transformation o Mobile Development o Software Delivery Platforms o Software Supply Chains.• Blog @• Twitter: @sd_architect
  3. 3. DevOps for Mobile ‐ Challenges• Mobile Apps are the Mobile App front-end to a Public Cloud Private Cloud complex(enterprise) Routing Service Collaboration Content Providers EJB Business Partners back-end system Third-party Shared Archives Services Services Portals Messaging Services File o Mobile Apps are rapidly Directory Identity systems becoming a critical user Data Warehouse Mainframe Enterprise Service Bus interface to enterprise Heterogeneous Environments systems
  4. 4. DevOps for Mobile ‐ Challenges• Fragmented Platforms o iOS forked when iPad came out. Android forked multiple times with each vendor, Kindle Fire, Nook…• HTML5, PhoneGap/ Cordova still cannot fully replace native Apps in every situation
  5. 5. DevOps for Mobile ‐ Challenges• App stores add additional asynchronous deployment step o Continuous Delivery becomes ‘deliver and wait’
  6. 6. Mobile Application Architecture:  LinkedIn ntinuous‐integration‐mobile
  7. 7. IBM’s Four DevOps Principles1. Collaborate across Disciplines2. Develop and test against a production-like system3. Deploy frequently4. Continuously validate operational quality characteristics
  8. 8. Continuous Integration and  Continuous Delivery 1. End-to-end Traceability, across all iOS Developer Components Source Library Control Deliver App Code Build Fetch Automate Android Developer Source Deployable Artifacts Artifacts Enterprise Services Developer
  9. 9. Continuous Integration and  Continuous Delivery 2. Practice Continuous IntegrationMobile AppDevelopent TeamsEnterprise ServicesDevelopent Teams
  10. 10. Continuous Integration and  Continuous Delivery 3. Maintain separate build areas for each SDK version <manifest xmlns:android="" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ... </manifest>
  11. 11. Continuous Integration and  Continuous Delivery 4. Automated Build and Deploy scripts Automated  Scripts
  12. 12. Continuous Testing and Continuous Monitoring 5. Test each build on each supported device
  13. 13. Continuous Testing and  Continuous Monitoring 6. Simulate Back-end Services Mobile App App Under Test Third-party Third-party Services ServicesTest Environments to Production Directory Portals Actual Service Identity Simulated Service Mobile App Enterprise Service Data Warehouse Mainframe Bus Heterogeneous Environments
  14. 14. Continuous Testing and Continuous Monitoring 7. Monitor deployed apps and back end services performance
  15. 15. Mobile App Delivery 8. Governance of provisioning profiles, certificates and API keys
  16. 16. Mobile App Delivery 9. Use a ‘Private’ App store to test device deployment
  17. 17. Mobile App Delivery 10. Convert App Store feedback into user stories
  18. 18. Mobile Delivery Pipeline Mobile  IDE API keys,  Provisioning  Profiles… Build, Package,.jsp .htm & Unit Test Application  l Binaries & Platform  Configuration .java chef  recipe s Deployable Artifacts Source Artifacts Library EnvironmentSource Control  Enterprise  Running System Management Services  IDE
  19. 19. IBM SmartCloud Continuous  Delivery packaging Extending Agile Development with Continuous Delivery Build -> Publish -> Deploy -> TestMobile/Enterprise ALM  Suite (Rational Team  Concert)  IBM SmartCloud Provisioning Agile  Deployment to  Development Virtual Systems 19
  20. 20. Where to get more  information?• My Blog: o• Leveraging DevOps in a water-SCRUM-fall World o• IBM Enterprise DevOps blog o