device application management - tmcnet€¦ · iot, cloud, and devops iot and cloud have many...

21
© 2014 IBM Corporation IoT, Cloud, and DevOps Device Application Management In the Fog Tim Hahn, IBM Distinguished Engineer Chief Architect, Connected Car and Internet of Things IBM Software, Rational 19 November 2014

Upload: others

Post on 23-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation

IoT, Cloud, and DevOps

Device Application ManagementIn the Fog

Tim Hahn, IBM Distinguished EngineerChief Architect, Connected Car and Internet of ThingsIBM Software, Rational19 November 2014

Page 2: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation2

IoT, Cloud, and DevOps

This Presentation

As computing complexity rises in devices, the need to actively manage the applications and code running in the devices also rises. This suggests that there will be more and more pressure to safely, dynamically, and securely update devices which are deployed into active service. In this session we will discuss some of the solutions in use for this activity and point out the advantages and disadvantages of various methods.

Page 3: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation3

IoT, Cloud, and DevOps

IBM Internet of Things Reference Architecture

Design & Engineerthings and applications

addressing requirements management and

complex system design process

Securityintelligence and action

is critical from the device up through industry solutions

Analyze & Optimizeinformation from across the

lifecycle leveraging insight for action

Connect, Collect, & Commanda wide variety of devices with

different patterns of data volume, variety and velocity

Operateinfrastructure safely and securely from rollout to

production

Managethe lifecycle of assets ensuring safe, reliable

and predictive operations

Industry Solutions

Design & Engineer Operate Manage

Analyze & Optimize

Connect, Collect, & Command

Se

cure

Devices, Gateways, & Assets

Protocols

Better outcomes driven by data, analytics, and business process optimization

Page 4: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation4

IoT, Cloud, and DevOps

Typical Architecture for IoT and M2MAcross Many Industries – and Fog Computing

DeviceDeviceDeviceDevice

Gateway(sometimes)

App Interface

Data

Collector(s)

App Interface

App Interface

Local Network

Broadband Network

Application(s)

Application(s)

Application(s)

Page 5: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation5

IoT, Cloud, and DevOps

Converging Spaces, Technologies, and Teams

● Spaces● Systems development and engineering● Software development and lifecycle● Operations and asset management managing in-service equipment

● Technologies● Embedded devices● Networking technology● Cloud● Big Data and Analytics● Browser and Mobile device interfaces

● Teams● Mechanical and Electrical Engineers● Software Engineers● Data Scientists● Operations teams

Page 6: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation6

IoT, Cloud, and DevOps

IoT and Cloud have many similarities … and a couple differences Cloud

– Software running in the systems

• may contain issues which need to be fixed

• may contain unforeseen vulnerabilities

• must allow for adding features after initial release

– Applications run remote from the developers and managers

– Applications run in virtual systems which can be quickly deployed, started, and reclaimed

IoT Devices

– Software running in the devices

• may contain issues which need to be fixed

• may contain unforeseen vulnerabilities

• must allow for adding features after initial release

– Devices run remote from the developers and managers, often without human intervention

Differences

– Devices require “fail-safe” modes of operation

– Devices require a “revert to factory settings” capability in case of un-recoverable upgrade/change event

Page 7: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation7

IoT, Cloud, and DevOps

ContinuousEngineering

Operate Develop/ Test

Deploy

Steer

DevOps

ConnectConnect

CollectCollect

ManageManage

AssembleAssemble

IntegrateIntegrate

Internet of Things – Transforming Device and Software Development

Page 8: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation8

IoT, Cloud, and DevOps

Device Management and DevOps Device Management

– Inventory

– Status

– Provision

– De-provision

– Change Ownership

Page 9: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation9

IoT, Cloud, and DevOps

Device Management and DevOps Device Management

– Inventory

– Status

– Provision

– De-provision

– Change Ownership

DevOps

– Development

– Deployment

– Test

– Release

– Implementation

– Roll-out

– Update/Evolve

– De-commission

Page 10: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation10

IoT, Cloud, and DevOps

Device Management and DevOps … Are Converging

Device Management

– Inventory

– Provision

– Status/Health

– Maintain

– De-provision

– Change Ownership

DevOps

– Development

– Deployment

– Test

– Release

– Implementation

– Roll-out

– Update/Evolve

– De-commission

Device features dictated by software/firmware

Updates expected/demanded while “in service”

Customers used as test/evaluation/feedback group

Build, deploy, enhance

Manage, maintain, support

Page 11: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation

IoT, Cloud, and DevOps

11

Acceleratesoftware delivery –

for faster time to value

Balance speed, cost, quality and risk –

for increased capacity to innovate

Reduce time to customer feedback – for improved customer

experience

ContinuousCustomer

Feedback & Optimization

Collaborative Development

Continuous Release and Deployment

ContinuousMonitoring

ContinuousBusiness Planning

Operate Develop/ Test

Deploy

Steer

DevOps Continuous Feedback

ContinuousTesting

IBM DevOpsEnterprise capability for continuous software delivery that enables organizations to seize market opportunities and reduce time to customer feedback

Page 12: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation12

IoT, Cloud, and DevOps

Techniques for Device Application Management

Embrace the need and potential for change throughout product lifecycle!

– Enable timely customer feedback

– Allow for device update while “in service”

Integrate Asset Management with Software Distribution and Deployment

– Inventory Tracking

– Version management and Tracking

– Update status

– Update schedule (maintenance, requested, and demand-driven)

Stage roll-out across inventory

– Smooth out demand on distribution servers/networks

– Allow for staged introduction in case of need for roll-back

Update processing on the device

– Always have a fail-safe operating mode

– Have multiple usable firmware versions, allow one to run while other is updated/verified

– Verify package before application/installation

– Establish “safe” times for cut-over (configured or adaptive)

Page 13: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation13

IoT, Cloud, and DevOps

Update Scheduling

Maintenance-based

– Coordinated with inventory asset management

– Allows for lining up updates with scheduled “out of service” or “down-time” for devices – e.g. regular vehicle maintenance window

Requested

– Device-based request for latest update level

– User or service personnel initiated update at the device

– Allows for forcing and update at a time that is convenient/acceptable given device conditions

Required or Demanded

– Suitable for rolling out critical fixes or features, such as patching security vulnerabilities

– May be issued at a time that is inconvenient for the device – device must receive and schedule at next available acceptable window of opportunity

– Can be used to enable upgrade at server side by forcing migration of older firware levels in devices

Page 14: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation14

IoT, Cloud, and DevOps

Handling Updates at the Device

Timing

– Explicit indication of in-service vs. out-of-service

– Location

– Network-connectivity

– Adaptive state – based on past usage profile

Staging

– Receive and verify before apply

– Use two-mode system with A/B images as well as a fail-safe fall-back mode

– Employ rules for falling back to previous level

– Switch to latest level at next start (some time after the receive/verify/apply)

– Next update replaces the level that is not in use/active.

Logging

– in-device, with update log, boot log

– in inventory/asset management

– periodic reconciliation

Page 15: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation15

IoT, Cloud, and DevOps

Device Application Management

DevicesDevicesDevicesDevices/Gateways

DevicesDevicesDevices

Devices/Gateways

DevicesDevicesDevices

Devices/GatewaysAssetManagement

Software/FirmwareDevelopment

Level n Level m Level q

DeploymentAutomation

Fan-outServices

Fan-outServices

Fan-outServices

Delivery Pipeline

ApplicationsApplicationsApplications

AssetManagement

Page 16: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation16

IoT, Cloud, and DevOps

Device Application Management - Summarized

Devices are more and more dependent on the software running inside of them

– Greater need to actively manage and update the software running in these devices

– Fog Computing introduces additional pressure to update firmware

DevOps is used extensively in cloud and mobile-based application environments

– Many techniques carry over effectively to the IoT space, learning from the mobile application management space

– Similar handling for IoT applications, extending into the devices themselves.

– Allows coordination between server-based components and device-resident components

Recommendations

– Include DevOps practices in the development, test, deployment, and management of device firmware/software

– Integrate hardware development, software development, and operations work-streams and systems

– Automate everything – build, analysis, deployment, testing, promotion

– Include fail-safe and core base OS in devices

– Prepare for roll-back and back-out processing of updates

Page 17: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation17

IoT, Cloud, and DevOps

IoT, Cloud, DevOps, and Operations …

Leverage practices across disciplines!

Page 18: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation18

IoT, Cloud, and DevOps

www.ibm.com/software/rational

Page 19: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation19

IoT, Cloud, and DevOps

Useful Links

IBM IoT Foundation

– https://internetofthings.ibmcloud.com/

IBM Bluemix

– https://ace.ng.bluemix.net/

IBM SoftLayer

– http://www.softlayer.com/

IBM Cloud Technologies

– http://www.ibm.com/cloud-computing/us/en/

IBM Analytics

– http://www.ibm.com/analytics/us/en/

IBM MobileFirst

– http://www.ibm.com/mobilefirst/us/en/

IBM Social Business

– http://www.ibm.com/social-business/us/en/

IBM Security

– http://www.ibm.com/security/

IBM Asset Management

– https://www.ibmserviceengage.com/asset-management/learn

IBM IoT on Twitter

– http://twitter.com/IBMIoT

– @IBMIoT

IBM IoT Blog

– http://ibminternetofthings.tumblr.com

Page 20: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation20

IoT, Cloud, and DevOps

© Copyright IBM Corporation 2014. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm.com/software/rational

Page 21: Device Application Management - TMCnet€¦ · IoT, Cloud, and DevOps IoT and Cloud have many similarities … and a couple differences Cloud –Software running in the systems •

© 2014 IBM Corporation21

IoT, Cloud, and DevOps

IoT Depends on Cloud, Analytics, Mobile, Social, and Security

Cloud

– Many solutions depend on server-hosted services, databases, and web applications

– Handling thousands of devices requires strong horizontal scaling

Analytics

– IoT applications are often concerned with analyzing and visualizing sensor data from many devices

– Complex data analytics is used to find hidden correlations and also identify anomolies

– Models are developed to enable scheduled maintenance and avoid failure based on usage

Mobile

– Many applications utilize sensor information obtained from mobile devices

– Many applications provide a mobile device user interface to allow visualization and control of IoT devices

Social

– IoT applications often make use of information from multiple sensors in order to determine consensus

– Crowd-sourced information is a form of social collaboration amongst cooperating devices

Security

– Device identification, data flow, and command verification all require strong security

– Device software update validation requires security technology