devops קורס


מפתח 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

TopicSubjectsLessons
LinuxFile Systemfiles, directories, mounts, devices, path, hard/soft links,
ProcessesOS theory, system calls, file numbers, running programs, pid, fork(), top command, dynamic libraries, shells, ttys..
linux configurationsystemd, vi, ip addressing, logs..

Communications

TopicSubjectsLessons
CommunicationsEthernetEthernet 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 layerftp, telnet/ssh, HTTP

Bash scripting

TopicSubjectsLessons
Bashbasicscommands, files types
parametersvariables, positional parameters, special parameters, echo, printf
streamsstreams, redirection, pipelines, read, command substitution
looping and branchinglists, conditional execution, exit status, [ and [[, if, case, while, until, for, break, continue
command line parsingquoting, expansions

Python as programmers use it

TopicSubjectsLessons
Python-I  Objects and basic data typesobjects, int, str, bool, float, lists, tuple, range, ascii, utf, bytes
control flowTrue/False, troothy/falsey, if, for (in), while, break/continue, pass
functionsfile i/o, functions (def), scope, lambda expressions, nested functions, Basics of design, parameter passing, default values, positional keyword arguments, * args, **args
data structureslist indexing/slicing, del, comprehensions, dictionaries, sets
modulesimport, dir(), module search path, standard library, packages
errors & exceptionssyntax errors, handling exceptions, raising exceptions
classes and inheritanceclasses and instances, methods, special methods, iterators & generators
phase I project

Containers

TopicSubjectsLessons
Containersbasicscont. vs v. machine, kernel namespaces & cgroups, docker and other container managers
using dockercontainers and images, starting and stopping containers, deleting a containers, exec into a container etc
Creating imagesDockerfile commands and use, multi-phase Dockerfiles

Python-II

TopicSubjectsLessons
Python-IISelenium and UI automation
requests and api automation
developing api with fastapi

Security

TopicSubjectsLessons
SecurityPublic Key Cryptographyprivate/public keys, using with SSH and git
Utilitiescryptographic hash functions (e.g SHA-1), UUID, base64..

git

TopicSubjectsLessons
gitgit basicslocal repositories, working directory/index/repository, staging, committing, ignoring files, git diff, git log
branching and mergingcreating branches, merging, rebasing
remote repositoriesremote branches, fetch, pull, push

AWS

TopicSubjectsLessons
AWSglobal structure and API
securityIAM
NetworkingVPC, Route53
computeec2, lambda, containering
storageS3, ebs, efs
DatabasesRDS, DynamoDB
High AvailabilityALB, Auto Scaling
SDKs and cliaws cli, using python(boto3): SQS, SNS, Lambda..
Preparing for the test(solution architect associate)

kubernetes

TopicSubjectsLessons
KubernetesBasicsinstallation, kubectl, object management using YAML, labels and selectors
UsersBasics of Users, RBAC, service accounts
Pods and Containerspods, containers, configmaps, secrets, resources, probes, restart policies, multi-container-pods, init containers
schedulingnodeName, nodeSelector, taints and tolerations, daemonsets, static pods
workloadsdeployments, auto-scaling, HPA, rolling updates, APIs, CRDs
K8S Networkingk8s networking model, network policies, k8s DNS, services, ingress
k8s storagepod fs, volumes, hostPath, emptyDir, persistent volumes, PV/PVC, storage classes, dynamic volume provisioning
troubleshootinglogs, ephemeral containers, copy of a pod, rescheduling events,

Monitoring

TopicSubjectsLessons
MonitoringMonitoring basicspattern and anti-patterns
Infrastructure monitoringCPU/memory metrics, disk/fs metrics, networking/load metrics
Application monitoringcounters, gauges, summaries, histograma
Alertsrecording rules, alert rules, ..
VisualisationDashboard, panel

IaaC (Infrastructure As A Code)*

TopicSubjectsLessons
TerraformBasics of IaC
terraform basicsterraform cli, configuration language, resources variables
tf modules

CI/CD

TopicSubjectsLessons
CI/CDCI/CD principles
Jenkinsinstallation and GUI
jenkins pluginsmanaging, adding, updating
freestyle jobsjob structure, parameters, notification
jenkins pipelines
agents & distributed buildssetting an agent, distributing and monitoring builds
TriggersUsing triggers from scm

FINAL PROJECT