If I create a booking and only select profile instances for the different functions, the bookings wizard is already proposing resources. How does DataMiner SRM select these resources, and can I be sure that these resource can execute what is actually required for the booking?
As Leander explained, a well-designed SRM solution will never allow you to pick any resources that are not suitable for the type of service that you want to book/deploy, nor a resource that is not available (i.e. a resource allocated to another booking that overlaps in time with the new booking that you try to enter). That's one of the key benefits of SRM, everything related to resource management is fully automated and care-free.
Slightly off topic, but as you mentioned "the booking wizard is already proposing" I wanted to take the opportunity to point out that it is not a must to have this in the booking wizard. In fact I would even state that resource selection should only be available for the booking agent if there is a compelling reason/need for it (by default it should hence NOT be there).
As mentioned, SRM will already filter the resources down to the ones that are effectively available and also capable for that booking. And if there is no compelling reason to have the operator to select one of those resources listed by SRM, the best solution is just allowing DataMiner to make that choice in the background when the booking is made and leave out that step in the booking wizard. This then results in a fully automated solution, as it is intended to be. The user then simply books the kind of service he wants, for the time frame he wants it, and SRM takes care of the selection and allocation of all the required resources.
Compare it to booking a rental car. As a user you would probably care about the time frame and about the type of car. But there is little use in subsequently getting a list of 10 exactly the same cars (aside from their serial number maybe 😉 ) and having to pick one of those.
Many operators that used to work with legacy media platforms have a habit of hand-picking resources, because there was no sophisticated automatic selection and allocation of resources. And hence the reason why people sometimes expect it and ask for it. But often it really does not make sense, and therefore again it should be a best-practices when designing SRM solutions to only make it available when there is a compelling justifiable reason for it. If not, it should simply be left to DataMiner to take care of it fully automatically.
And on a last note, resource selection is only becoming more and more dynamic as technology and architectures evolve in our industry (hardware replaced by software, cloud services, last-minute allocation of resources, changes in availability of resources due to failures / due to AI-detected anomalies / due to planned maintenance / etc., evolution from availability of individual resources to availability of capacity in a pool of resources, etc.). So hand-picking resources becomes less and less relevant. I care about maybe the geographical region where I will spin up a software component for my service, but I really don't care about which compute platform it will be eventually hosted on.
DataMiner SRM has a concept of capacities and capabilities to manage resources correctly. Based on the booking profile information that the user enters, DataMiner will check that information against the capacities and capabilities of a resource, and therefore always pick the resources that can provide what you're asking for.
When defining a profile parameter into the profile manager, that parameter can be set as a category 'Capability'. That indicates that that the value that is entered while creating a booking for this parameter, should be also checked against the resource capabilities. These capabilities can be provisioned onto the resource, indicating exactly what the resource is capable of doing.
So, when a booking is created and a profile instance is selected which does contain a profile parameter of category 'Capability', it will automatically filter out the resources which offer that specific capability. By result, DataMiner can always provide the correct resources.
In a similar way, a profile parameter can also be set as a category 'Capacity', and capacities can be defined on resources. When e.g. a profile instance with a specific bitrate is selected, DataMiner SRM will check if that specific capacity is still available, of course for the timestamp that you have defined into your booking. That also ensures that the necessary capacity is available.
Note also that you can define multiple capacity and capability parameters on a resource, it is not limited to just 1. So, you can always be sure the correct resources are picked for your booking.