文| 小乐
编辑| 小乐
当澳大利亚进也宣布采取封城行动之后,
受苦的就都是百姓了
澳洲非公民和非永久居民禁止入境
澳洲公民和PR暂时禁止出境
各大商铺、店面等纷纷歇业关门
民用药店、超市也都限制营业时间
百姓出门禁止聚集,违令者必将承受巨额罚款!!
。。。
面对来势汹汹的疫情
百姓都猝不及防
随之而来的就是几十万人甚至上百万人的“下岗失业”
IT互联网行业也都纷纷面对WFH以及被裁员的风险
行业竞争激烈、就业形势压力
程序猿该思考下
自己的IT技能因此需要得到提升
如今互联网科技已成为一种全行业通用的核心生产力
无论是快消行业、机械制造、教育领域、金融机构
商业竞争力会体现在从开发生产到物流供应以及市场销售各个环节
确保每个工序都能通过IT系统高效高质量的进行
未来科技产业必将转型向数字化方向发展,建立起更加智能产业链
而其中的核心环节就是
DevOps
(开发运维)应运而生
当然,Devops被谈及时,每个人对其理解仍旧呈现多样化。有人强调研发和运维流程改进;有人谈论自动化运维;有人试图建立起软件开发全生命周期管理;还有些人甚至在 DevOps 的基础上进行更为超前的扩展等。
什么是DevOps?
DevOps 是一套最佳实践方法论,旨在应用和服务的生命周期中促进IT技术人员之间的协作和交流,最终实现:
持续整合:从开发到运维和支持的轻松切换;
持续部署:持续发布,或尽可能经常的发布;
持续反馈:在应用和服务生命周期的各个阶段寻求来自利益相关者的反馈。
将DevOps实施可以分解为三步:
第一步是从左到右快速流动
第二步是从右到左快速反馈
第三步是在整个过程中持续学习
无论是哪种企业,其互联网IT系统几乎都必须提供24小时不间断的服务,并且始终保持着高频率的创新与升级。这就需要开发和运维两大团队齐心共同运作系统,如果开发团队拥有更强的运维能力,或者让运维工程师融入开发团队,可以以市场为导向创造出更多的业务成果,并能最终提高效率和生产力
可以先看看工作机会吧,全澳洲 DevOps 工作还是很乐观的,seek上工作岗位就有1548个,Indeed上面的工作就有1386个 ,Jora上的DevOps工作是3295个、这也是在IT行业里比较高的了。
(截图于2020年4月1日 seek AUS地区)
(截图于2020年4月1日 indeed AUS 地区)
(截图于2020年4月1日 jora AUS地区)
从岗位需求上看,DevOps的需求客观
接下来下大家最关心的薪资问题吧!
(2020年4月1日摘自 https://au.neuvoo.com/salary/?job=DevOps+Engineer)
澳洲地区的平均薪资$125,000
这才是真正的高薪且高需求
他的职业发展是什么
没错,这个方向也同样适合IT/Network/CS专业的人考虑,从Junior Grad到后面的DevOps/SRE,到后面的Architect是一条清晰地职业发展路径。
同样如果你是转专业的,比如之前做IT support的同学,做了好多年,自己的薪水感觉遇到了瓶颈想进入下一阶段,那这里条DevOps的路径是一条非常适合的方向去努力。
如果你是做后端和前端的,那更是必须要掌握的技能,这也是衡量你是否能到Senior的一个标准。没有用过CI/CD?没有操作过docker?还是没有用过monitor工具?下面的工具,接触过多少呢?
重点来了!
如何了解DevOps求职规划?可以听听来自Atlassian的Senior SRE讲解。如何一个毕业生拿到DevOps工作
这个清单是个人人坚持推荐的清单。
您需要掌握 *nix 系统,并充分了解 Linux 任务调度的工作原理。
不用担心终端,您可能有 GUI 界面来管理您的服务器。但无论是什么情况,您都必须爱上终端,它更快、更安全、更诚实,一旦掌握它就非常容易使用。
如何获取 CPU 和系统信息(如 cat /proc/version、cat /proc/cpuinfo、uptime …)。
Cron 任务如何运作。如何将 cron 任务设置在指定日期/时间/月。
如何知道您在计算机上运行的操作系统是什么版本(cat /etc/lsb-release)
了解不同的 *nix 操作系统之间的差异以及如何知道您在计算机上运行的操作系统是什么版本(例如cat /etc/lsb-release)。
几个 shell 命令之间的区别:sh,dash,bash,ash,zsh 。
如何设置和取消设置 ENV 变量。导出 ENV 变量是暂时的,如何导出永久变量?
什么是 shell 配置文件:例如 ~/.bashrc,.bash_profile,.environment ,如何操作程序初始化文件的配置源码。
必需了解 Vim、它的配置(.vimrc)及其一些基本技巧。
日志如何在 *nix 系统中运行,什么是日志记录级别以及如何使用日志管理工具(rsyslog,logstash,fluentd,logwatch,awslogs …)。
交换分区如何工作的。什么是交换性。(swapon -s,/proc/sys/vm/swappiness,sysctl vm.swappiness …)。
如何在查看/设置网络配置。
如何在具有不同子网的计算机上设置静态/动态 IP 地址?(提示:CIDR)
如何查看/设置/备份您的路由器设置?
DNS 如何工作?如何设置 DNS 服务器(Bind,Unbound,PowerDNS,Dnsmasq …)?递归和权威 DNS 有什么区别?如何解决 DNS 故障(nslookup,dig …)。
熟悉 DNS 和 A,AAAA,C,CNAME,TXT 记录。
SSH 如何工作,如何调试它以及如何生成 ssh 密钥以及无密码登录到其他计算机。
如何设置 Web 服务器(Apache,Nginx …)。
Nginx 和 Apache 有什么区别?什么时候使用 Nginx?什么时候使用 Apache?您可以在同一个 Web 应用程序中使用它们,何时以及如何使用它们?
如何设置反向代理(Nginx …)。
如何设置缓存服务器(Squid,Nginx …)。
如何设置负载均衡(HAproxy,Nginx …)。
什么是 init 进程?你知道 Systemd(自 Ubuntu 15.04 开始使用),Upstart(由 Ubuntu 开发),SysV …
熟悉 Systemd 以及如何使用 systemctl 和 journalctl 等命令分析和管理服务。
从源代码编译任何软件(gcc、make 和其他相关内容)。
如何通过终端压缩/解压缩不同格式的文件(主要是:tar/tar.gz)。
如何设置防火墙(使用 iptables 或至少为 ufw):设置规则、列表规则、路由流量、阻塞协议/端口 …。
了解最常用的默认运行服务端口号(如:SSH(22),Web(80),HTTPS(443)等)。
了解如何在生产环境中实时调试和跟踪运行的应用程序。
能轻松自如使用脚本语言。Bash 是必须掌握的(其他脚本语言也非常有用,如 Python,Perl …)。
了解如何使用至少一个配置管理和远程执行工具(Ansible,Puppet,SaltStack,Chef 等)。您的选择应基于以下标准:语法、性能、模板语言、推送与拉取模型、架构、与其他工具的集成、可扩展性、可靠性等。
了解如何配置和使用持续集成和持续交付工具,如 Jenkins、Travis CI、Buildbot、GoCd。将这些工具与其他工具(如 Selenium、构建工具、配置管理软件、Docker、云提供商的 SDK 等)集成是非常价值的。
学习分布式版本控制系统 Git 及其基本命令(pull / push / commit / clone / branch / merge / logs等)。了解 Git 工作流程。你知道如何将 Git 存储库恢复到上一个的提交吗?
了解如何使用 SSH 密钥。尝试使用 Github、Bitbucket 或 Gitlab 等来配置对 repo / account 的无密码访问。
熟悉 Vagrant 等工具,使用它们创建可分发和可移植的开发环境。
开始研究基础设施即为代码和基础设施配置自动化工具(如 Terraform 和 Packer)。
开始研究容器和 Docker。它的底层机制(cgroups 和命名空间)怎么运行?
开始熟悉基本的 Docker 命令(logs / inspect / top / ps / rm),另请查阅 docker hub(推/拉镜像)。
开始研究容器编排工具:Docker Swarm,Kubernetes,Mesosphere DC / OS,AWS ECS。
深入研究 DB(MySQL 或任何其他你喜欢的)。
学习 Redis / Memcache 和类似工具。
你的备份策略是什么?如何测试备份是否可靠。
你知道 ext4、ntfs、fat 吗?你知道 Union 文件系统吗?
发展您的云计算技能。首先选择云基础架构提供商:Amazon Web Services、Google Cloud Platform、Digitalocean、Microsoft Azure。或者使用 OpenStack 创建自己的私有云。
那么模拟服务器呢?您的单元测试测试策略是什么?端到端?那你真的需要模拟服务器吗?谷歌“模拟服务器必将消失”。
阅读有关 PaaS / Iaas / Saas / CaaS / FaaS / DaaS 和无服务器架构的知识。
了解如何使用 Cloud Shell 从您的 CLI 或使用 Cloud SDK 的程序中使用和配置云资源。
您熟悉 OSI 模型和 TCP / IP 协议规范吗?TCP 和 UDP 有什么差别?你知道 vxlan 吗?
掌握实用的命令,如进程监控命令(ps,top,htop,atop …),系统性能命令(nmon,iostat,sar,vmstat …)和网络故障排除和分析(nmap,tcpdump,ping,traceroute,airmon,airodump …)。
了解 HTTP 状态代码(2xx,3xx,4xx,5xx)。
你熟悉 IDE(Sublime Text,Atom,Eclipse 等)吗?
网络数据包分析:tcpdump、Wireshark等工具。
当你在浏览器中点击 google.com 时会发生什么?从浏览器的缓存,本地 DNS 缓存,本地网络配置(主机文件),路由,DNS,网络,Web 协议,缓存系统到 Web 服务器(如果深入讨论的话最基本的问题都是很难的)。
熟悉混乱的内核版本以及如何更新补丁。
熟悉 SSL / TLS 的工作原理以及数字证书的工作原理(https)。
熟悉安全协议:TLS,STARTTLS,SSL,HTTPS,SCP,SSH,SFTP,FTPS 等。
了解 PPTP,OpenVPN,L2TP / IPSec 之间的差异。
如何生成校验串(md5,SHA …)来验证任何文件的完整性。
了解整体架构和微服务架构之间的区别。
了解微服务架构的优缺点,并开始构建类似的架构。
你知道什么是 ChatOps 吗?您是否尝试过使用其中一个已知框架?Hubot,Lita,Cog?
如何实现零停机部署?您制定回滚、自我修复、自动扩展的策略是什么?
熟悉 API 和服务:RESTfull,类 RESTful,API 网关,Lambda 函数,无服务器计算,SOA,SOAP,JMS,CRUD。
学习有关无状态和有状态的应用程序。
阅读 DevOps 相关词汇表(Google it)。
如何守护您的基础架构,网络和运行的应用程序?
了解如何设置、配置和使用某些监控系统(Nagios,Zabix,Sensu,Prometheus …)。
阅读有关开源以及如何为开源项目做出贡献的信息,欲了解更多信息:
http://jvns.ca/blog/2016/10/26/a-few-questions-about-open-source/。
如果您的系统出现问题,您应该能够进行反思总结改进。使用文档详细记录出现问题的方法,以及我们如何防止再次发生错误。
尝试学习 StackOverflow 的专家如何解决任何问题。永远记住,这是不断变化的技术而不是基础不变的。基础知识总是保持不变。
让 Google,StackOverflow,Quora 等专业论坛成为您的朋友。
尝试建立良好的开发实践和可靠的架构。
了解如何在生产环境进行扩展。
关注开源项目(Kubernetes / Docker 等)或者让您感到兴奋的事情。
在邮件列表/公共论坛/技术聚会上提出问题/疑问/问题并从中学习。
关注来自社区的志同道合的人,并了解最新的技术趋势。
关注一些体面的科技公司工程博客(我们遵循:Google / Uber / Quora / Github / Netflix)。这是您可以直接从专家那里学习的地方,并有机会看到他们解决任何问题的方法。
浏览一些聚合资讯,如Reddit,黑客新闻,媒体等。
在 twitter 上关注志同道合的开发人员和技术公司。(我总是阅读文章和观看会议/会议,反思总结是我最喜欢的内容。我也会跟进着一些 Github repo 看看我使用的技术发生了什么。)
阅读各种与技术相关的博客并订阅 DevOps Newsletters。
如果可能的话,参加当地的聚会和会议。您将有机会从资深人士和其他人那里学到很多东西。
了解可伸缩性和高度分布式系统。如何让它们始终保持运行状态?
最后但并非最不重要,阅读书籍。
澳洲首个DevOps班级,三位来自澳洲Atlassian的顶级大牛指导,通过项目把DevOps内容串联起来
永远记住,我们都是学习者。我们通过推敲和试验来学习。失败时不要气馁,因为这是我们学习的方式。
大纲可以向客服获取
导师介绍
课程信息
面向对象
想深入了解DevOps的理工科在校学生
国内有IT工作经验,无本地经验的IT方向新移民
想要获取商业实战项目经验,积累IT人脉的学生
IT毕业生想要寻求澳洲第一份IT工作
IT其他专业人士想要转DevOps,获取一份高薪工作
不喜欢编程,想要从事运维方向的IT人
**优秀学员可以获得内推实习机会
课程特色
覆盖DevOps相关知识点
与实际工作场景/工作项目紧密关联
结课达到job ready的状态
积累相关项目经验
多个hands on项目练习
实际工作场景项目练习
免费简历修改/面试辅导
相关工作机会+内推机会 + Reference letter
课程结构
Part 1: DevOps Concept and Career Perspective
Part 2: The Big Picture and Project Motivation
Introduce the common WebApp architecture
Projects motivation
Part 3 :Coding Basics I
Git Basics with practices
Python Basics
Part 4: Coding Basics II
Python Basics
Hands-on projects
Part 5: Linux, Containerization and Orchestration
Linux and Bash Basics
Docker
Part 6: Projects continued
Project #2.1.2: Content Management System Project - Development #2
Project #2.2: Content Management System Project - Dockerise and Deploy
Part 7: CI/CD
Basic concepts and practices
Hands-on projects
Part 8: Configuration Management and Infrastructure Automation
Ansible/Packer basics and practices
Terraform basics and practices
Part 9:Logging & Monitoring
Logging Basics
Performance and Reliability Monitoring
Part 10: Projects continued
Hands-on projects
Part 11: High Availability and Auto Scaling
Industrial trends
Hands-on projects
Part 12: Agile Development/Incident Management
Agile Development
Incident report and management
Alerts
Webhook Integrations
Communications
Interactive class: from agile development to handling a real incident
Part 13: Review, Revision and Interview Questions Preparation
Part 14: Resume suggestion, template, and review
满分优秀的数据工程师和数据科学家亲临授课
IT职场大咖手把手教授
机会难得
快来戳小客服咨询吧
详细大纲也可以戳获得哦
悉尼匠人小乐
👇
匠人小花
澳洲匠人社群
作为澳洲领先的IT行业交流圈子,已经超过10000多个小伙伴加入,从刚刚来澳洲的IT新生,到行业大神都在IT圈子里。分享工作机会,解答生活职业就业问题。一个有爱的圈子,期待同样有爱的你加入。
* IT匠人圈已经有求职技术交流群,每个城市的匠人群,各大学的IT/CS新生群,行业交流群(大前端,Devops,Mobile,大数据人工智能,BA&DA&PM,php,java等等)