--- --- # Tech 2019 _- nemo_ --- # 2-feet-rule --- # Caveats 🤷‍ - Non-Exhaustive - Aligned to Razorpay --- # For every Tech 1. What is it? 2. Why should you care? 3. What can we use it for? --- ![bg vertical](https://fakeimg.pl/1920x400/40407a/fff/?text=serverless) ![bg](https://fakeimg.pl/1920x400/ff793f/fff/?text=blockchain) ![bg](https://fakeimg.pl/1920x400/2c2c54/fff/?text=kubernetes) ![bg](https://fakeimg.pl/1920x400/b33939/fff/?text=microservices) ![bg](https://fakeimg.pl/1920x400/ff5252/fff/?text=service+mesh) ![bg](https://fakeimg.pl/1920x400/227093/fff/?text=events+vs+metrics+vs+tracing) --- # serverless ## What is it? If your application isn't called frequently enough, your computing resources can be brought up Just In Time. --- ## Why should you care? - Code runs instantly - You pay for what you run - Scaling is easier --- ## Sample Usecases - Any kind of Batch Jobs that take <15 minutes - A rarely visited website - If-this-then-that (Infrequent Trigger based Actions) - When a user uploads a file -> - When a user sends an email -> --- ## Limitations - Vendor-Lockins - Not all Languages --- # blockchain --- # what is it? Techno-Libertarians's dream of removing central authorities from the world's economy, to only end up crashing it entirely. --- # what is it? blockchain is a verifiable distributed database that doesn't require trusted parties --- ![bg](https://fakeimg.pl/1440x900/ff793f/fff/?text=verifiable) --- ![bg](https://fakeimg.pl/1440x900/218c74/fff/?text=distributed) --- ![bg](https://fakeimg.pl/1440x900/474787/fff/?text=database) --- ![bg](https://fakeimg.pl/1440x900/227093/fff/?text=trustless) --- # why should you care? --- # really, should I care? If you trust developers to write code that isn't buggy, and software developers to regulate finance better than the government does - Maybe? --- ![bg](https://fakeimg.pl/1440x900/706fd3/fff/?text=kubernetes) --- # the google hype cycle - Map Reduce -> Apache Hadoop - BigTable -> Apache HBase - Chubby -> Apache Zookeeper - Spanner -> Cockroach DB - Borg -> kubernetes --- # Borg ![](images/borg.png) --- # What is it? Large scale cluster management tool to help you run thousands of applications --- # why should you care? - we run kubernetes and all of our services run on kubernetes - kubernetes is commoditization of the cloud (GCP/AWS :fist_raised:) - k8s advantage :tm: --- # logs v/s metrics v/s tracing --- # logs - easiest - most verbose - no bird eye view --- # metrics - most important - dimensions/cardinality of a metric --- # what metrics ![](images/red.jpg) --- # USE > For every resource, check utilization, saturation, and errors. - utilization: the average time that the resource was busy servicing work [2] - saturation: the degree to which the resource has extra work which it can't service, often queued - errors: the count of error events --- # tracing - hardest - needs to be done well --- ![bg](https://fakeimg.pl/1440x900/ff793f/fff/?text=microservices) --- # microservices ![](images/uber.jpg) --- # microservices aka: How to Trade Development complexity for Operational complexity