lot of computer infrastructure ◦ He wants to give it on rent to make money • Very similar to car-rental service like Europcar • Cloud-native Application is a program that is designed and developed specifically for cloud computing architecture
slow :( Please check what is wrong there. Oh! is it ? But I had used best algo! Ahha, there seems to be a scalability issue. Let me call my Prof and get his suggestions ...
‘collections’ • Write functional as much as possible • Let the data flow through functions: ◦ If data is static then we can do Parallel Processing ◦ If data size is not fully known then we can be Reactive ◦ There is also a possibility of mixing them together by using Stream Processing
now :) But one customer has reported a bug ! Can you please fix it ? Oh! is it ? Let me check that. It might be something related to “data-access” module.
to configure the whole system to repro the scenario ! ... Finally, I got it !!! Bug is inside “business-logic” module. I fixed it. Let me test the whole app. Come on Mark ! How much more time do you need ?
speed of deployment • Developer can simulate production environment locally • Moreover, each service runs in its own environment ◦ So if one service goes down, others are still safe
◦ Need to experiment: It’s ok to fail, but fail fast ◦ Need the ability to react: Everything cannot be planned • But, the software has to be good in terms of: ◦ Correctness ◦ Performance ◦ Maintainability ◦ Operability
idea • We can achieve those attributes of good software as follows: ◦ Correctness: Test cases. This cannot change :) ◦ Performance: Horizontal Scalability ◦ Maintainability: Micro Services ◦ Operability: Containers
Native Machine Learning Application in Python • There are two parts: ◦ Offline Training Job: ◦ Online Scoring Service: Movie Data Training Job ML Model Cloud Storage User Input + Model Scoring Service Recommendations
‘functional’ as possible i.e. immutability and statelessness • Data flows through pipeline of functions: • For example: Input Data Function-1 ... Function-N Output Result Input Data Read/Split Transform Train ML Model
experiment: It’s ok to fail, but fail fast ◦ Need the ability to react: Everything cannot be planned • Cloud Native Applications is a way to achieve it ◦ We saw ▪ Layers involved in a cloud native application ▪ Techniques to achieve the required speed ▪ Everything is written in Python ! :)