From the Blogosphere
Embracing #Microservices | @DevOpsSummit #Serverless #DevOps #CloudNative
Thankfully, today we have microservices, which are revolutionizing application design and development for enterprise IT
By: Scott Davis
Nov. 17, 2017 05:00 PM
Evolving Past Service-Oriented Architecture and Embracing Microservices
For DevOps teams, the concepts behind service-oriented architecture (SOA) are nothing new. A style of software design initially made popular in the 1990s, SOA was an alternative to a monolithic application; essentially a collection of coarse-grained components that communicated with each other. Communication would involve either simple data passing or two or more services coordinating some activity. SOA served as a valid approach to solving many architectural problems faced by businesses, as applications could be developed by more teams working in parallel and more productively by reusing original code to build new functionality.
SOA was undeniably a revolutionary idea but unfortunately, it was ahead of its time. In the SOA heyday, hardware wasn't powerful enough, and the right standards and technologies simply weren't available. More specifically, components weren't as fine-grained and tended to be large and stateful, encompassing numerous features and functions. Processes and networks weren't fast enough for a fully distributed architecture with independent, single function execution contacts, so the SOA components would informally share data and context with each other for efficiency. Therefore, the services weren't fine-grained enough to isolate the functionality.
Microservices: The Scalable Development Method
Perhaps most importantly, microservices allow DevOps teams to build and maintain large, complex software services in a far more efficient manner. Prior to microservices, whenever code that implemented a common function needed to be changed to fix a bug or add a feature, it had to be updated in numerous places owned by different teams. This process could take months or years and often resulted in cumbersome customer experiences or losing out to competitors. But today, microservices' design methodology makes it easier to develop systems with reusable component parts that can be maintained and distributed independently by separate teams and utilized by multiple applications and services throughout an organization.
For Successful Scalability, Automation Is Key
Additionally, it's important to acknowledge that containers are often used to run each individual microservice. Containers are an ideal, standardized envelope for microservices, providing a mechanism for independent delivery and scaling. As few or as many containers needed for each microservice can be dynamically created or destroyed based on load, so again, automation is crucial as the rapid creation/provisioning of containers enables the scaling and high availability of microservices.
The Future Demands Nimble, Intuitive Software Services
For fast-growing organizations looking to satisfy customer demand over the long term, it's time to move past the days of SOA. Embrace today's Cloud Native/Microservices architecture coupled with DevOps methodology and automation technologies. Incorporate fine-grained microservices and rapidly, independently provisioned containers that can run services in their own independent address spaces. In doing so, businesses can reap the benefits of truly scalable and high availability IT architectures, and as a result, stay one step ahead of eager competitors.
Reader Feedback: Page 1 of 1
Latest AJAXWorld RIA Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week