Application development teams have embraced software delivery models that allow for the quick rollout of new code on a continuous basis. In a society that expects applications to be updated regularly and offer responsive feature-rich experiences, developers and IT operations must embrace methodologies and platforms that can empower them to constantly innovate.
The days of developing large monolithic applications with yearly or longer version updates are all but gone. End users expect new features rolling out over shorter and shorter periods of time. Bug fixes that were traditionally delivered as patches are now imbedded in new versions of code and as part of feature rollouts. Today’s smartphone users simply have a different outlook on application delivery and that has now translated into application development within the enterprise.
To meet such demands of continuous delivery and innovation, development teams are breaking down larger applications into core features. Features are now independent tiny applications that are individually upgradable. What once was a massive code base to deliver a single business application is now broken down into smaller feature-centric applications that interact with each other by passing messages. The sum of these smaller single-feature applications talking to each other comprises the once larger application offering. This practice is commonly referred to as microservices.
To offer an analogy, let’s consider how we write an essay composed of a series of ideas or topics. We could very easily write a single paragraph that contains everything we want to convey, meshing multiple ideas together with little means to transition from one idea to the next. Personally, I remember writing run-on paragraphs until my teacher instructed me that the best practice is to focus on just one idea per paragraph and use transitional ideas to progress the document along.
Software development is no different. Legacy applications are analogous to the document with one run-on paragraph. New software design methodologies are breaking apart applications into self-contained individual functions that interconnect though exchanged messaging — kind of how paragraphs with a single idea use transitions to flow from one idea or paragraph to the next. In software development speak, this concept of small, single-purpose applications that talk together to form a larger application is called microservice architecture.
The Benefits of Microservice Architecture
Microservice architecture offers many advantages to the business. Building smaller applications to comprise a single feature of a service offering allows for rapid innovation. The small code base of a microservice reduces the time spent at each step in the development lifecycle shown below. Rapid innovation and compressed time to market for service offering can be a key strategic advantage.
Microservices also offer developers to leverage best-in-class technologies, coding languages and operating environments that best support their specific small service. A microservice architecture may leverage many operating systems, development environments and even data centers both public and private. Each microservice is self-contained, allowing this technology freedom and mobility.
The greater application composed of the individual services works via messaging protocols. If network connectivity is established, what environment and where services are hosted is no long a barrier but a potential advantage. Parts of the application that touch the end customer can be pushed to the edge potentially via global public clouds while data is housed and secured in the private data center for a true hybrid approach.
Driving Changes in IT Operations
Microservice architecture adoption is growing and becoming the standard within the development community. This approach is bleeding into IT operations, forcing new approaches to infrastructure, automation, security and even destroying old IT silos, bridging developers and operations into singular teams. Exploring this new world, assessing best practices and new trends in hybrid data center design, can be made easier by leveraging resources that have worked with numerous organizations at all stages of adoption. Contact your CDW account manager to leverage technical advisors that can help guide you through the concepts, vendor partners and training to be successful in microservices.