Following on from the previous post on Python/.Net integration, in this post we have a look at using Python functionality through REST interfaces invoking Python code on a serverless platform. Suitable firewalling/access control provide a high degree of security.
Potential application areas
Potential applications:
- Compute-intensive calculations
- Highly specialised code which needs to be centrally maintained
- Code confidentiality/security
Advantages/Disadvantages
Advantages:
- Low maintenance on client side as the REST interface creates a relatively low coupling, and all updates and maintenance to the Python code is done centrally on the serverless functions
- Instant scalability out to largest scales (1000+ compute instances if using AWS/Azure). World-wide distribution through cloud data centres
- The Python code is never visible to clients hence preserving confidentiality
Disadvantages:
- Latency as data are transferred over network and serverless functions may need "warm-up"
- Dependence on reliability of the serverless platform
- Supporting legacy versions of clients can become difficult
- Slower moving evolution of the interface/functionality (but this can be an advantage too...)