🏡 index : github.com/captn3m0/talks.git

author Nemo <me@captnemo.in> 2019-04-22 16:45:43.0 +05:30:00
committer Nemo <me@captnemo.in> 2019-04-22 16:45:43.0 +05:30:00
commit
f487703cf3ec797fa91e34517158bbeaf82689a6 [patch]
tree
89f73f9495978d484afe18e7cc55768fb53cc6b3
parent
279a5989963b940153c1cb3636084b6f1f3628db
download
f487703cf3ec797fa91e34517158bbeaf82689a6.tar.gz

commit



Diff

 tech2019.md     | 204 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 images/borg.png |   0 
 images/red.jpg  |   0 
 images/uber.jpg |   0 
 4 files changed, 204 insertions(+)

diff --git a/tech2019.md b/tech2019.md
new file mode 100644
index 0000000..69aa26a 100644
--- /dev/null
+++ a/tech2019.md
@@ -1,0 +1,204 @@
---

---


# <!--fit--> Tech 2019

_- nemo_

---


# <!-- fit -->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)

<!-- ![bg](https://fakeimg.pl/1920x400/cd6133/fff/?text=chaos+engineering) -->
<!-- ![bg](https://fakeimg.pl/1920x400/84817a/fff/?text=react) -->

---


# 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:

---


# <!--fit-->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)

---


# <!-- fit --> microservices

![](images/uber.jpg)

---


# microservices

aka: How to Trade Development complexity for Operational complexity
diff --git a/images/borg.png b/images/borg.png
new file mode 100644
index 0000000000000000000000000000000000000000..3e70501dee37b86b61fd777447fd6b5eee2d6534 100644
Binary files /dev/null and a/images/borg.png differdiff --git a/images/red.jpg b/images/red.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a9cb40483747f25bad15ae65080899d084db5ad 100644
Binary files /dev/null and a/images/red.jpg differdiff --git a/images/uber.jpg b/images/uber.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..172aaef7cbacd695a50c6e77592b007b01f6f428 100644
Binary files /dev/null and a/images/uber.jpg differ