1. DevOps for Mobile Apps
Leigh Williamson (@leighawillia)
IBM Distinguished Engineer
Rational CTO team – Mobile Strategy
Sanjeev Sharma (@sd_architect)
Executive IT Specialist
Rational Specialty Architect
IBM Software Group
2. The Broadest
Portfolio of
Mobile
Solutions
The Deepest
Set of
Services
Expertise
New Industry
Partnerships
and Resources
for Developers
The Industry’s Most Comprehensive Mobile Portfolio
3. IBM MobileFirst Offering Portfolio
AnalyticsSecurityManagement
IBM & Partner Applications
Application Platform and Data Services
Banking Insuranc
e
Transpor
t
Teleco
m
Governmen
t
Industry Solutions
Healthcar
e
Retail Automotive
Application & Data Platform
Strategy&DesignServices
Development&IntegrationServices
Cloud & Managed Services
Devices Network Servers
4. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
5. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
6. dev·ops noun 'dev-äps
Enterprise capability for continuous software delivery that enables clients
to seize market opportunities and reduce time to customer feedback.
DevOps: A blueprint for continuous delivery
of software-driven innovation
Accelerated software delivery
Reduced time to obtain and
respond to customer feedback
Improved governance across the lifecycle
Balanced quality, cost and speed
DevOps Lifecycle
Continuous Feedback and Improvements
Operations/Produ
ction
Development/Tes
t
Customers Business
Owners
6
7. Key Concepts
The key concepts of DevOps
1. Continuous Integration
2. Continuous Delivery
3. Continuous Test
4. Continuous Monitoring
5. Build and Delivery Pipeline
6. Infrastructure as Code
7. Organizational Change
10. 6. Infrastructure as Code / Software Defined
Environment
package "apache2" do
package_name node['apache']['package']
end
service "apache2" do
case node['platform_family']
when "rhel", "fedora", "suse"
service_name "httpd"
# If restarted/reloaded too quickly httpd has a habit of failing.
# This may happen with multiple recipes notifying apache to restart
- like
# during the initial bootstrap.
restart_command "/sbin/service httpd restart && sleep 1"
reload_command "/sbin/service httpd reload && sleep 1"
12. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
13. DevOps for Mobile - Challenges
Mobile Apps are the front-end to a
complex(enterprise) back-end
system
–Mobile Apps are rapidly becoming a
critical user interface to enterprise
systems
–But they are just one part of a multi-tier,
multi-component application “eco-
system”
–Developing and delivering mobile apps
requires coordination across that whole
eco-system
Heterogeneous Environments
Public Cloud
Private Cloud
Data Warehouse Mainframe
Enterprise
Service Bus
Directory
Identity
File
systems
Collaboration
Mobile App
Routing
Service
Third-party
Services
Portals
Content
Providers EJB
Shared
ServicesArchives
Business
Partners
Messaging
Services
15. DevOps for Mobile - Challenges
Fragmented Platforms
– Multiple mobile operating
systems
– Multiple devices & form factors
– Multiple implementation
technology choices
Frequently a mix of technology is
involved for mobile app
implementation
App stores add additional
asynchronous deployment step
17. DevOps Principles and Values
Develop and test against a production-like system
Iterative and frequent deployments using
repeatable and reliable processes
Continuously monitor and validate operational
quality characteristics
Amplify feedback loops
People
Process
Tools
People
Process
Tools
18. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
19. 1. End-to-end Traceability, across
all Components
Build
Deliver Back-end
Services
Deliver App
Code
Deliver
App Code
Automate
Library
Deployable
Artifacts
Source
Artifacts
Fetch
Source
Control
iOS
Developer
Android
Developer
Enterprise
Services
Developer
Continuous Integration and Continuous Delivery
20. 2. Practice Continuous Integration
Enterprise
Services
Developent
Teams
Mobile App
Developent
Teams
Continuous Integration and Continuous Delivery
21. 3. Maintain separate build areas for
each SDK version
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
...
</manifest>
Continuous Integration and Continuous Delivery
22. 4. Automated Build and Deploy
scripts
Automated
Scripts
Continuous Integration and Continuous Delivery
23. 5. Test each build on each
supported device
Continuous Testing and Continuous Monitoring
24. 6. Simulate Back-end Services
Heterogeneous Environments
Mobile App
Data Warehouse Mainframe
Enterprise Service
Bus
Directory
Identity
App Under Test
Third-party
Services
Portals
Third-party
Services
Test Environments to ProductionTest Environments to Production
Actual Service
Simulated Service
Mobile App
Continuous Testing and Continuous Monitoring
25. 7. Monitor deployed apps and back
end services performance
Continuous Testing and Continuous Monitoring
26. 8. Governance of provisioning
profiles, certificates and API keys
Mobile App Delivery
27. 9. Use a ‘Private’ App store to test
device deployment
Mobile App Delivery
28. 10. Convert App Store feedback into
user stories
Mobile App Delivery
29. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
30. Mobile Delivery Pipeline
Deploy
Environment
Running SystemSource Control
Management
Source Artifacts
.jsp
.java
.
html
chef
recipes
.sh
Deployable Artifacts
Build, Package,
& Unit Test
Application
Binaries & Platform
Configuration
Library
Mobile IDE
Enterprise
Services
IDE
API keys,
Provisioning
Profiles…
31. Develop
Design
Discover and Consume
Instrument
Test
Use Tealeaf to continuously
analyze and improve the
effectiveness of your
application design by viewing
detailed customer usage
patterns
Manage your deployed
application with Worklight’s
application console
Distribute your applications
to managed devices with
Endpoint Manager,
Worklight’s integrated
catalog for unmanaged
devices, and external App
Stores
Design your application
user experience
Develop cross platform
applications
Use Cast Iron to discover data from
third-party, and enterprise, backend
services and adapt that data to
mobile usage patterns
Instrument your application for
analytics, security, and
management control.
Test your application with
Rational Test Workbench
The IBM Mobile Enterprise
App Development Lifecycle
Use AppScan to scan,
evaluate, and certify your
application
IBM Rational Collaborative Lifecycle
Management adds ALM features to
industrialize this process
Obtain Insight
Certify
Deploy
Manage
32. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
33. Application runtime
Cross platform services for the mobile channel (client &
server componentry). Client APIs are introduced for both
pure native as well as hybrid development
IBM Worklight: An Overview
Studio
Leading tools for cross
platform hybrid
development that
maximize code reuse
and enable per-device
optimization
Operational console
Operational management
for deployments,
concurrent versions, and
infrastructure access.
Operational analytics
provide real-time insight
into application usage
Application center
A cross-platform private
mobile application store
focused on the needs of
a development
organization or a team
34. Integrated Mobile Collaborative Development
Enabling collaborative team development on mobile app projects
IBM provides the only comprehensive mobile development solution currently in the market
combining a mobile application platform, construction tools, and lifecycle management all
integrated together as a cohesive solution
Mobile Application Platform
Construct, debug, and test mobile UIs
IBM Worklight
Application Lifecycle
Management
Test
DevelopmentBusiness
Open Lifecycle Integration Platform
Traceability across the entire development lifecycle
Desig
n
Code Test Deploy
Collaborative Lifecycle Management
+
36. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
37. Roadmap for UrbanCode
Enabling clients to more rapidly deliver mobile, cloud, big data analytics and traditional
applications with complementary DevOps capabilities
Drive down costs
Reduce the amount of manual labor,
resource wait-time, and rework
Speed time to market
Increase frequency of software delivery
Reduce risk
Deliver higher quality application
releases with increased compliance
“Mobile development moves more quickly than most enterprises are accustomed to. The coordination
required, and the pace being driven by mobile, is a big factor driving DevOps in the enterprise.”
- Eric Minick, UrbanCode.
38. Multi-tier mobile apps present specific challenges to DevOps
Middle Tier ServerClient Tier Devices Back-end Data & Services
Mobile-specific
challenges:
Lots of device targets
Provisioning rules and
artifacts
Curated App Stores
Dependent upon
backend service
versions
The Mobile-specific challenge in DevOps is mainly:
1.Dealing with the specific issues in the Mobile Client tier
2.And subsequently coordinating separate pipelines for each
tier:
Mobile Client
Middleware
Back-end data and services
39. Examples of mobile continuous delivery
• Automation of market leading tools used in the continuous delivery process:
• Support for continuous testing scenario:
40. Monitor and OptimizeRelease and DeployDevelop and Test
Mobile Cloud Social
Intelligent
Devices
Developer Communities
SecurityBig
Data
Expert
Systems
EcoSystem
ImplementationServices
Industry
DevOps Foundation
(enabled by the Jazz Platform)
Deployment Platforms (PaaS, IaaS, Physical
Infrastructure)
Linked DataOSLC
UrbanCode capabilities
41. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
42. RTW supports isolating tiers of the app for focused mobile testing
Rational Test Workbench
Test Virtualization
support for isolating
mobile client tier
For focused automated mobile client tier functional testing,
use RTW Test Virtualization to simulate the mobile middle
tier and back office systems.
43. Agenda
• What is DevOps?
• DevOps for Mobile – Challenges
• DevOps for Mobile – Best Practices
• Implementing DevOps for Mobile
o Continuous Integration and Test
o Continuous Delivery
o Service Virtualization
o Mobile UI Testing
44. Automated mobile function testing
Recording Authoring
Playback
Reporting
Verification
Points
Localized
string
Natural
Language
Case
45. IBM Confidential
Mobile Test Automation
− Support for native and hybrid applications running on
Android and iOS
− Natural language test and visual test editing
− Simplified IDE and mobile device clients for test
authoring, execution, and reporting
Eclipse environment
− Mobile Test Automation
− Support for Selenium web GUI test automation
− Multi-channel test scenarios
− Integration with Rational Quality Manager and the IBM
Worklight mobile development platform
End-to-end mobile testing
− Virtualization of middle-tier and back-end systems
− Dynamic instrumentation of mobile applications
− Capture and high-fidelity replay of multi-touch events
Integrated with
IBM Worklight!
Integrated with
IBM Worklight!
IBM Rational Test Workbench
High quality mobile apps built and tested for a rapidly evolving mobile infrastructure
Mobile User Interface Automation
46. Where to get more information?
IBM Mobile Frontier blog:
– http://bit.ly/ibmmobile-frontier-blog
Leveraging DevOps in a water-SCRUM-fall World
– http://ibm.co/PRQkWL
IBM Enterprise DevOps blog
– http://ibm.co/JrPVGR
48. 48
Daily Apple TV giveaway
Complete your session surveys online each day at a conference kiosk or on
your Innovate 2013 Portal!
Each day that you complete all of that day’s session surveys, your name will
be entered to win the daily Apple TV!
On Wednesday be sure to complete your full conference evaluation to receive
your free conference t-shirt!
Leigh slide MAIN POINT: The IBM Mobile Enterprise Development Lifecycle codifies a set of best practices for mobile project teams. This is an aspirational framework – not all teams will undertake all of these activities for each project. But it’s a way of thinking about continuous development of mobile apps, and applying the same discipline to this lifecycle as you do any business-critical process. Let’s look at the steps in this lifecycle: Design We start with designing the user experience, optimally using an outside-in approach. (Worklight) Develop We design the architecture and develop the application, using a cross-platform development approach that will maximize code reuse. (Worklight) Instrument We instrument the application for Instrument your application for analytics, security, and management control. (Tealeaf) Integrate – We integrate with back-end data, systems and cloud services. (Worklight, Cast Iron) Test – We test the application (Rational Test Workbench) Certify – We use a vulnerability analysis tool scan, evaluate, and certify your application (AppScan) Deploy -- We distribute the applications –using a combination of internal and external App Stores ( to managed devices with Endpoint Manager, Worklight’s integrated catalog for unmanaged devices, and external App Stores) Manage – Using the Worklight Application Console, we manage authentication, enforced updates, and versions. Obtain Insight – We analyze and improve the effectiveness of your application design by viewing detailed customer usage patterns (Tealeaf) And of course this understanding influences the next iteration of our product design, closing the iterative circle.
Leigh slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Leigh slide
Leigh slide
Leigh slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Sanjeev slide Sanjeev slide
Leigh slide
Leigh slide
Leigh slide
Leigh slide
Leigh slide
Leigh slide
Leigh slide Mobile Lifecycle Issues Release cycles take too long and cost too much Curated App-store review process create lag time and increases costs of mistakes App-store and in-app feedback is disconnected from the development process
Leigh slide
Sanjeev slide
Sanjeev slide
Sanjeev slide
Leigh slide
Leigh slide
Leigh slide
Leigh slide Speaker notes Dynamic instrumentation of Android and iOS Mobile Applications Capture and high-fidelity replay of multi-touch events Automated mobile function testing IBM Rational is announcing the launch of the Rational Test Workbench family BETA program in March of 2013, featuring support for mobile test automation. Combined with enhanced functional GUI, integration, performance testing, and service virtualization features, Rational Test Workbench delivers an end-to-end test automation solution for your mobile, multi-tiered and multichannel application environments. The accelerated delivery cycles of mobile applications requires fast and effective test cycles. Whether you are developing native, web, or hybrid applications Rational Test Workbench simplifies the development of mobile tests with code-less tests scripts and visual editing. Our integrated quality management solution enables the collaboration between your application/process SMEs and test automation experts to identify, create, and manage the most effective set of test scenarios for your development iterations. Mobile applications are increasingly deployed within complex business processes. For example, your mobile device may be used to place or modify and order that navigates through many layers of the backend system. The mobile client might also duplicate functions of an on-line ordering portal. Rational Test Workbench delivers a full range of test automation capability so you can validate the end-to-end quality of these multi-tiered, multi-channel systems. Leveraging the power of Eclipse, teams will be able to quickly move from the creation of a Worklight application, to testing within Rational Test Workbench. Integration with the Rational ALM solution provides traceability across requirements and defects for full visibility and control of the software delivery lifecyle. We are seeking mobile delivery teams that can evaluate these features of the Rational Test Workbench and potential integrations with IBM Worklight within their software quality environment. Please visit the link above to apply for access to our BETA program. What are we announcing and why is this news worthy? Is IBM first to market, does it position IBM well above the competition, is it unique and innovative to mobile? What are the key new features or capabilities we are announcing, and how are they going to help our clients accelerate their mobile strategy? Describe a simple scenario where this new offering or initiative might be used. Describe a current obstacle a customer might have in adopting mobile, and how the new feature helps remove or reduce that obstacle.
Optional slide. Graphic is available in English only.
Giveaway Slide
IBM IOD 2011 06/11/13 Prensenter name here.ppt 06/11/13 13:48 Mandatory closing slide (1 of 2) Acknowledgements and disclaimers IBMers must include This mandatory “Acknowledgements and Disclaimers” slide at the end of your presentation before the closing “Thank You” slide. - You will need to customize the “Acknowledgements and Disclaimers” text in red appropriately.
Mandatory closing slide (2 of 2) Thank You Slide (available in English only).