Containerization has enabled the convenient, predictable, and portable deployment of applications. Similarly, microservices are very useful for implementing complex systems. Finally, message streaming is rapidly becoming a standard way to build distributed systems.
The surprise here is the synergistic way these three different ideas interact. No matter which approach you start with, the others will enhance it. If you are trying to containerize the parts of your system, microservices turn out to be a great way to organize those parts. And message stream transport, with the right capabilities, is a great way to connect microservices. Each additional piece adds its own value while enhancing the others.
For example, the agility and flexibility of microservices is useful for projects that make use of machine learning models. Containers provide a predictable environment for running the applications such that behavior observed during the testing phase will be stable once the applications are deployed in production. And the additional choice of running different components in a decoupled microservices style connected by message streams that support multiple independent consumers not only lets you evaluate new models without interfering with production but also enables other projects to make use of the same data without interference.
Paul Curtis explores these infrastructure components and discusses the design of highly scalable real-world systems that take advantage of this powerful triad of containers, microservices, and message streaming. Paul also shares real-world customer case histories that highlight how these approaches interact. You’ll learn how to adopt the technologies and architecture needed to take advantage of this combination of approaches.
Paul Curtis is a principal solutions engineer at MapR, where he provides pre- and postsales technical support to MapR’s worldwide systems engineering team. Previously, Paul was senior operations engineer for Unami, a startup founded to deliver on the promise of interactive TV for consumers, networks, and advertisers, and a systems manager for Spiral Universe, a company providing school administration software as a service. He also held senior support engineer positions at Sun Microsystems, enterprise account technical management positions for both Netscape and FileNet, and positions in application development at Applix, IBM Service Bureau, and Ticketron. Paul got started in the ancient personal computing days; he began his first full-time programming job on the day the IBM PC was introduced.
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com