Microservices, Agility, DevOps: Three Keys for Mobile Success

Microservices, Agility, DevOps: Three Keys for Mobile Success

With tech-forward Millennials now comprising the bulk of the U.S. workforce—having surpassed generation X—we can only anticipate demands for evolving technology in business to intensify, mirroring consumer behavior. Mobile can be the catalyst in helping organizations to meet those expectations. In many cases, mobile has already played a role in how software has been architected, designed, developed and distributed, which our experience has found contributes to stimulating innovation and development.

Demand for enterprise mobile apps is on the rise. According to Gartner, “By the end of 2017, market demand for mobile app development services will grow at least five times faster than internal IT organizations' capacity to deliver them.” To appropriately resource for increasing mobile demand, businesses may consider the following approaches for putting an effective mobile app strategy into motion:

1. Realize the value of microservices

For mobile teams, a microservices-based approach can present a much-needed answer to many of the problems presented by monolithic software development, providing new levels of flexibility by harnessing the power of an architecture that is modular, decoupled and independent. In a microservices architecture, complex applications are decomposed into small, modular processes or services. These fine-grained services each perform a single function and all communicate using language-agnostic application program interfaces (APIs).

In the context of back-end integration and development of mobile business apps, microservices enable app components to be created, deployed and updated rapidly, lending themselves to the highly iterative nature of the mobile app lifecycle. When using Mobile Backend-as-a-Service (MBaaS) to mobilize back-end systems, a microservices approach can demonstrate value in terms of both performance and agility. While microservices communicate with each other using RESTful APIs and lightweight messaging, they also provide modern wrappers for legacy enterprise systems, and can make the integration of these systems with modern mobile technology less cumbersome.

Microservices also enable IT teams to manage data and systems on the back-end. Teams can more easily collaborate when building services to meet the needs of particular requirements across a business, such as transaction processing and network management. They are seen as an important part of the rapidly evolving mobile landscape of both B2C and B2B apps.

2. Focus on the need for speed… and agile development

For businesses to match the pace of market change, as well as mobile delivery, agility is becoming increasingly important. The appetite for mobile app projects is growing. IT is seeking to meet this demand by introducing more efficiency and agility into their development approaches. Agile (News - Alert) approaches involve shorter, more iterative development cycles that elicit early and continuous feedback across the app development lifecycle. For many organizations, the move to developing mobile apps has led to the adoption of agile approaches, even if these are not fully fledged.

As the demand for app projects increases so also does the complexity of back-end integration. With the need to frequently update mobile apps and enable security, resilience and scalability, managing the app development lifecycle can become overwhelming. To accelerate app development without compromising security and performance, the introduction of agile processes should be balanced with ongoing IT maintenance of core systems and adherence to policy and security guidelines.

A DevOps culture can strike this balance, promoting collaboration across roles—design, development and deployment. Mobile application platform technologies that support collaborative app development have also evolved to meet this need.

Besides creating a DevOps culture, underlying architecture plays a significant role in setting the pace of app development and delivery. With mobile apps characterized by a continuous development and deployment process, a flexible, microservices-based architecture as outlined above can greatly enhance agility, especially on the backend.

Technologies, tools, architectures and methodologies are emerging at a fast pace to meet the demand for more mobile apps, at greater speed. However, achieving agility is a journey—the good news is that businesses are getting there.

3. Understand DevOps as an additional collaboration tool

With efficiency and collaboration being paramount, DevOps is key to breaking down silos present among different functions. DevOps functions well when the two sides—development (building apps, test automation, continuous integration, debugging and performance tuning) and operations (deploying apps, management and infrastructure, reliability and security)—are harmonious. This bakes awareness of infrastructure and deployment into the critical early stages of development, increasing the potential for apps to be successful from the moment they go live. 

As teams across the enterprise shift toward mobile, there are many best practices they can adopt to increase the likelihood of success. However, the process of putting an end-to-end strategy in place across teams can bring with it a host of challenges. By striving to focus on microservices, agile development approaches, and DevOps, teams can be poised to work together to unlock the benefits of mobile transformation.

Edited by Stefania Viscusi