Mobile-Application-Development-at-the-Speed-of-Business-with-Containers_2017-10
12 Pages
English

Mobile-Application-Development-at-the-Speed-of-Business-with-Containers_2017-10

Downloading requires you to have access to the YouScribe library
Learn all about the services we offer

Description

MOBILE APPLICATION DEVELOPMENT AT THE SPEED OF BUSINESS WITH CONTAINERS BUILD, DEPLOY, MAINTAIN, AND SECURE MOBILE APPS WITH CONTAINER PLATFORM TECHNOLOGY redhat.com CONTENTS INTRODUCTION 3 TRADITIONAL VERSUS MOBILE ENTERPRISE APPLICATIONS 4 WHAT ARE CONTAINERS? 5 WHAT ARE MICROSERVICES? 5 FIVE KEY MOBILE-INFLUENCED MOVEMENTS 6 1 FROM TRADITIONAL TO MODERN APPS 6 SUCCESS STORY: MOBILIZING THE FIELD FOR FASTER EMERGENCY RESPONSE 6 2 FROM WATERFALL DEVELOPMENT TO DEVOPS 7 WHAT IS MOBILE DEVOPS? 7 3 FROM STANDALONE TO PLATFORM DEVELOPMENT 8 4 FROM MONOLITHS TO MICROSERVICES AND APIs 9 WHY MICROSERVICES FOR MOBILE?

Subjects

Informations

Published by
Published 12 December 2017
Reads 2
Language English
Document size 2 MB

Exrait


MOBILE APPLICATION DEVELOPMENT
AT THE SPEED OF BUSINESS
WITH CONTAINERS
BUILD, DEPLOY, MAINTAIN, AND SECURE MOBILE APPS
WITH CONTAINER PLATFORM TECHNOLOGY
redhat.com







CONTENTS
INTRODUCTION 3
TRADITIONAL VERSUS MOBILE ENTERPRISE APPLICATIONS 4
WHAT ARE CONTAINERS? 5
WHAT ARE MICROSERVICES? 5
FIVE KEY MOBILE-INFLUENCED MOVEMENTS 6
1 FROM TRADITIONAL TO MODERN APPS 6
SUCCESS STORY: MOBILIZING THE FIELD FOR FASTER EMERGENCY RESPONSE 6
2 FROM WATERFALL DEVELOPMENT TO DEVOPS 7
WHAT IS MOBILE DEVOPS? 7
3 FROM STANDALONE TO PLATFORM DEVELOPMENT 8
4 FROM MONOLITHS TO MICROSERVICES AND APIs 9
WHY MICROSERVICES FOR MOBILE? 9
5 FROM DEVICE MANAGEMENT TO MOBILE LIFE CYCLE SECURITY 10
SECURING MOBILE APPLICATIONS WITH RED HAT 10
SUCCESS STORY: SUPPORTING DIGITAL TRANSFORMATION WITH GREATER AGILITY 11
TAKE THE NEXT STEP TO MOBILE APP DEVELOPMENT 12
facebook.com/redhatinc
@redhatnews
linkedin.com/company/red-hat


redhat.com 2INTRODUCTION
The intersection of cloud and mobile technologies has been disruptive, overturning traditional
business models and putting users at the center of market demand. Mobile applications offer
an engagement model that lets users access and create a wide range of data—such as images,
video, text, location-based information, and more—through ever-present smart devices.
Ubiquity and scale have made cloud computing indispensable to the management, security,
storage, and on-demand delivery of this data. In addition to providing the engine for managing
data use and generation, the cloud supports agile, platform-based technologies, freeing
developers from infrastructure concerns to focus on creating innovative apps. Cloud computing
has ushered in a new era of app development that creates competitive differentiation based on
speed and scalability.
In this e-book, you’ll learn about using container technologies in mobile app development,
as well as the combined power of mobile technology, cloud technology, containers, DevOps,
microservices, and application programming interface (API)-led integration. Find out how
cloudnative mobile apps offer a key example of the principles of modern app development using a
powerful, enterprise-grade container platform.
facebook.com/redhatinc
@redhatnews
linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 3TRADITIONAL VERSUS MOBILE ENTERPRISE APPLICATIONS
Traditional enterprise applications tend to be large, self-contained, and multi-featured, with
complex user interfaces and functionality. They are usually developed using heavyweight
languages and approaches, often compiled into formats that are unique to a specific operating
system. These monolithic applications are built gradually to well-defined specifications and
are rolled out in scheduled implementations, usually under the control of an organization’s IT
department. As a result, they have long development cycles.
Mobile development has had a significant impact on how applications are developed, deployed,
and managed. In contrast to traditional enterprise apps, mobile apps are more lightweight
and agile, with functionality typically focused on a relatively narrow business use case. These
applications offer a simple user interface and a compelling user experience. Mobile apps
require data from backend systems be available securely and in real time. These apps are
subject to almost-continuous, iterative updates based on user feedback and evolving business
requirements.
TIME TO DEVELOPMENT APPLICATION DEPLOYMENT APPLICATION
VALUE PROCESS ARCHITECTURE AND PACKAGING INFRASTRUCTURE
Waterfall Monolithic Physical servers Datacenter
Months
and years
Agile N-tier Virtual servers Hosted
Weeks
and months
DevOps Microservices Containers Cloud
Days
and weeks
Development
Operations
Figure 1. Traditional versus mobile app development
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 4WHAT ARE CONTAINERS?Many organizations
CONTAINERS are a technology that packages apps with their entire runtime environment—use technical
including all dependencies, libraries, and configuration files needed to run these apps—to provide approaches to
isolation and abstraction from the underlying infrastructure. Containers provide an effective
successfully evolve solution for running software reliably from one computing environment to another—for example,
from monolithic from a developer’s laptop to a test environment, from staging to production environments, or from
a physical datacenter machine in a datacenter to a virtual machine in a public or private cloud.architectures to
® ®Containers running on Red Hat Enterprise Linux are based on open source technology microservices,
to support infrastructure independence with enterprise-grade security, certification, and
including Red Hat consistency across physical, virtual, and cloud infrastructures.
customers and
A CONTAINER PLATFORM, such as Red Hat OpenShift, is designed to support digital partners such as
transformation, app modernization, and DevOps initiatives. These platforms manage the Amadeus, KeyBank,
operational aspects of app development and let developers use existing tools and familiar
BBVA, Royal Bank workflows, freeing them to focus on creating apps that meet user demand.
of Scotland, and An enterprise container platform provides consistency across environments and supports a
variety of usage models to align with an organization’s ideal cloud strategy. With a container LeShop.
platform, ops teams can manage traditional and microservices-based apps at scale in one place,
with complete visibility—from applications and containers to operating systems, virtualization, Learn more about Red Hat
customer successes at and hardware. These platforms provide security to prevent applications from compromising
redhat.com/en/success-stories. other applications or underlying infrastructure and to meet scalability, access control, and policy
management requirements.
WHAT ARE MICROSERVICES?
MICROSERVICES describes an architectural method of developing distributed software systems
organized around business capabilities and priorities. It has become the preferred means
of creating enterprise applications for many developers. A microservices approach involves
developing applications as a suite of lightweight, modular services, where each service runs a
unique process and communicates through a well-defined mechanism to serve a business need.
Using this approach, each service can be deployed, tweaked, and redeployed independently,
without compromising the application’s integrity or requiring redeployment of the entire
application. Microservices are designed to handle failure. If one service has an issue, the client
lets its neighboring services continue functioning while the affected service is isolated and
repaired.
Microservices are also highly suited to evolving models where developers cannot fully anticipate
the types of devices that may access an application in the future.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 5FIVE KEY MOBILE-INFLUENCED MOVEMENTS
Mobile has influenced five significant approaches to application development that play a role
across wider enterprise software development and delivery models. They have been instrumental
in the evolution of Platform-as-a-Service (PaaS) and, more recently, containers and container
orchestration technologies.
1 FROM TRADITIONAL TO MODERN APPS
Mobile and cloud technologies have prompted a shift in focus from technology to people.
Users are at the center of mobile innovation, influencing both business and technology. Smart
devices have revolutionized customer engagement, streamlined core business processes, and
modernized employee workflows, leading to new revenue opportunities and improving operational
performance.
SUCCESS STORY: MOBILIZING THE FIELD FOR FASTER EMERGENCY RESPONSE
As tech-savvy mobile and social media users, field workers often initiate or influence the
creation of simple yet powerful mobile apps. For example, an app was created and deployed
to field maintenance engineers in just 24 hours in response to damage caused by extreme
weather conditions. With input from the field workers, a basic mobile form was created
from drag and drop components, then quickly deployed to their mobile devices to simplify
prioritization of infrastructure repairs. With this app, data and images could be quickly
collected by the mobile user in the field and integrated via APIs with back-end systems
in a timely manner. This capability helped users prioritize urgent repairs and schedule
maintenance teams for immediate response.
This example demonstrates the power of building and deploying applications at the speed of
business. Agile software and app development approaches are crucial to shortening development
cycles from weeks or months to days or hours. This rapid pace highlights the fundamental
differences between traditional and modern application development—and the growing demand for
business-led solutions supported by fast-paced IT.
The mobile revolution has dictated how apps need to be developed and how platform technologies
have evolved in response. The result? Rigid, monolithic applications and architectures are giving
way to solutions—such as microservices and containers—that offer the agility and flexibility to
support faster development and deployment.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 62 FROM WATERFALL DEVELOPMENT TO DEVOPS
To meet mobile app demands, waterfall development methods—characterized by detailed
requirements and lengthy specification-to-release times—have given way to more agile practices.
Mobile apps are inherently subject to frequent updates, downloaded on-demand by users. They
also offer streamlined features designed to target highly specific use cases. Their successful
adoption relies on continuous user and business feedback, as they can be quickly discarded and
replaced as needs shift.
Agile development methods are ideal for mobile apps, underpinned by a philosophy of
experimentation that includes frequent releases of incremental changes through continuous
development and deployment. Earlier agile methods tended to focus on development processes
but have evolved to a wider collaboration model that encompasses IT and operations, as well as
business teams: DevOps. DevOps is a cultural approach to software development and delivery
with the goal of providing better business value and responsiveness to increase the speed and
flexibility of delivering new features and services.
WHAT IS MOBILE DEVOPS?
DEVOPS is a culture as much as an approach to automation and platform design.The goal
of DevOps is to increase the speed and flexibility with which new features and services are
delivered, to provide better business value and responsiveness. In the context of mobile, the
objective is the same: get apps to market faster while adapting to changing demand. Mobile
DevOps requires a fundamental shift in mindset to unite business, operations, developers, and
IT with the common purpose of delivering mobile apps faster. Automation helps developers and
operations meet this goal. Developers can focus on building compelling apps, while operations
provides reliable, stable environments.
DevOps collaboration relies heavily on automation across the complete mobile app life
cycle, as well as across related infrastructure, to achieve faster return on investment (ROI).
Containers offer a lightweight, cost-effective alternative to virtual machines (VMs) that supports
DevOps practices. With containers, developers can bundle an application and all of its runtime
dependencies into a well-defined, portable container. Containers combine rapid delivery with the
flexibility to define the details of the underlying platform, from the development language to the
operating system.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 73 FROM STANDALONE TO PLATFORM DEVELOPMENT
Evolving customer expectations mean that connectivity has become the new path to
revenue. Previously isolated data, tools, and applications must be able to share services and
infrastructure efficiently across organizational or geographic boundaries. Mobile
Backend-asa-Service (MBaaS) supports data sharing for mobile app development by centralizing back-end
services—such as push notifications, social media connectivity, and storage—and APIs to make
them accessible and reusable for enterprise-wide mobile app projects.
Initially, businesses used a tactical approach to mobile apps. A business department would
engage its IT department or a third-party developer to design and build an app, with a focus on
automating existing, paper-based processes instead of truly innovating by combining mobile
device functionality with data and third-party services. While some development teams could
work relatively quickly, their work was often hindered by a lack of support from less agile
business units or misalignment with changing enterprise priorities. Work tended to be more
focused on front-end app design than integration with legacy business systems, app code
deployment, and infrastructure scalability.
However, mobile apps are critically reliant on their underlying infrastructure requirements,
back-end code, integration capabilities, architecture, and processes. To build new apps
while maintaining legacy apps, many organizations find themselves supporting multiple
infrastructures, architectures, and processes—with frozen or shrinking IT budgets. As a result,
mobile app development is increasingly viewed as part of a company’s overall app development
strategy, rather an isolated component supported by unique technology.
Container platforms play a critical role in supporting modern and traditional workloads within
the same environment. A container platform provides a common infrastructure, operating
system, and development tools for containers to run different workloads in their own isolated
environments.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 84 FROM MONOLITHS TO MICROSERVICES AND APIs
The introduction of mobile smart devices lead to a fundamentally different approach to app
development and delivery. Mobile apps started fresh, with agile development techniques,
user-centric engagement models, lightweight languages and frameworks, flexible API-based
architectures, and cloud-based platforms. With no need to replace or modernize existing
systems or applications, mobile apps offer organizations an opportunity to experiment with new
processes, architectures, and technologies, while quickly launching apps to market.
WHY MICROSERVICES FOR MOBILE?
The nature of mobile is one of continuous change. For example, a field workforce app that
provides engineers with relevant scheduling and work order information receives ongoing
updates to its user interface, workflows, and data sources based on user feedback. Data
often resides in legacy systems but must be made available to the mobile app. Monolithic
architectures cannot support the necessary rapid, iterative changes or access to data from
back-end systems. A microservices-based approach uses lightweight, loosely coupled services
that can be combined into larger back-end services via APIs. These microservices can be
assembled or composed for a modular approach that supports updates to specific components,
rather than the whole app. Microservices can also be reused across multiple projects, improving
development speed, costs, and efficiency.
Mobile innovation has been instrumental in defining a new model of software development
based on microservices architecture, agile and DevOps processes, and cloud deployment. With
container platforms, organizations can effectively take advantage of these approaches and tools.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 95 FROM DEVICE MANAGEMENT TO MOBILE LIFE CYCLE SECURITY
Businesses are increasingly vulnerable to data breaches, as employees more frequently interact
and work from mobile devices, often via unsecured public Wi-Fi hotspots. Initial mobile security
measures focused on device management, but a more holistic view is now required. Security
must be continuous, beginning in the design phase, and address applications’ underlying
infrastructure and life cycles, as well as operations management processes. Organizations must
invest in security tools that work with modern app development technologies to manage new
types of workloads and integrate with new processes and engagement channels.
Figure 2. Security & risk management life cycle
SECURING MOBILE APPS WITH RED HAT
With security built into each phase of application development and the supporting infrastructure,
Red Hat Mobile Application Platform deployed on Red Hat OpenShift Container Platform supports
technology security for traditional industries and modern digital businesses. This solution offers
flexible deployment and portability across public, private clouds, and hybrid clouds, as well as
on-premise environments. As a result, applications can be hosted where needed.
Red Hat Mobile Application Platform offers security throughout development, deployment,
and management of enterprise mobile apps. Mobile apps integrate with back-end systems and
services for bidirectional communication, making secure integration critical to data protection.
Red Hat’s platform uses MBaaS technology to centralize management and availability of back-end
connectors, services, and APIs. Advanced Encryption Standard (AES) or RSA-encrypted APIs can
be used to protect locally cached data on devices, with HTTPS protocol protecting communication
from the app to the MBaaS. Additional security can be provided through setting an API key to
applications, and a set of APIs simplifies authentication with session management. App life-cycle
management features offer a collaborative approach to mobile development by offering control
over access to developer services, embedding a layer of security into the development process
itself.
facebook.com/redhatinc facebook.com/redhatinc
@redhatnews @redhatnews
linkedin.com/company/red-hat linkedin.com/company/red-hat


redhat.com Mobile application development at the speed of business with containers 10