slides/0001-intro/index.html

252 lines
11 KiB
HTML
Raw Normal View History

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>reveal.js</title>
<link rel="stylesheet" href="dist/reset.css">
<link rel="stylesheet" href="dist/reveal.css">
<link rel="stylesheet" href="dist/theme/black.css" id="theme">
<!-- Theme used for syntax highlighted code -->
<link rel="stylesheet" href="plugin/highlight/monokai.css" id="highlight-theme">
</head>
<body>
<div class="reveal">
<div class="slides">
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
Intro
<br/>
<br/>
Ameya Shenoy
<br/>
<br/>
<a href="https://github.com/codingcoffee" target="_blank">github.com/codingcoffee</a>
Note:
First, feel free to heckle
Ask questions in the middle, interupt me, makes this fun, I like it
Or you can wait till the end, but interactive is good
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
<a href="https://www.sfit.ac.in/" target="_blank">St. Francis Institue of Technology</a>
<br/>
EXTC | e-Yantra | RoboCon
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
<a href="https://frappe.io/" target="_blank"><img data-src="https://frappe.io/files/frappe.png" height="40"></img></a>
<br/>
<a href="https://erpnext.com/" target="_blank"><img data-src="https://erpnext.com/files/erpnext-logo-blue-v2.png" height="28"></img></a>
Note:
Open Source Framework to build applications
Think of Frappe as an alternative to Flask, Djankgo, but with all the batteries built in
ERPNext is a open source CRM. Some well known users would be Zerodha, Internet Freedom Foundation
---
- <a href="https://python.org/" target="_blank">Python</a> for the backend
- <a href="https://vuejs.org/" target="_blank">VueJS</a> for the fronetend
- <a href="https://mariadb.org/" target="_blank">MariaDB</a> as SQL database
- <a href="https://redis.io/" target="_blank">Redis</a> with <a href="https://socket.io/" target="_blank">Socket.IO</a> for PubSub and data caching
---
- Automated installation using <a href="https://www.ansible.com/" target="_blank">Ansible</a>
- Implemented pixel tracking for outbound emails
- Release and Deploy Manager
Note:
Traditional Servers
Some other framework specific things which I did there
---
Mothly Sprints | Ad-hoc
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
<a href="https://browserstack.com/" target="_blank">
<img data-src="https://iconape.com/wp-content/png_logo_vector/browserstack.png" height="40"></img>
<br/>
<b>Browser</b>Stack
</a>
---
<a href="https://collectd.org/" target="_blank">Collectd</a>
|
<a href="https://www.influxdata.com/" target="_blank">InfluxDB</a>
|
<a href="https://grafana.com/" target="_blank">Grafana</a>
<br/>
<img data-src="./images/monitoring_meme.jpg" height="300"></img>
Note:
Collectd - small daemon which runs on servers to collect system metrics
Influx - time series database
Grafana - Make awesome looking charts out of it
Data driven decisions
---
<div>
<div><a href="https://www.nagios.org/" target="_blank">Nagios</a></div>
<div><a href="https://oss.oetiker.ch/smokeping/" target="_blank">Smokeping</a></div>
<img data-src="./images/nagios_meme.jpg" height="400"></img>
</div>
Note:
SLA, Uptime, Alerts, DNS checks, HTTP checks, server uptime, SSH, Load, System memory
Traceroute TTL, since servers in DC, latency is important
---
<div>
<div><a href="https://www.cloudflare.com/" target="_blank">Cloudflare</a></div>
</div>
Note:
CDN, DDoS Protection using Captcha
Main reason was for DDoS
---
<div>
<div><a href="https://www.vaultproject.io" target="_blank">Hashicorp Vault</a></div>
<br/>
<img data-src="https://jolicode.com/media/original/2017/password.png" height="300"></img>
</div>
Note:
Password Storage
Cross team password sharing not allowed
Multiple applications using the same password
Password rotation on employee leaving mandated by GDPR / SoC2
Lock state
---
<div>
<div><a href="https://www.jenkins.io/" target="_blank">Jenkins</a></div>
<img data-src="https://img.devrant.com/devrant/rant/r_85679_7gTEY.jpg" height="400"></img>
</div>
Note:
CI, CD, Testing, Asset Compilation, Parallelize, Deploy
Every job is run inside a container
---
<div>
<div><a href="https://openvpn.net/" target="_blank">OpenVPN</a></div>
<img data-src="https://i.pinimg.com/originals/4c/27/1e/4c271e8751dbd05c88d266f9217bd1be.jpg" height="400"></img>
</div>
Note:
Access data securely, save up on IPAddresses, Security
---
<div>
<div>Disaster Recovery</div>
<img data-src="https://miro.medium.com/max/504/1*gACf3ttoWR86MQKSAuBsPA.png" height="300"></img>
</div>
Note:
Important but not Urgent
SoC2 compliance mandates offsite backups
Data backups are only good if you've tested them
---
<div>
<div><a href="https://kubernetes.io/" target="_blank">Kubernetes</a></div>
<img data-src="https://i.redd.it/iv0oiaz7aqe41.jpg" height="300"></img>
</div>
Note:
This is an entire talk in itself
Brainchild of google. Google manages things internally, using a system called Borg. This is an open source version of the same
FreeBSD Jails, User namespaces, Containers, LXC, LXD, Docker, Containerd, Reproducibility, Isolation
Control Theory, Control Loop Meachnism, Current State, Desired State
K8s - Self healing properties, A/B testing, 0 downtime deploys
---
<div>
<div><a href="https://aws.amazon.com/" target="_blank">AWS</a></div>
<img data-src="https://i.redd.it/gkee3xdcfdz11.png" height="400"></img>
</div>
Note:
EC2, S3, RDS, Cloudfront, Cloudwatch, EKS, NAT Gateways, Elastic Cache, SES
Bills
---
<div>
<div>Email Centralization</div>
</div>
Note:
Email DMARC Compliance falling
Spoof emails sent on our behalf
---
Quarterly Sprints | Daily Standups
<br/>
Corporate | Confluence
Note:
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
<a href="http://cloudsim.codingcoffee.me/" target="_blank">Cloud<b>Sim</b> Demo</a>
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
Interests
<br/>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/1200px-Tux.svg.png" height="45"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Archlinux-icon-crystal-64.svg/1024px-Archlinux-icon-crystal-64.svg.png" height="40"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Vimlogo.svg/544px-Vimlogo.svg.png" height="40"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/08/EmacsIcon.svg/1024px-EmacsIcon.svg.png" height="40"></img>
<br/>
<img data-src="https://www.docker.com/sites/default/files/d8/2019-07/Moby-logo.png" height="40"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Python-logo-notext.svg/768px-Python-logo-notext.svg.png" height="40"></img>
<img data-src="https://download.logo.wine/logo/Kubernetes/Kubernetes-Logo.wine.png" height="60"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/9/95/Vue.js_Logo_2.svg/555px-Vue.js_Logo_2.svg.png" height="40"></img>
<img data-src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Lichess_Logo.svg/1200px-Lichess_Logo.svg.png" height="50"></img>
</textarea>
</section>
</section>
<section>
<section data-markdown data-separator="---" data-separator-notes="^Note:">
<textarea data-template>
Thanks for listening!
<br/>
<br/>
<br/>
<div style="text-align: left">
<small>
<a href="https://gitea.codingcoffee.me/codingcoffee/slides" target="_blank">codingcoffee/slides</a>
</small>
</div>
<div style="text-align: right">
<a href="https://codingcoffee.dev/" target="_blank">Ameya Shenoy</a>
</div>
</textarea>
</section>
</section>
</div>
</div>
<script src="dist/reveal.js"></script>
<script src="plugin/notes/notes.js"></script>
<script src="plugin/markdown/markdown.js"></script>
<script src="plugin/highlight/highlight.js"></script>
<script>
// More info about initialization & config:
// - https://revealjs.com/initialization/
// - https://revealjs.com/config/
Reveal.initialize({
hash: true,
slideNumber: 'c/t',
// showNotes: true,
// Learn about plugins: https://revealjs.com/plugins/
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
});
</script>
</body>
</html>