It is what Prism Core and Prism Edge are built on. It uses a software development model where instead of writing one giant program that performs a set of functions, it breaks each of those functions down into its own individual service. So, we didn’t invent it, but it’s a way of writing software where you’re not dealing with a big monolithic piece of software, you’re dealing with a whole bunch of separate services that all do one very specific thing. The nature of the application that is built on those services is it makes use of those services to do all of those things it needs to do. The reason it’s good for IoT is that IoT tends to need to be very scalable and tends to need to be operating 24/7 and a microservice environment is very good at meeting those two requirements. Because since you don’t have a giant monolithic piece of software, and you have tiny little pieces of software, it’s very easy to scale that. You literally just add more servers and you’ve scaled up your application.
The other thing is that for the same reason, it is very good at something that’s running 24/7 (or “high availability systems”) because you’re not dependent on any one server continuing to run. If the server fails, you did lose some portion of your capacity, but those microservices are able to run on any one of the other twenty servers that you have. So for both of those points, microservices are extremely good at high availability and massive scale. That’s why we chose it. A third reason is that it makes it easier to do maintenance and to update complex applications because you can go in and work on a specific microservice without really risking breaking other functionality because they’re all independent of each other.
In the Prism Edge environment, the individual microservice is the thing that is updated when you’re doing a software update to the Edge. So, it’s very precise, it’s very low bandwidth, you make one change to one microservice and that’s the only thing that’s sent out to the Edge device. You’re not having to send a very large file with an entirely new copy of the application you’re doing just a pinpoint update on only that microservice that you’re changing.All FAQs