282 lines
11 KiB
HTML
282 lines
11 KiB
HTML
<!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">@codingcoffee</a>
|
|
Note:
|
|
Feel free to heckle.
|
|
|
|
Interupt me. Ask questions in the middle, 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, Django, but with all the batteries built in
|
|
|
|
ERPNext - arguably the 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:
|
|
Nagios - SLA, Uptime, Alerts, DNS checks, HTTP checks, SSH, Load, System memory
|
|
|
|
Smokeping - Traceroute TTL, since servers in DC, latency is important
|
|
|
|
RCAs
|
|
---
|
|
<div>
|
|
<div><a href="https://www.cloudflare.com/" target="_blank">Cloudflare</a></div>
|
|
</div>
|
|
Note:
|
|
Main reason was for DDoS, sidebenefit CDN
|
|
---
|
|
<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 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 - Borg - evolved to Kubernetes
|
|
|
|
FreeBSD Jails, User namespaces, LXC, LXD, Docker, Containerd, Reproducibility, Isolation
|
|
|
|
Control Theory, Control Loop Meachnism, Current State, Desired State
|
|
|
|
K8s - Self healing properties, A/B testing, no 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, Billing
|
|
---
|
|
<div>
|
|
<div>Email Centralization</div>
|
|
</div>
|
|
Note:
|
|
Phising attacks: Spoof emails sent on our behalf
|
|
|
|
DMARC - Domain-based Message Authentication, Reporting and Conformance
|
|
|
|
SPF - Sender Policy Framework
|
|
|
|
DKIM - DomainKeys Identified Mail
|
|
---
|
|
Quarterly Sprints | Daily Standups
|
|
<br/>
|
|
Corporate | Confluence
|
|
Note:
|
|
- teams
|
|
- company; helps us; helps other teams
|
|
- allocate time; buffer
|
|
- standup - yesterday, today, blockers
|
|
</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>
|
|
Note:
|
|
May the demo gods be with me!
|
|
</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>
|