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