Successfully reported this slideshow.

iOS App Continuous Deployment Strategy

4,164 views

Published on

"Release Early, Release Often" is a proven mantra and many companies have taken this one step further by releasing products to real users with every commit a.k.a Continuous Deployment (CD).

Over the years, I've built many web/infrastructure products, where we've effectively practiced CD. However at Edventure Labs, when we started building iPad games, we realised there was no easy was to practice CD, esp. given the fact that Apple review takes a few days.

Our main question was: As mobile app developers, how should we architect/design our apps for CD?

We were a young startup, learning new behaviour about our users (kids aged 5-8) everyday. We could not afford any delay in releasing latest, greatest features to our users. To solve this problem, I believe we've built an innovative solution to enable any mobile app developer to achieve CD.

If you are building real products, which have platform/3rd-party dependencies and you want to practice CD, this session is for you.

Published in: Technology
  • iOS App Continuous Deployment Strategy from Naresh Jain
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

iOS App Continuous Deployment Strategy

  1. Continuous Deployment for iOS Game Development Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com
  2. 45 mins Structure • 5 Mins - Demo of the Game • 10 Mins - Continuous Deployment (Biz Case) • 3 Mins - Challenges with CD for iPad apps • 5 Mins - Our Approach • 10 Mins - Our Architecture • 5 Mins - Recap • 7 Mins - Q & A
  3. EdventureLabs Speedmath Demo
  4. Commercial Break!
  5. Copyright © 2012, AgileFAQs. All Rights Reserved.
  6. Mumbai
  7. Tech Talks!
  8. Continuous Deployment Copyright © 2013, AgileFAQs. All Rights Reserved.
  9. CD is quite natural for companies delivering content via Web Licensed Under Creative Commons by Naresh Jain
  10. Stage 1 DB Stage 2 Static Files Structural Static Files DB Changes freesetglobal.com Si ng l De epl Cl oy ic k dev.freesetglobal.com Updates te da w Up Sync View Vie s freesetglobal.com DB Static Files Freeset - In Business for Freedom Licensed Under Creative Commons by Naresh Jain
  11. BetterConf (AgileIndia) Submission System and Online Registration System Licensed Under Creative Commons by Naresh Jain
  12. Can we embrace CD for eLearning? Rich Multi-Media Content Video, Screencasts, Quizzes, Images, Personas, etc. Programming Exercises Java, C#, C++, C & Python Mac OS, Windows, Linux, Solaris Different IDE Plugins Server side code analysis (Java, C#, C++, C & Python) Licensed Under Creative Commons by Naresh Jain
  13. This is what we did... Licensed Under Creative Commons by Naresh Jain
  14. Deploy build to inactive production servers Licensed Under Creative Commons by Naresh Jain
  15. Delivery tests verify inactive release Licensed Under Creative Commons by Naresh Jain
  16. Inactive joins the cluster Licensed Under Creative Commons by Naresh Jain
  17. Reverse proxy swaps inactive with active Licensed Under Creative Commons by Naresh Jain
  18. Licensed Under Creative Commons by Naresh Jain
  19. iOS App CD Challenges • Apple takes any where between 3 Days to 1 Week to push a new update to the app store • Pretty complicated and cumbersome signing and packing process • Need to deploy to actual iOS devices to test minor changes
  20. How did we solve this problems? • We decided to go down the HTML5 Route • Changes/Updates needed to be made at 3 levels: • Content Changes & Logic Changes • Look and Feel Changes • Infrastructure Changes
  21. Client Side Architecture JS Native
  22. Recap • Split the changes into different layers • Maximise the use of HTML5 Tech stack • Automate the heck out of things
  23. Thank You! Questions? Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com

×