ios app continuous deployment strategy

Post on 06-May-2015

2.881 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

"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.

TRANSCRIPT

Continuous Deployment for iOS Game Development

Naresh Jain naresh@agilefaqs.com

@nashjain http://nareshjain.com

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

EdventureLabs Speedmath Demo

Commercial Break!

Copyright © 2012, AgileFAQs. All Rights Reserved.

Mumbai

Tech Talks!

Copyright © 2013, AgileFAQs. All Rights Reserved.

Continuous Deployment

Licensed Under Creative Commons by Naresh Jain

CD is quite natural for companies delivering

content via Web

Licensed Under Creative Commons by Naresh Jain

freesetglobal.com

Updates View

DB

StaticFiles

Stage 1

Structural

Changes

freesetglobal.com

Upda

tes View

DB

StaticFiles

Stage 2

dev.freesetglobal.com

DB

StaticFiles

Single-Click

Deploy

Sync

Freeset - In Business for Freedom

Licensed Under Creative Commons by Naresh Jain

BetterConf (AgileIndia) Submission System and

Online Registration System

Licensed Under Creative Commons by Naresh Jain

Can we embrace CD for eLearning?

Rich Multi-Media ContentVideo, Screencasts, Quizzes, Images, Personas, etc.

Programming ExercisesJava, 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

This is what we did...

Licensed Under Creative Commons by Naresh Jain

Deploy build to inactive production servers

Licensed Under Creative Commons by Naresh Jain

Delivery tests verify inactive release

Licensed Under Creative Commons by Naresh Jain

Inactive joins the cluster

Licensed Under Creative Commons by Naresh Jain

Reverse proxy swaps inactive with active

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

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

Client Side Architecture

JSNative

Recap

• Split the changes into different layers

• Maximise the use of HTML5 Tech stack

• Automate the heck out of things

Thank You!Questions?

Naresh Jain naresh@agilefaqs.com

@nashjain http://nareshjain.com

top related