SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
© Copyright IBM Corporation 2012, 2013 Trademarks
DevOps for mobile development Page 1 of 6
DevOps for mobile development
Integrate development and operations for quality and continuous
delivery to multiple platforms
Michael Rowe
Rational Strategist
IBM
27 September 2013
(First published 06 July 2012)
Mobile computing is probably the hottest topic for development and operations teams right now.
Employees in companies large and small have various mobile devices, many of them personal,
that they are using for work. Companies all over the world want to use the mobile market by
providing customers and users with apps that make mobile computing easier. So, it is important
for companies to think through not just the development of a mobile capability but also how they
will deploy it and how they can ensure the continuity of the capabilities as these change over
time. This article covers how DevOps (development & operations) can help address the issues
of deploying different versions of apps to different devices.
Meet the author
Meet Michael Rowe. Learn about his background and what prompted him to explore this
topic.
To view this videoDevOps for mobile developmentplease access the online version of the
article.
Mobile apps: New thought processes and behaviors
In the mobile space, there is a plethora of potential deployment platforms. In some ways it is
similar to the situation in traditional desktop development many years ago when there were
multiple competing standards. What's different about mobile is that there are not only multiple
competing operating systems, such as Android, iOS, BlackBerry, and Windows, but there are also
multiple different device characteristics: screen resolutions, processors, graphics capabilities,
networking capabilities, and more. Each of these adds a potential layer to the complexity of
deploying to mobile environments.
As a result, enterprises need to use different thought processes and behaviors when developing
and designing for mobile. For example, one approach that many companies currently use is to
focus on web-enabled mobile apps. Development teams that are already working on web portals
and web capabilities simply extend them to mobile using HTML5.
developerWorks® ibm.com/developerWorks/
DevOps for mobile development Page 2 of 6
The downside of that approach, however, is that it's not possible to exploit all of the power
and features of the different mobile platforms. Users inevitably ask for better integration with
existing native functionality on the mobile device, such as the calendar application. Meeting these
demands requires native applications if the platform does not expose APIs to access the features
— and that's when you'll start asking questions about which and how many platforms you are
going to support. In addition, how many versions of the platform will you support? Given that most
customers will only keep a device for a few years, how much risk is involved in excluding a version
and choosing not to support those customers? Do you support or exclude one entire platform,
such as iOS? One version of Android, such as 3.2? Do you extend out to the full capabilities of
Jelly Bean, the latest version of Android?
Adding to the challenge of mobile app development and deployment is what is being called the
"consumerization" of IT. More and more, employees and customers are bringing their own devices
into the enterprise environment. For example, at IBM in January, there were approximately 10,000
iPads running inside the company and more than 30,000 other iOS devices. This means that an
enterprise can no longer have a corporate standard that states they will only support iOS, version
4, because consumers are purchasing updated iPhones or Samsung Galaxies, along with tablets
and other smartphones. Although there are advantages when enterprises use their employees'
devices, consumerization creates a very large set of targeted environments, which increases costs
both in development and management.
The pitfalls of mobile app deployment
One of the main pitfalls of developing and deploying mobile apps is packaging too much change
into one large deployment. This traditional waterfall method of development is also prevalent
in enterprise application development. A company spends six to eight months working on
requirements, six to eight months developing, six to eight months testing, and then they put their
massive application into production. The problem is, during all that time, the teams involved will
likely miss requirements, lose track of components, and even break part of the build. So to reduce
that risk, the company implements a rigorous and complex governance process.
Companies often want to take this same approach to mobile development and deployment,
because they want their first release of a mobile capability into the market, whether for their user
base or employees, to be perfect. In reality, the app does not have to be perfect, it simply has to
be usable and intuitive. Most enterprises don't realize this, however, so they put a great deal of
time and effort into what can become a costly endeavor — and, often, a late one. Most apps that
are the result of waterfall development are late to market and often do not end up addressing their
users' needs.
DevOps is a way of addressing the deployment challenges of multiple operating systems, multiple
devices, and consumerization by extending the agile development methodology to quickly
deploying functionality needed for successful mobile apps.
The power of DevOps
DevOps basically addresses the need to deploy a running application, with the latest features,
out to the production environment at any given point in time. This is an agile approach, where a
ibm.com/developerWorks/ developerWorks®
DevOps for mobile development Page 3 of 6
waterfall development methodology will not work. It is important to define your requirements and
develop in small, functional pieces of business value. Every night or every 15 minutes or every
time a change is checked into the source code management system, you want to ensure that it is
possible to build your product or business function. This is the continuous integration capability of
DevOps. Further, given the complexity of enterprise mobile apps, this is not just about compiling
the code for the mobile device. Enterprise apps leverage backend systems, which may also need
to include new functionality.
Capturing the build and deploying it through the various environments requires a robust set of
continuous delivery capabilities that can push apps:
• From a developer's desktop with a simulator running Android, iOS, or another mobile platform
• To the test environment that might involve a third party testing different handsets
• To the back-end systems that expose services to be consumed by mobile devices
• And into a production environment where it is delivered to the various devices
Each platform has different characteristics from a deployment perspective; however, no matter
what the platform, for the delivery to be successful, you must identify, track, capture, and test
every change. This requires a disciplined approach that brings development and operations teams
together to ensure frequent, reliable, high-quality software deliveries. Development and operation
teams work together toward a common objective: continuous delivery of working mobile apps
without anyone assigning blame or making excuses. Automation is critical.
That's why DevOps is so powerful for mobile application development and deployment. DevOps
can:
• Capture changes
• Automate how those changes take place
• Automate testing
• Keep the changes small enough to reduce risk to the business when they are moved into a
production environment
• Ensure that, at every stage along the pipeline, appropriately packaged business functions are
replicated and pushed forward
With DevOps, you are using a disciplined and automated approach, deploying small, functional
enhancements that might, over time, become a very large, complex capability. It pushes your apps
and your updates through your provisioning capabilities to the various endpoint devices in your
mobile ecosystem. DevOps also means transparency to changes so that all the stakeholders are
aware of how new capabilities are progressing, thereby reducing the business risk. Metrics and
measures are captured and exposed on dashboards, increasing transparency and accountability.
DevOps is an ideal approach when you also consider that the timeframe for delivering mobile
apps is much shorter than for enterprise applications. Companies want to get started right
away. Therefore, it is important to take the time to integrate teams and processes on mobile app
releases and updates and help everyone understand that the objective is not perfection; the
goal is improvement. This starts everything off in the right way, and progress is faster and better.
Efficiencies happen and processes are improved at the same time they are automated.
developerWorks® ibm.com/developerWorks/
DevOps for mobile development Page 4 of 6
Conclusion
Companies all over the world want to exploit the mobile market by providing customers and
users with apps that make mobile computing easier. To do this, it is important to think through
the development of the capability, how you will deploy it, and how you can ensure the continuity
of your capabilities as you change them over time. DevOps helps ensure a successful mobile
app lifecycle that takes all of this into consideration. It brings not only automation but also
business results because DevOps tightens the feedback loop between developers and operations.
Developers can make changes more quickly, and organizations can speed the refinement and
updates of their apps.
ibm.com/developerWorks/ developerWorks®
DevOps for mobile development Page 5 of 6
Resources
Learn
• Michael is an active blogger on The Mobile Frontier.
• Read more perspectives on DevOps in the Enterprise DevOps blog.
• "Techniques for rapid mobile solution development" (developerWorks) offers concrete
suggestions on how even a small in-house team can quickly develop and deploy a well-
targeted employee app across multiple platforms.
• At the developerWorks DevOps zone, find how-to articles, technical perspectives, and
evaluation code to help developers, testers, and IT production and operations teams
understand and adopt the IBM DevOps approach to continuous software release and
sustained innovation.
Get products and technologies
• Evaluate IBM products in the way that suits you best: Download a product trial, try a product
online, use a product in a cloud environment, or spend a few hours in the SOA Sandbox
learning how to implement Service Oriented Architecture efficiently.
Discuss
• The DevOps community provides news, discussions, and training to help you and your
organization build a foundation on agile development principles and the associated DevOps
movement.
developerWorks® ibm.com/developerWorks/
DevOps for mobile development Page 6 of 6
About the author
Michael Rowe
Michael Rowe is part of the IBM Rational business strategy team and has been
focusing on the integration between development and operations in Rational for
more than four years. For the last few years, he has been looking at the intersection
between the mobile application phenomenon and existing IT infrastructure in the
context of how to manage the development and deployment of these apps on the
infrastructure.
© Copyright IBM Corporation 2012, 2013
(www.ibm.com/legal/copytrade.shtml)
Trademarks
(www.ibm.com/developerworks/ibm/trademarks/)

Mais conteúdo relacionado

Mais de IBM Software India

The Rise of Private Modular Cloud
The Rise of Private Modular CloudThe Rise of Private Modular Cloud
The Rise of Private Modular CloudIBM Software India
 
Achieving Scalability and Speed with Softlayer
Achieving Scalability and Speed with SoftlayerAchieving Scalability and Speed with Softlayer
Achieving Scalability and Speed with SoftlayerIBM Software India
 
Build your own Cloud & Infrastructure
Build your own Cloud & InfrastructureBuild your own Cloud & Infrastructure
Build your own Cloud & InfrastructureIBM Software India
 
Web version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreWeb version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreIBM Software India
 
Maa s360 10command_ebook-bangalore[1]
Maa s360 10command_ebook-bangalore[1]Maa s360 10command_ebook-bangalore[1]
Maa s360 10command_ebook-bangalore[1]IBM Software India
 
Maa s360 10command_ebook-bangalore
Maa s360 10command_ebook-bangaloreMaa s360 10command_ebook-bangalore
Maa s360 10command_ebook-bangaloreIBM Software India
 
Web version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreWeb version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreIBM Software India
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app developmentIBM Software India
 
Buyer’s checklist for mobile application platforms
Buyer’s checklist for mobile application platformsBuyer’s checklist for mobile application platforms
Buyer’s checklist for mobile application platformsIBM Software India
 
Social business for innovation
Social business for innovationSocial business for innovation
Social business for innovationIBM Software India
 
The Forrester Wave - Big Data Hadoop
The Forrester Wave - Big Data HadoopThe Forrester Wave - Big Data Hadoop
The Forrester Wave - Big Data HadoopIBM Software India
 
Forrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsForrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsIBM Software India
 
Analytics - The speed advantage
Analytics - The speed advantageAnalytics - The speed advantage
Analytics - The speed advantageIBM Software India
 
The next generation data center
The next generation data centerThe next generation data center
The next generation data centerIBM Software India
 

Mais de IBM Software India (20)

The Rise of Private Modular Cloud
The Rise of Private Modular CloudThe Rise of Private Modular Cloud
The Rise of Private Modular Cloud
 
Achieving Scalability and Speed with Softlayer
Achieving Scalability and Speed with SoftlayerAchieving Scalability and Speed with Softlayer
Achieving Scalability and Speed with Softlayer
 
Build your own Cloud & Infrastructure
Build your own Cloud & InfrastructureBuild your own Cloud & Infrastructure
Build your own Cloud & Infrastructure
 
Web version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreWeb version-ab cs-book-bangalore
Web version-ab cs-book-bangalore
 
Maa s360 10command_ebook-bangalore[1]
Maa s360 10command_ebook-bangalore[1]Maa s360 10command_ebook-bangalore[1]
Maa s360 10command_ebook-bangalore[1]
 
Maa s360 10command_ebook-bangalore
Maa s360 10command_ebook-bangaloreMaa s360 10command_ebook-bangalore
Maa s360 10command_ebook-bangalore
 
Web version-ab cs-book-bangalore
Web version-ab cs-book-bangaloreWeb version-ab cs-book-bangalore
Web version-ab cs-book-bangalore
 
White paper native, web or hybrid mobile app development
White paper  native, web or hybrid mobile app developmentWhite paper  native, web or hybrid mobile app development
White paper native, web or hybrid mobile app development
 
Buyer’s checklist for mobile application platforms
Buyer’s checklist for mobile application platformsBuyer’s checklist for mobile application platforms
Buyer’s checklist for mobile application platforms
 
SoftLayer Overview
SoftLayer OverviewSoftLayer Overview
SoftLayer Overview
 
Standing apart in the cloud
Standing apart in the cloudStanding apart in the cloud
Standing apart in the cloud
 
Social business for innovation
Social business for innovationSocial business for innovation
Social business for innovation
 
Liking to leading
Liking to leadingLiking to leading
Liking to leading
 
Focus on work. Not on inbox
Focus on work. Not on inboxFocus on work. Not on inbox
Focus on work. Not on inbox
 
The Forrester Wave - Big Data Hadoop
The Forrester Wave - Big Data HadoopThe Forrester Wave - Big Data Hadoop
The Forrester Wave - Big Data Hadoop
 
Forrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platformsForrester Wave - Big data streaming analytics platforms
Forrester Wave - Big data streaming analytics platforms
 
Analytics - The speed advantage
Analytics - The speed advantageAnalytics - The speed advantage
Analytics - The speed advantage
 
The Future Data Center
The Future Data CenterThe Future Data Center
The Future Data Center
 
The next generation data center
The next generation data centerThe next generation data center
The next generation data center
 
The road to hybrid computing
The road to hybrid computingThe road to hybrid computing
The road to hybrid computing
 

Último

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Dev ops for mobile development

  • 1. © Copyright IBM Corporation 2012, 2013 Trademarks DevOps for mobile development Page 1 of 6 DevOps for mobile development Integrate development and operations for quality and continuous delivery to multiple platforms Michael Rowe Rational Strategist IBM 27 September 2013 (First published 06 July 2012) Mobile computing is probably the hottest topic for development and operations teams right now. Employees in companies large and small have various mobile devices, many of them personal, that they are using for work. Companies all over the world want to use the mobile market by providing customers and users with apps that make mobile computing easier. So, it is important for companies to think through not just the development of a mobile capability but also how they will deploy it and how they can ensure the continuity of the capabilities as these change over time. This article covers how DevOps (development & operations) can help address the issues of deploying different versions of apps to different devices. Meet the author Meet Michael Rowe. Learn about his background and what prompted him to explore this topic. To view this videoDevOps for mobile developmentplease access the online version of the article. Mobile apps: New thought processes and behaviors In the mobile space, there is a plethora of potential deployment platforms. In some ways it is similar to the situation in traditional desktop development many years ago when there were multiple competing standards. What's different about mobile is that there are not only multiple competing operating systems, such as Android, iOS, BlackBerry, and Windows, but there are also multiple different device characteristics: screen resolutions, processors, graphics capabilities, networking capabilities, and more. Each of these adds a potential layer to the complexity of deploying to mobile environments. As a result, enterprises need to use different thought processes and behaviors when developing and designing for mobile. For example, one approach that many companies currently use is to focus on web-enabled mobile apps. Development teams that are already working on web portals and web capabilities simply extend them to mobile using HTML5.
  • 2. developerWorks® ibm.com/developerWorks/ DevOps for mobile development Page 2 of 6 The downside of that approach, however, is that it's not possible to exploit all of the power and features of the different mobile platforms. Users inevitably ask for better integration with existing native functionality on the mobile device, such as the calendar application. Meeting these demands requires native applications if the platform does not expose APIs to access the features — and that's when you'll start asking questions about which and how many platforms you are going to support. In addition, how many versions of the platform will you support? Given that most customers will only keep a device for a few years, how much risk is involved in excluding a version and choosing not to support those customers? Do you support or exclude one entire platform, such as iOS? One version of Android, such as 3.2? Do you extend out to the full capabilities of Jelly Bean, the latest version of Android? Adding to the challenge of mobile app development and deployment is what is being called the "consumerization" of IT. More and more, employees and customers are bringing their own devices into the enterprise environment. For example, at IBM in January, there were approximately 10,000 iPads running inside the company and more than 30,000 other iOS devices. This means that an enterprise can no longer have a corporate standard that states they will only support iOS, version 4, because consumers are purchasing updated iPhones or Samsung Galaxies, along with tablets and other smartphones. Although there are advantages when enterprises use their employees' devices, consumerization creates a very large set of targeted environments, which increases costs both in development and management. The pitfalls of mobile app deployment One of the main pitfalls of developing and deploying mobile apps is packaging too much change into one large deployment. This traditional waterfall method of development is also prevalent in enterprise application development. A company spends six to eight months working on requirements, six to eight months developing, six to eight months testing, and then they put their massive application into production. The problem is, during all that time, the teams involved will likely miss requirements, lose track of components, and even break part of the build. So to reduce that risk, the company implements a rigorous and complex governance process. Companies often want to take this same approach to mobile development and deployment, because they want their first release of a mobile capability into the market, whether for their user base or employees, to be perfect. In reality, the app does not have to be perfect, it simply has to be usable and intuitive. Most enterprises don't realize this, however, so they put a great deal of time and effort into what can become a costly endeavor — and, often, a late one. Most apps that are the result of waterfall development are late to market and often do not end up addressing their users' needs. DevOps is a way of addressing the deployment challenges of multiple operating systems, multiple devices, and consumerization by extending the agile development methodology to quickly deploying functionality needed for successful mobile apps. The power of DevOps DevOps basically addresses the need to deploy a running application, with the latest features, out to the production environment at any given point in time. This is an agile approach, where a
  • 3. ibm.com/developerWorks/ developerWorks® DevOps for mobile development Page 3 of 6 waterfall development methodology will not work. It is important to define your requirements and develop in small, functional pieces of business value. Every night or every 15 minutes or every time a change is checked into the source code management system, you want to ensure that it is possible to build your product or business function. This is the continuous integration capability of DevOps. Further, given the complexity of enterprise mobile apps, this is not just about compiling the code for the mobile device. Enterprise apps leverage backend systems, which may also need to include new functionality. Capturing the build and deploying it through the various environments requires a robust set of continuous delivery capabilities that can push apps: • From a developer's desktop with a simulator running Android, iOS, or another mobile platform • To the test environment that might involve a third party testing different handsets • To the back-end systems that expose services to be consumed by mobile devices • And into a production environment where it is delivered to the various devices Each platform has different characteristics from a deployment perspective; however, no matter what the platform, for the delivery to be successful, you must identify, track, capture, and test every change. This requires a disciplined approach that brings development and operations teams together to ensure frequent, reliable, high-quality software deliveries. Development and operation teams work together toward a common objective: continuous delivery of working mobile apps without anyone assigning blame or making excuses. Automation is critical. That's why DevOps is so powerful for mobile application development and deployment. DevOps can: • Capture changes • Automate how those changes take place • Automate testing • Keep the changes small enough to reduce risk to the business when they are moved into a production environment • Ensure that, at every stage along the pipeline, appropriately packaged business functions are replicated and pushed forward With DevOps, you are using a disciplined and automated approach, deploying small, functional enhancements that might, over time, become a very large, complex capability. It pushes your apps and your updates through your provisioning capabilities to the various endpoint devices in your mobile ecosystem. DevOps also means transparency to changes so that all the stakeholders are aware of how new capabilities are progressing, thereby reducing the business risk. Metrics and measures are captured and exposed on dashboards, increasing transparency and accountability. DevOps is an ideal approach when you also consider that the timeframe for delivering mobile apps is much shorter than for enterprise applications. Companies want to get started right away. Therefore, it is important to take the time to integrate teams and processes on mobile app releases and updates and help everyone understand that the objective is not perfection; the goal is improvement. This starts everything off in the right way, and progress is faster and better. Efficiencies happen and processes are improved at the same time they are automated.
  • 4. developerWorks® ibm.com/developerWorks/ DevOps for mobile development Page 4 of 6 Conclusion Companies all over the world want to exploit the mobile market by providing customers and users with apps that make mobile computing easier. To do this, it is important to think through the development of the capability, how you will deploy it, and how you can ensure the continuity of your capabilities as you change them over time. DevOps helps ensure a successful mobile app lifecycle that takes all of this into consideration. It brings not only automation but also business results because DevOps tightens the feedback loop between developers and operations. Developers can make changes more quickly, and organizations can speed the refinement and updates of their apps.
  • 5. ibm.com/developerWorks/ developerWorks® DevOps for mobile development Page 5 of 6 Resources Learn • Michael is an active blogger on The Mobile Frontier. • Read more perspectives on DevOps in the Enterprise DevOps blog. • "Techniques for rapid mobile solution development" (developerWorks) offers concrete suggestions on how even a small in-house team can quickly develop and deploy a well- targeted employee app across multiple platforms. • At the developerWorks DevOps zone, find how-to articles, technical perspectives, and evaluation code to help developers, testers, and IT production and operations teams understand and adopt the IBM DevOps approach to continuous software release and sustained innovation. Get products and technologies • Evaluate IBM products in the way that suits you best: Download a product trial, try a product online, use a product in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement Service Oriented Architecture efficiently. Discuss • The DevOps community provides news, discussions, and training to help you and your organization build a foundation on agile development principles and the associated DevOps movement.
  • 6. developerWorks® ibm.com/developerWorks/ DevOps for mobile development Page 6 of 6 About the author Michael Rowe Michael Rowe is part of the IBM Rational business strategy team and has been focusing on the integration between development and operations in Rational for more than four years. For the last few years, he has been looking at the intersection between the mobile application phenomenon and existing IT infrastructure in the context of how to manage the development and deployment of these apps on the infrastructure. © Copyright IBM Corporation 2012, 2013 (www.ibm.com/legal/copytrade.shtml) Trademarks (www.ibm.com/developerworks/ibm/trademarks/)