IBM Worldwide Lead - DevOps Technical Sales

Sanjeev Sharma

Subscribe to Sanjeev Sharma: eMailAlertsEmail Alerts
Get Sanjeev Sharma: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Continuous Integration

Blog Feed Post

New on IBM developerWorks: DevOps for mobile apps challenges and best practices

Leigh Williamson (IBM Distinguished Engineer, Rational Software CTO Team, Mobile Software Development Strategy) and I have co-written a paper on DevOps for Mobile Apps. The paper have been published this week on IBM developerWorks. In this paper Leigh and I introduce the challenges related to DevOps that are specific to Mobile Apps. Unless one is building a stand-alone game like Angry/Flappy Bird, ones mobile app is just a front-end to back-end services the business offers. These services may be running on a mainframe, a distributed system on-prem, in the cloud or may be offered by a 3rd party. It not atypical to see a combination of all of these. This brings a set of challenges when delivering a mobile app, all the way from planning, develop and test, deployment, to monitoring, as all these services/components are a part of the solution delivered by the mobile app. The mobile app hence cannot be delivered in isolation. DevOps Mobile Apps is really DevOps for the solution, which happens to have a mobile app as its front-end.

Our paper addresses the challenges this brings and the ways DevOps addresses them. This is a ‘Best Practices’ paper and not a product pitch.

Here is a short overview:

DevOps Challenges unique to Mobile Apps:

  1. Multi-platform support
  2. Mobile apps as an enterprise front end
  3. Continuous integration and continuous delivery
  4. The app store
  5. ‘Pull’ not ‘push’ deployment
  6. For consumer apps, failure is not an option

10 Best Practices to address them:

  1. Ensure end-to-end traceability across all assets
  2. Practice continuous integration
  3. Maintain separate build and integration areas for each native mobile OS SDK version supported
  4. Use automated build and deploy scripts
  5. Test each build thoroughly with as much automation as possible, on simulated and physical devices
  6. Virtualize and simulate backend services that are not available during mobile app testing
  7. Monitor the performance of deployed mobile apps and backend services
  8. Employ centralized governance for mobile provisioning profiles, certificates, and API keys
  9. Use a virtual app store to test device deployment
  10. Convert user feedback into enhancement requests and user stories

Check out the paper and pass it on to your colleagues.

Related Posts: 


Read the original blog entry...

More Stories By Sanjeev Sharma

Sanjeev is a 20-year veteran of the software industry. For the past 18 years he has been a solution architect with Rational Software, an IBM brand. His areas of expertise include DevOps, Mobile Development and UX, Lean and Agile Transformation, Application Lifecycle Management and Software Supply Chains. He is a DevOps Thought Leader at IBM and currently leads IBM’s Worldwide Technical Sales team for DevOps. He speaks regularly at conferences and has written several papers. He is also the author of the DevOps For Dummies book.

Sanjeev has an Electrical Engineering degree from The National Institute of Technology, Kurukshetra, India and a Masters in Computer Science from Villanova University, United States. He is passionate about his family, travel, reading, Science Fiction movies and Airline Miles. He blogs about DevOps at http://bit.ly/sdarchitect and tweets as @sd_architect