<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Learning on Andrew Khoury</title><link>https://www.drewkhoury.com/tags/learning/</link><description>Recent content in Learning on Andrew Khoury</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2021, Andrew Khoury; all rights reserved.</copyright><lastBuildDate>Mon, 18 Nov 2019 13:51:01 +0000</lastBuildDate><atom:link href="https://www.drewkhoury.com/tags/learning/index.xml" rel="self" type="application/rss+xml"/><item><title>New to DevOps? Start here.</title><link>https://www.drewkhoury.com/post/new-to-devops-start-here-bee6c54ae2e4/</link><pubDate>Mon, 18 Nov 2019 13:51:01 +0000</pubDate><guid>https://www.drewkhoury.com/post/new-to-devops-start-here-bee6c54ae2e4/</guid><description>
&lt;p>Some time after I got my first job “in DevOps” (I was one of those shiny new DevOps Engineers and really excited about the role) I distinctly remember a frank conversation with the Head of Delivery…&lt;/p>
&lt;blockquote>
&lt;p>I turned to him and said “You know DevOps isn’t real, right?” to which he replied “I know” (we were talking about job titles) and in that moment I knew we’d get along just fine.&lt;/p>
&lt;/blockquote>
&lt;p>We went on to have an interesting discussion about what DevOps meant to each of us. He explained that our clients, and the industry were looking for “DevOps Engineers” and the term was more a marketing term (it was much easier than the more accurate title combo I was thinking of for my role “CICD Build Automation Engineer / Cloud Engineer / Agile Champion / Infrastructure Developer / SRE / Application Integration Engineer / DevOps Evangelist / Automation Architect / Security Engineer / Ninja”).&lt;/p>
&lt;p>Any developer who works in a team that practices DevOps is a “DevOps” engineer. DevOps isn’t a position, but instead a philosophy that must be adopted by the whole organisation in order to solve problems together.&lt;/p>
&lt;p>&lt;img src="https://cdn-images-1.medium.com/max/800/0*QjLl4C-V5VuvRtja" alt="">&lt;/p>
&lt;p>Today we have DevSecOps, and all sort of buzz words to describe different ways of thinking of DevOps. In reality DevOps is rooted in the continuous improvement of the development lifecycle and that’s why it’s so important to understand the &lt;em>dev&lt;/em> component.&lt;/p>
&lt;blockquote>
&lt;p>DevOps (a &lt;a href="https://en.wikipedia.org/wiki/Clipped_compound">clipped compound&lt;/a> of “development” and “operations”) is a software development &lt;a href="https://en.wikipedia.org/wiki/Methodology">methodology&lt;/a> that combines &lt;a href="https://en.wikipedia.org/wiki/Software_development">software development&lt;/a> ( &lt;em>Dev&lt;/em>) with &lt;a href="https://en.wikipedia.org/wiki/Information_technology_operations">information technology operations&lt;/a> ( &lt;em>Ops&lt;/em>). The goal of DevOps is to shorten the &lt;a href="https://en.wikipedia.org/wiki/Systems_development_life_cycle">systems development life cycle&lt;/a> while delivering features, fixes, and updates frequently in close alignment with business objectives. &lt;a href="https://en.wikipedia.org/wiki/DevOps#cite_note-1">[1]&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;h3 id="devops-resources">DevOps Resources&lt;/h3>
&lt;p>&lt;img src="https://cdn-images-1.medium.com/max/800/0*eN0rLZMxP4krQVYv" alt="">&lt;/p>
&lt;p>There are so many DevOps resources for those getting started, and I like to keep an up to date starter guide here: &lt;a href="https://github.com/drewkhoury/devops-101">https://github.com/drewkhoury/devops-101&lt;/a>&lt;/p>
&lt;p>While everyone has their own definition and way of thinking of DevOps I’ve includes a few of my favourites:&lt;/p>
&lt;h3 id="definitions">Definitions&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://en.wikipedia.org/wiki/DevOps">DevOps defined by wikipedia&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://aws.amazon.com/devops/what-is-devops/">DevOps defined by AWS&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.atlassian.com/devops">DevOps defined by Atlassian&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://www.scaledagileframework.com/devops/">DevOps defined by SAFe&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="frameworks">Frameworks&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="http://www.devopsbookmarks.com/">DevOps Bookmarks&lt;/a> — There are new awesome tools and frameworks being released everyday. This is an open and transparent attempt at aggregating all those.&lt;/li>
&lt;/ul>
&lt;h3 id="lists">Lists&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://github.com/AcalephStorage/awesome-devops">AcalephStorage :: Awesome DevOps&lt;/a> — A curated list of resources for Devops&lt;/li>
&lt;li>&lt;a href="https://github.com/joubertredrat/awesome-devops">joubertredrat :: Awesome DevOps&lt;/a> — This is the awesome list with all open source and free applications that you can use in your management.&lt;/li>
&lt;li>&lt;a href="https://github.com/kahun/awesome-sysadmin">Awesome SysAdmin&lt;/a> — A curated list of amazingly awesome open source sysadmin resources inspired by Awesome PHP.&lt;/li>
&lt;/ul>
&lt;h3 id="misc">Misc&lt;/h3>
&lt;ul>
&lt;li>Google’s SRE books: &lt;a href="https://landing.google.com/sre/books/">https://landing.google.com/sre/books/&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/omidfi/how-to-annoy-a-web-developer/blob/master/README.md">How to annoy a web developer&lt;/a> — A list of tips on How to annoy web developers, hopefully for knowing and avoiding them.&lt;/li>
&lt;li>&lt;a href="http://web.devopstopologies.com/">DevOps Types and Anti-Types&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.atlassian.com/blog/devops/how-to-choose-devops-tools">Atlassian Toolchain&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/showcases/devops-tools">GitHub DevOps Tools Showcase&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://nvie.com/posts/a-successful-git-branching-model/">gitflow&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://devopschecklist.com/">DevOps Checklist&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://medium.com/devopslinks/the-15-point-devops-check-list-8cd2afb4a448">15 Point Checklist&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://hackernoon.com/the-must-know-checklist-for-devops-system-reliability-engineers-f74c1cbf259d">The Must Know Checklist For DevOps &amp;amp; Site Reliability Engineers&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://xebialabs.com/periodic-table-of-devops-tools/">xebialabs periodic-table-of-devops-tools&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://xebialabs.com/solutions/devops/">xebialabs — release and deployment pipeline&lt;/a>&lt;/li>
&lt;li>&lt;a href="http://blog.ycombinator.com/why-the-best-give-away/">Why the Best Companies and Developers Give Away Almost Everything They Do&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://12factor.net/">The twelve-factor App&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Originally posted on:&lt;/em> &lt;a href="https://www.linkedin.com/pulse/new-devops-start-here-andrew-khoury/">&lt;em>https://www.linkedin.com/pulse/new-devops-start-here-andrew-khoury/&lt;/em>&lt;/a>&lt;/p>
&lt;div class="notices info">
&lt;div class="label">Info&lt;/div>
&lt;p>Also posted on medium as &lt;a href="https://medium.com/@drew.khoury/new-to-devops-start-here-bee6c54ae2e4">New to DevOps? Start here.&lt;/a> and LinkedIn as &lt;a href="https://www.linkedin.com/pulse/new-devops-start-here-andrew-khoury/">New to DevOps? Start here.&lt;/a>.&lt;/p>
&lt;/div></description></item><item><title>One DevOps Please — Part 1</title><link>https://www.drewkhoury.com/post/gsd/one-devops-please-part-1/</link><pubDate>Wed, 16 Oct 2019 05:57:48 +0000</pubDate><guid>https://www.drewkhoury.com/post/gsd/one-devops-please-part-1/</guid><description>
&lt;p>&lt;em>One DevOps Please — An Enterprise Journey to a DevOpsy-Cloud&lt;/em>&lt;/p>
&lt;blockquote>
&lt;p>“I’ll have one DevOps please.”&lt;/p>
&lt;/blockquote>
&lt;p>Over the last few years large organizations have been coming to consultants like myself to ask for help “Installing DevOps” into their organization. Some of them just want &lt;a href="https://kubernetes.io/">kubernetes&lt;/a> clusters, while others are talking about true transformation.&lt;/p>
&lt;p>In this two-part blog I want to take you on a DevOps transformation journey. I’m going to share with you my recipe for success and give you all the secrets to unlocking true business value through &lt;strong>people&lt;/strong> &lt;em>and&lt;/em> &lt;strong>organizational&lt;/strong> change with a culture of learning at their core.&lt;/p>
&lt;p>Because everyone’s definition of “DevOps” can be slightly different, I’m going to set the scene with a simple definition:&lt;/p>
&lt;blockquote>
&lt;p>“DevOps is really about eliminating (most) Technical, Process and Cultural barriers to between Idea and Execution — using Software.” — Kishore Jalleda&lt;/p>
&lt;/blockquote>
&lt;h3 id="my-devopsjourney">My DevOps Journey&lt;/h3>
&lt;p>Before we get stuck into how people and companies transform the way they work, let me start by sharing the journey I took to get here and how it’s shaped my ways of thinking.&lt;/p>
&lt;p>I started my career by &lt;em>learning&lt;/em>. I strived for technical excellence and perfection through delivery. I poured my heart and soul into my craft which started out as web development but quickly grew into cloud and automation.&lt;/p>
&lt;p>One thing I realized was that I loved teaching people new things. What took longer to learn was how impactful learning and transformation could be to both teams and companies.&lt;/p>
&lt;p>Nowadays my value comes from enabling my teams and coaching my clients. Our team’s success depends on my ability to foster the right skills, remove the noise/blockers and leveraging my previous experience to set us up for success.&lt;/p>
&lt;h3 id="how-peoplelearn">How People Learn&lt;/h3>
&lt;p>I mentioned earlier that some organizations want to “Install the DevOps”. Astute readers will know that DevOps isn’t a piece of software and so hiring consultants to “Do the DevOps for you” won’t give you long term results. The aim for your organization should be to empower your people by giving them opportunities to learn and grow (hint: that’s where the transformation happens).&lt;/p>
&lt;p>&lt;img src="https://cdn-images-1.medium.com/max/800/0*9LZA6bL0bh4dXb2e" alt="">&lt;/p>
&lt;p>So how does learning happen? Can you just send your employees on DevOps training and have them come back 1 week later ready to tackle the world’s problems? Unfortunately it’s not that easy, and here’s why. Learning typically follows the following 4 stages:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Step 1:&lt;/strong> I don’t need to learn &lt;insert thing>. I’m fine just the way I am.&lt;/li>
&lt;li>&lt;strong>Step 2:&lt;/strong> I need to learn &lt;insert thing> — can you help me?&lt;/li>
&lt;li>&lt;strong>Step 3:&lt;/strong> I know a little about &lt;insert thing> now. I can start to contribute with some help and guidance, thanks!&lt;/li>
&lt;li>&lt;strong>Step 4:&lt;/strong> I know &lt;insert thing> now. I can contribute on my own, and I can teach others too now&lt;/li>
&lt;/ul>
&lt;p>This model is known as &lt;a href="https://en.wikipedia.org/wiki/Four_stages_of_competence">The Four Stages of Competence&lt;/a> and it’s a critical part of any “DevOps/Transformation” journey. If you don’t understand how to take people from step one to step two all your efforts will fall on deaf ears. There’s also something called the &lt;a href="https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect">Dunning Kruger effect&lt;/a> — a cognitive bias in which people mistakenly assess their cognitive ability as greater than it is. Psychology can really work against us!&lt;/p>
&lt;p>Now we know that unlocking the very best from your employees involves taking them on a learning journey, and unlocking the mind (steps 1–2).&lt;/p>
&lt;p>The exciting part of the journey (Steps 2–4) involves knowledge transfer, which I’ll touch on briefly. Something I’m really proud of about &lt;a href="https://www.contino.io/">Contino&lt;/a> is how we help people on their personal journey through the &lt;strong>dual-delivery model&lt;/strong>. This might sound fancy, but it’s just leveraging practical experience to pair-program with people. We also tend to spend plenty of time at the whiteboard teaching, but most importantly we establish trust and show empathy by working along side our clients and having shared goals.&lt;/p>
&lt;h3 id="getting-from-step-1-to-step2">Getting from Step 1 to Step 2&lt;/h3>
&lt;p>One of the hardest parts of transformation is getting past the very first step — so it deserves it’s own section.&lt;/p>
&lt;p>Getting people to recognize that they need to learn something is the first hurdle. Getting them to be vulnerable in the workplace and admit that they need help is often the second one.&lt;/p>
&lt;p>Getting individuals to open up and trust you can take time. My job as a consultant is to deliver, but also to fall in love with my customer. I’m not talking about butterflies in my stomach, I’m talking about caring about my team’s success and how happy they are each day. I’m lucky enough to love what I do and have the opportunity to work with teams I genuinely care about.&lt;/p>
&lt;p>But sometimes there are other factors at play and empathy alone isn’t enough. It helps to have a trusted partner along with your for the ride, and the key is to get the most value out of them by leveraging their skills and experience to maximize your learning. Let’s have a look at common pitfalls that may hamper learning with your consulting partner:&lt;/p>
&lt;ul>
&lt;li>Hiring a consultancy and having them do all the work (no learning)&lt;/li>
&lt;li>Hiring a consultancy and telling them what to do (staff augmentation)&lt;/li>
&lt;li>Your team is “too busy” or you aren’t able to grow/hire within your team (you can’t learn if you’re not present)&lt;/li>
&lt;/ul>
&lt;h3 id="person-vs-organizational-transformation">Person vs Organizational Transformation&lt;/h3>
&lt;blockquote>
&lt;p>So can we transform a company one person or team at a time?&lt;/p>
&lt;/blockquote>
&lt;p>Well, sort of. It’s often easy to find inspired people in an organization who can be your champions. Investing your own time in someone can be very rewarding and the results can be seen relatively quickly within your teams or sphere of influence. The other benefit is that investing in people (or your team) doesn’t usually require CEO sign-off.&lt;/p>
&lt;p>While helping people learn new skills and ways of thinking is a great starting point you won’t be able to achieve large scale transformation without a well thought-out (and properly executed) strategy for your organization. You’ll also need buy-in from your leadership.&lt;/p>
&lt;p>So how do we achieve organizational transformation, what does it look like and what are the pitfalls? Find out in &lt;a href="https://medium.com/faun/one-devops-please-part-2-57aff9ad8595">One DevOps Please — Part 2&lt;/a> where we’ll deep dive into what it looks like to transformation a company (ie Installing DevOps company-wide).&lt;/p>
&lt;div class="notices info">
&lt;div class="label">Info&lt;/div>
&lt;p>Also posted on medium as &lt;a href="https://medium.com/@drew.khoury/one-devops-please-part-1-df7a2787fde8">One DevOps Please — Part 1&lt;/a>.&lt;/p>
&lt;/div></description></item><item><title>Learning Ansible — The quick way</title><link>https://www.drewkhoury.com/post/learning-ansible-the-quick-way-b2e162680fcd/</link><pubDate>Thu, 10 Oct 2019 13:46:02 +0000</pubDate><guid>https://www.drewkhoury.com/post/learning-ansible-the-quick-way-b2e162680fcd/</guid><description>
&lt;p>Are you strapped for time but wanting to learn Ansible? I’ve got your back! I’ve been using Ansible for several years now, and was first introduced to it as a replacement to Puppet. It didn’t take me long to learn, but it what really amazed me what how much more it could do!&lt;/p>
&lt;p>I’ve used Ansible to generate Cloudformation templates, perform Websphere deployments, collect information on multiple hosts and do simple configuration management for hosts as well as testing software.&lt;/p>
&lt;p>Some of my favourite things about Ansible are how easy it is to get started, the ability to set and override variables in multiple locations, templating, looping and the simple use of tags to target subsets of tasks.&lt;/p>
&lt;p>Looping, templates and variables in Ansible:&lt;/p>
&lt;p>&lt;img src="https://cdn-images-1.medium.com/max/800/0*ad4dWK0Rgn9zcmSS" alt="">&lt;/p>
&lt;p>Ansible does a great job of system level tasks that you’d normally perform in the shell or by scripts (think file manipulation, installing software, restarting services) but it can also communicate with multiple hosts, and has modules for Cloud providers too. It’s simplicity is where it really shines.&lt;/p>
&lt;p>Head over to &lt;a href="https://docs.google.com/presentation/d/1jIsDHf-5M1w_KWAyU_R5Uv-iHwvRntUb4cC3yBW3_ME/">https://docs.google.com/presentation/d/1jIsDHf-5M1w_KWAyU_R5Uv-iHwvRntUb4cC3yBW3_ME/&lt;/a> to learn more about some of my favourite Ansible constructs and how you can use and how you can use Ansible to automate some of your daily tasks.&lt;/p>
&lt;h3 id="ansible-links">Ansible Links&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="http://docs.ansible.com/ansible/latest/index.html">http://docs.ansible.com/ansible/latest/index.html&lt;/a> — Ansible Documentation&lt;/li>
&lt;li>&lt;a href="http://docs.ansible.com/ansible/latest/modules_by_category.html">http://docs.ansible.com/ansible/latest/modules_by_category.html&lt;/a> — Module categories&lt;/li>
&lt;li>&lt;a href="http://docs.ansible.com/ansible/latest/list_of_all_modules.html">http://docs.ansible.com/ansible/latest/list_of_all_modules.html&lt;/a> — All Ansible Modules&lt;/li>
&lt;li>&lt;a href="http://docs.ansible.com/ansible/latest/YAMLSyntax.html">http://docs.ansible.com/ansible/latest/YAMLSyntax.html&lt;/a> — YAML Syntax … read this a few times, it’ll come in handy&lt;/li>
&lt;li>&lt;a href="http://docs.ansible.com/ansible/latest/playbooks.html">http://docs.ansible.com/ansible/latest/playbooks.html&lt;/a> — Ansible Playbooks&lt;/li>
&lt;li>&lt;a href="https://zaiste.net/posts/ansible_101/">https://zaiste.net/posts/ansible_101/&lt;/a> — A nice 5 minute hands-on intro to Ansible&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/andreicristianpetcu/b892338de279af9dac067891579cad7d">https://gist.github.com/andreicristianpetcu/b892338de279af9dac067891579cad7d&lt;/a> — Ansible cheatsheet, a great reference point for just about any bit of Ansible code you’d need to write&lt;/li>
&lt;li>&lt;a href="https://www.ansible.com/blog/ansible-best-practices-essentials">https://www.ansible.com/blog/ansible-best-practices-essentials&lt;/a> — Best practices&lt;/li>
&lt;li>&lt;a href="https://serversforhackers.com/c/an-ansible2-tutorial">https://serversforhackers.com/c/an-ansible2-tutorial&lt;/a> — Detailed Ansible tutorial with explaination and code.&lt;/li>
&lt;li>&lt;a href="https://gist.github.com/phred/2897937">https://gist.github.com/phred/2897937&lt;/a> — pedantically commented playbook&lt;/li>
&lt;/ul>
&lt;p>&lt;em>Originally posted on&lt;/em> &lt;a href="https://www.linkedin.com/pulse/learning-ansible-quick-way-andrew-khoury/">&lt;em>https://www.linkedin.com/pulse/learning-ansible-quick-way-andrew-khoury/&lt;/em>&lt;/a>&lt;/p>
&lt;p>Bonus Points:&lt;/p>
&lt;blockquote>
&lt;p>If you liked learning about Ansible I have a git repo full of DevOpsy learnings &lt;a href="https://github.com/drewkhoury/devops-101">https://github.com/drewkhoury/devops-101&lt;/a>&lt;/p>
&lt;/blockquote>
&lt;div class="notices info">
&lt;div class="label">Info&lt;/div>
&lt;p>Also posted on medium as &lt;a href="https://medium.com/@drew.khoury/learning-ansible-the-quick-way-b2e162680fcd">Learning Ansible — The quick way&lt;/a>.&lt;/p>
&lt;/div></description></item></channel></rss>