SOA tutorial: Trends, governance and the microservice impact
A comprehensive collection of articles, videos and more, hand-picked by our editors
Learn how important IT trends around microservices, IoT, APIs and business agility are impacting enterprise and service-oriented architectures. Read on to find out how to take advantage of these trends, including the rising "connected-everything" trend.
No segment of information technology is an island today, so enterprise and service-oriented architectures (SOA) must evolve quickly to manage and moderate connected-everything computing platforms. Managing and capitalizing on the interrelated nature of technologies while maintaining control is the biggest challenge for enterprise architects these days, experts say.
This will be a big year for SOA, as broader use of application program interfaces (APIs) spread services architecture responsibilities beyond IT.
"In 2016, we will see innovations in connectivity that will make integration available for developers and business users alike, empowering greater connectivity and new sources of revenue across the organization," George Gallegos, CEO of Jitterbit, said.
Rob Terpilowskisoftware architect at Lynden, Inc.
Application requirements have moved from the desktop, to the browser, to mobile devices and on to the Internet of Things (IoT). At each step of this transition, applications have become smarter, simpler and more widely distributed in an effort to keep up in the connected-everything world.
"These changes are demanding that SOA systems become more transactional and capable of massive scalability," Bill Appleton, CEO of DreamFactory, said.
It's not just new technologies that must be evaluated and, if used, corralled, Rob Terpilowski, software architect at transportation logistics provider Lynden, Inc., said.
"It is interesting to note how the technologies and architectures seem to become more and more interrelated as they mature," he said.
Microservices bring agility, but pose new challenges
One of the biggest developments over the last year has been the widespread adoption of microservices as an evolution of traditional SOA architectures. Terpilowski noted that some consider microservices the silver bullet or the holy grail of SOA. However, he advised architects and engineers to proceed with caution.
"There is a saying that if your monolithic application is a big ball of mud, after rewriting as microservices, you will have a big bag of dirt," he said.
The benefits of microservices for decomposing applications into "fine grain" services are many. But microservice architectures involve moving the complexity from inside a monolithic application to the outside of a collection of microservices. This means enterprise architects have to worry about more external dependencies. Managing these dependencies will become another layer of complexity that did not exist.
Terpilowski recommended development teams focus on becoming more disciplined to track the complexity of the various services as they interact with each other, and to document the various dependencies.
"We are taking a cautious approach with microservices, and, while we are not doing wholesale conversions of monolithic applications, we are implementing new functionality as services -- not necessarily 'micro' services -- and will evaluate the benefits before deciding to move further applications to a service architecture," he said.
Expect to see a big push into flattening applications to be 80% service- and RESTful-based, Jeff Genender, Principal and Founder of SOA consultancy Savoir Technologies, said. As a result, microservices will play an even bigger role in application development. There is also a huge emphasis on using Java EE in microservices as the stack becomes more modular. This style of architecture will be driven by enterprise cloud adoption.
Microservice architectures are still immature
Infrastructures based on containers are already available at all major cloud vendors, and all of the major cloud vendors support the creation of applications in a container. This allows cloud vendors to support new applications. However, the overall architecture and standards surrounding this new microservice architecture model do not exist.
"Each application developer and cloud vendor has their own idea of an ideal microservice architecture," William Bryce, vice president of products at Univa Corporation, cautioned.
As 2016 progresses, this ecosystem should start to come together. All the major IT system vendors will begin the process of defining standard microservice architectures and best practices for creating applications out of smaller services running in containers.
"It will probably take more than one year, but the end goal will likely be design patterns that are repeatable no matter which cloud vendor container solution is chosen," said Bryce.
According to Sachin Agarwal, vice president of marketing at OpsClarity, one way of addressing this complexity in the interim may be to leverage emerging frameworks for creating composable applications. He added that these applications will rely less on custom code, but will be composed of several open source frameworks. This movement is in swing already, he said, noting the increased adoption of reactive frameworks like Akka, Play, Netflix OSS and data processing frameworks such as Kafka, Storm, Spark and Cassandra.
"These composable applications will also lead to the realization of true SOA, which was primarily used to integrate existing applications for the most part rather than to create net new applications from scratch," said Agarwal.
Safely decouple storage from applications
One of the big challenges with microservices is the decoupling of the data from the application, a problem that storage technology vendors will address this year, according to Mark Lewis, CEO of Formation Data Systems. He expects to see the storage industry move away from tightly monolithic hardware to loosely coupled software-defined systems, noting that these need to expose storage systems via APIs that allow for complete orchestration and automation of storage service delivery. This will, unfortunately, pose new challenges related to how to migrate traditional workloads to these new systems without disrupting standard business operations.
"Transitioning production workloads from hardware-based to software-based infrastructures is typically viewed as a risk," said Lewis.
Enterprises can reduce this risk by implementing these capabilities across the development, test and deployment process to ensure consistency across different environments. It is also important to perform proof of concept trials to validate the effectiveness of new technology in these environments.
Leverage an API-centric view to empower business units
The end goal when adopting these new approaches should be focused firmly on business agility. Gallegos noted that, in the past year, the rise of APIs spread responsibility for integration and SOA beyond IT to the business side.
"Now, both drive growth and differentiation for business teams, as APIs become a crucial part of every company's business strategy," he said.
CIOs will also need to shift their focus on taking advantage of the empowerment of more developers, business teams and others to contribute to the application and architecture strategies. Toward that end, expect a big increase in digital transformation projects, Ross Mason, founder and vice president of product strategy at MuleSoft, said.
"2016 will see many more companies putting the wheels in motion," he said. "We'll see CIOs shift from traditional IT delivery models to delivering capabilities to their business units, allowing the consumers of these capabilities to build their own applications and processes."
Is a microservice architecture more like SOA or MVC?
How will IoT products affect the network?
Explore the world of microservices and container technology.