Microservices  101.

Microservices 101.

Application development teams have embraced software delivery models that allow for 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 continuously innovate.

The days of developing large monolithic applications with yearly or longer version updates are all but gone.  End users expect new features continuously coming 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 part of feature rollouts. The smartphone generations simply have a different outlook on application delivery and that has now translated into application development at the corporate level.

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 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 together comprises the once larger application offering. This practice is commonly referred to as microservices.

To offer and analogy, let’s consider how we write an email. An email to a coworker or friend is comprised 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 I got my paper marked up by my teacher in red ink instructing me that the best practice is a single idea per paragraph using transitional ideas to progress the document along.  

Software development is no different. Legacy applications are analogous to the document with one paragraph containing multiple ideas. 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.

No alt text provided for this image
No alt text provided for this image








Microservice architecture offers many advantaged 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 life cycle shown below. Rapid innovation and compressed time to market for service offering can be a key strategic advantage.

No alt text provided for this image

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 comprised 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 potentially an 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.

Microservice architecture adoptions is growing and is 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 in to singular teams giving way to the DevOps development model.

well written. At my new company, SCG, we won a app/dev project for a large limo company in Vegas (400+ vehicles) to update, streamline, reduce human error, and increase customer satisfaction. Using bots, AI, and full integration with TEAMs. Glad to see you back at CDW. Hope our paths cross in the near future.

To view or add a comment, sign in

More articles by Bryan Adelman

Insights from the community

Others also viewed

Explore topics