Unikernel-powered transient microservices: Changing the face of software architecture
For years, software architects have worked with the idea that services are necessarily persistent: they must start and sit idle until they are needed. But lightweight, powerful microservices built on unikernels now allow services to appear precisely when needed and disappear when the need passes. Russell Pavlicek reviews unikernels and explains how they will change software architecture.
|Talk Title||Unikernel-powered transient microservices: Changing the face of software architecture|
|Speakers||Russell Pavlicek (Looking for an opportunity)|
|Conference||O’Reilly Software Architecture Conference|
|Conf Tag||Engineering the Future of Software|
|Location||New York, New York|
|Date||April 11-13, 2016|
In most current microservice-based architectures, the machine images powering the microservice are quite traditional: a full software stack from operating system to application, which takes significant resources to host and plenty of time to start and stop. As a result, most current microservice workloads are persistent, having to start before they are needed and sitting idle when there’s no work to do. This wastes precious resources and slows the application’s ability to scale out as workloads require. The arrival of lightweight technologies like Docker and containers have opened the door to lighter workloads in the microservice arena, but the advent of unikernels might be a game changer. These ultralight, highly secure workloads combine the entire software stack—from operating system functions to application—into a single, tiny package that runs directly on a hypervisor. Start times for many unikernel-based VMs can be measured in milliseconds, raising the question: why waste time and resources with persistent microservices? Why not consider transient microservices, which appear when there is something to do and disappear immediately thereafter? While the use of transient microservices could free up much computing power, it will also change the architecture and orchestration of software solutions. The concept of services that may have a lifetime measured in seconds—or less—does not currently exist in popular cloud-based systems. Russell Pavlicek reviews the details of unikernel systems and considers how microservices built on unikernels can remake the accepted principles of solution architecture.