devops קורס



אודות הקורס
תחום ה -devops דרוש מאד כיום, אך קשה מאד להתקבל לעבודה ללא ניסיון קודם. הקבוצה מהווה הכשרה ארוכת טווח המיועדת להשלמת יכולות ומיקוד המאמץ ללומדים את התחום. שיטת הלימודים בנוייה למי שכבר התנסה בחלק מעולמות המחשוב וה -IT, ומעוניין להגיע ליעד הנכסף.

למי מיועד הקורס
הקורס מיועד לבעלי רקע חלקי, שרוצים למצוא עבודה כאנשי devops בסיום הקורס.
דוגמאות:
▪ אנשי IT שכבר עובדים בתחומם אך לא מצליחים "להתברג" לתחום ה devops
▪ אנשי פיתוח שרוצים למקד את המאמץ ולהגיע באופן יעיל לידע הדרוש
▪ בוגרי אוניברסיטה טריים, בעלי ידע תיאורטי אך חסרי כלים מעשיים בתחום.

דרישות הקדם
אין דרישות קדם פורמאליות או בחינות קבלה, אך אנו נתקדם במהירות המתאימה לאנשים בעלי ניסיון חלקי.
דוגמאות:
▪ נלמד פיתוח תוכנה בשפת פייתון, אך לא נסביר מושגי יסוד בחומרת המחשב (זיכרון, דיסק וכיו"ב)
▪ חלק מהמשימות יידרשו לימוד עצמי של נושאים שלא נלמדו בכיתה (יכולת קריאת חומר באנגלית למשל)
▪ מיומנויות חיפוש וגלישה באינטרנט, התקנת תוכנות, וכו

ציוד
תצטרכו מחשב בעל מפרט בסיסי בינוני ומעלה.
▪ כדאי שכמות הזיכרון במחשב תהיה לפחות 16G
▪ רצוי מעבד מודרני (i5/i7/i9 מדור או שניים אחרונים)
▪ כדאי להישאר עם נפח אכסון של לפחות 500G
▪ חיבור טוב לאינטרנט (לצורך זום, הורדת תוכנות וכיו"ב)
▪ כדאי להצטייד במסך נוסף (המתחבר ב HDMI למחשב)

תשלומים
תצטרכו להפעיל חשבון AWS עצמאי (להכניס כ. אשראי).
בשימוש נכון, ההוצאות הצפויות אמורות להיות נמוכות מאד (שקלים ספורים).
רישום למבחן הסמכה של AWS (כרגע 150$)

מנחה הקבוצה
יובל שאול מרצה ויועץ בתחומי תוכנה תקשורת ו – cloud מעל ל – 20 שנה. בתפקידים שונים, בחברות רבות העביר קורסים רבים ועסק בפעילות טכנולוגית בתחומים שונים. בשנים האחרונות מתמקד ב DevOps, AWS, ו -cyber. מרצה בחברות תעשייה רבות, ובמכללות, בארץ ובעולם.

Syllabus

Linux as developers see it

Topic Subjects Lessons
Linux File System files, directories, mounts, devices, path, hard/soft links,
Processes OS theory, system calls, file numbers, running programs, pid, fork(), top command, dynamic libraries, shells, ttys..
linux configuration systemd, vi, ip addressing, logs..

Communications

Topic Subjects Lessons
Communications Ethernet Ethernet networks, transparent bridging, MAC addresses, VLANs, using wireshark
Layer 3 (IP) ip and ip addresses, icmp, subnetting, arp, dhcp, routing basics, static nat
Layer 4(TCP/UDP) port numbers, dynamic NAT, tcp, udp
application layer ftp, telnet/ssh, HTTP

Bash scripting

Topic Subjects Lessons
Bash basics commands, files types
parameters variables, positional parameters, special parameters, echo, printf
streams streams, redirection, pipelines, read, command substitution
looping and branching lists, conditional execution, exit status, [ and [[, if, case, while, until, for, break, continue
command line parsing quoting, expansions

Python as programmers use it

Topic Subjects Lessons
Python-I   Objects and basic data types objects, int, str, bool, float, lists, tuple, range, ascii, utf, bytes
control flow True/False, troothy/falsey, if, for (in), while, break/continue, pass
functions file i/o, functions (def), scope, lambda expressions, nested functions, Basics of design, parameter passing, default values, positional keyword arguments, * args, **args
data structures list indexing/slicing, del, comprehensions, dictionaries, sets
modules import, dir(), module search path, standard library, packages
errors & exceptions syntax errors, handling exceptions, raising exceptions
classes and inheritance classes and instances, methods, special methods, iterators & generators
phase I project

Containers

Topic Subjects Lessons
Containers basics cont. vs v. machine, kernel namespaces & cgroups, docker and other container managers
using docker containers and images, starting and stopping containers, deleting a containers, exec into a container etc
Creating images Dockerfile commands and use, multi-phase Dockerfiles

Python-II

Topic Subjects Lessons
Python-II Selenium and UI automation
requests and api automation
developing api with fastapi

Security

Topic Subjects Lessons
Security Public Key Cryptography private/public keys, using with SSH and git
Utilities cryptographic hash functions (e.g SHA-1), UUID, base64..

git

Topic Subjects Lessons
git git basics local repositories, working directory/index/repository, staging, committing, ignoring files, git diff, git log
branching and merging creating branches, merging, rebasing
remote repositories remote branches, fetch, pull, push

AWS

Topic Subjects Lessons
AWS global structure and API
security IAM
Networking VPC, Route53
compute ec2, lambda, containering
storage S3, ebs, efs
Databases RDS, DynamoDB
High Availability ALB, Auto Scaling
SDKs and cli aws cli, using python(boto3): SQS, SNS, Lambda..
Preparing for the test (solution architect associate)

kubernetes

Topic Subjects Lessons
Kubernetes Basics installation, kubectl, object management using YAML, labels and selectors
Users Basics of Users, RBAC, service accounts
Pods and Containers pods, containers, configmaps, secrets, resources, probes, restart policies, multi-container-pods, init containers
scheduling nodeName, nodeSelector, taints and tolerations, daemonsets, static pods
workloads deployments, auto-scaling, HPA, rolling updates, APIs, CRDs
K8S Networking k8s networking model, network policies, k8s DNS, services, ingress
k8s storage pod fs, volumes, hostPath, emptyDir, persistent volumes, PV/PVC, storage classes, dynamic volume provisioning
troubleshooting logs, ephemeral containers, copy of a pod, rescheduling events,

Monitoring

Topic Subjects Lessons
Monitoring Monitoring basics pattern and anti-patterns
Infrastructure monitoring CPU/memory metrics, disk/fs metrics, networking/load metrics
Application monitoring counters, gauges, summaries, histograma
Alerts recording rules, alert rules, ..
Visualisation Dashboard, panel

IaaC (Infrastructure As A Code)*

Topic Subjects Lessons
Terraform Basics of IaC
terraform basics terraform cli, configuration language, resources variables
tf modules

CI/CD

Topic Subjects Lessons
CI/CD CI/CD principles
Jenkins installation and GUI
jenkins plugins managing, adding, updating
freestyle jobs job structure, parameters, notification
jenkins pipelines
agents & distributed builds setting an agent, distributing and monitoring builds
Triggers Using triggers from scm

FINAL PROJECT