<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Michael Cade</title>
    <description>The latest articles on DEV Community by Michael Cade (@michaelcade1).</description>
    <link>https://dev.to/michaelcade1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F431504%2Fd1799715-8e10-4666-b540-606252fe8503.jpg</url>
      <title>DEV Community: Michael Cade</title>
      <link>https://dev.to/michaelcade1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/michaelcade1"/>
    <language>en</language>
    <item>
      <title>#90DaysOfDevOps - Introduction - Day 1</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Sun, 17 Apr 2022 10:12:40 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-introduction-day-1-5567</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-introduction-day-1-5567</guid>
      <description>&lt;h2&gt;
  
  
  Introduction - Day 1
&lt;/h2&gt;

&lt;p&gt;Day 1 of our 90 days and adventure to learn a good foundational understanding of DevOps and tools that help with a DevOps mindset.&lt;/p&gt;

&lt;p&gt;This learning journey started for me a few years back, but my focus then was around virtualisation platforms and cloud-based technologies, I was looking mostly into Infrastructure as Code and Application configuration management with Terraform and Chef.&lt;/p&gt;

&lt;p&gt;Fast forward to March 2021, I was given an amazing opportunity to concentrate my efforts around the Cloud Native strategy at Kasten by Veeam. Which was going to be a massive focus on Kubernetes and DevOps and the community surrounding these technologies. I started my learning journey and quickly realised there was a very wide world aside from just learning the fundamentals of Kubernetes and Containerisation and it was then when I started speaking to the community and learning more and more about the DevOps culture, tooling and processes so I started documenting some of the areas I wanted to learn in public.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.kasten.io/devops-learning-curve"&gt;So you want to learn DevOps?&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let the journey begin
&lt;/h2&gt;

&lt;p&gt;If you read the above blog, you will see this is a high-level contents for my learning journey and I will say at this point I am nowhere near an expert in any of these sections but what I wanted to do was share some resources both FREE and some paid for but an option for both as we all have different circumstances.&lt;/p&gt;

&lt;p&gt;Over the next 90 days, I want to document these resources and cover those foundational areas. I would love for the community to also get involved. Share your journey and resources so we can learn in public and help each other.&lt;/p&gt;

&lt;p&gt;You will see from the opening readme in the project repository that I have split things into sections and it is 12 weeks plus 6 days. For the first 6 days, we will explore the fundamentals of DevOps in general before diving into some of the specific areas. By no way is this list exhaustive and again, I would love for the community to assist in making this a useful resource.&lt;/p&gt;

&lt;p&gt;Another resource I will share at this point and that I think everyone should have a good look at, maybe create your mind map for yourself and your interest and position, is the following:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://roadmap.sh/devops"&gt;DevOps Roadmap&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I found this a great resource when I was creating my initial list and blog post on this topic. You can also see other areas go into a lot more detail outside of the 12 topics I have listed here in this repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  First Steps - What is DevOps?
&lt;/h2&gt;

&lt;p&gt;There are so many blog articles and YouTube videos to list here, but as we start the 90-day challenge and we focus on spending around an hour a day learning something new or about DevOps, I thought it was good to get some of the high level of "what DevOps is" down to begin.&lt;/p&gt;

&lt;p&gt;Firstly, DevOps is not a tool. You cannot buy it, it is not a software SKU or an open source GitHub repository you can download. It is also not a programming language, it is also not some dark art magic either.&lt;/p&gt;

&lt;p&gt;DevOps is a way to do smarter things in Software Development. - Hold up... But if you are not a software developer should you turn away right now and not dive into this project??? No. Not at all. Stay... Because DevOps brings together a combination of software development and operations. I mentioned earlier that I was more on the VM side and that would generally fall under the Operations side of the house, but within the community, there are people with all different backgrounds where DevOps is 100% going to benefit the individual, Developers, Operations and QA Engineers all can equally learn these best practices by having a better understanding of DevOps.&lt;/p&gt;

&lt;p&gt;DevOps is a set of practices that help to reach the goal of this movement: reducing the time between the ideation phase of a product and its release in production to the end-user or whomever it could be an internal team or customer.&lt;/p&gt;

&lt;p&gt;Another area we will dive into in this first week is around &lt;strong&gt;The Agile Methodology&lt;/strong&gt;. DevOps and Agile are widely adopted together to achieve continuous delivery of your &lt;strong&gt;Application&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The high-level takeaway is that a DevOps mindset or culture is about shrinking the long, drawn out software release process from potentially years to being able to drop smaller releases more frequently. The other key fundamental point to understand here is the responsibility of a DevOps engineer to break down silos between the teams I previously mentioned: Developers, Operations and QA.&lt;/p&gt;

&lt;p&gt;From a DevOps perspective, &lt;strong&gt;Development, Testing and Deployment&lt;/strong&gt; all land with the DevOps team.&lt;/p&gt;

&lt;p&gt;The final point I will make is to make this as effective and efficient as possible we must leverage &lt;strong&gt;Automation&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;I am always open to adding additional resources to these readme files as it is here as a learning tool.&lt;/p&gt;

&lt;p&gt;My advice is to watch all of the below and hopefully you have also picked something up from the text and explanations above.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Xrgk023l4lI"&gt;DevOps in 5 Minutes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=_Gpe1Zn-1fE&amp;amp;t=43s"&gt;What is DevOps? Easy Way&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=7l_n97Mt0ko"&gt;DevOps roadmap 2022 | Success Roadmap 2022&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you made it this far, then you will know if this is where you want to be or not. See you on &lt;a href="//day02.md"&gt;Day 2&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>90daysofdevops</category>
      <category>learning</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 7</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Fri, 07 Jan 2022 09:38:12 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-7-94m</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-7-94m</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; come and get involved, star and fork the repo and start your own journey. You don't need to follow what I am doing but the sections might help. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Big Picture - DevOps &amp;amp; Learning a Programming Language
&lt;/h2&gt;

&lt;p&gt;I think it is fair to say to be successful in the long term as a DevOps engineer you've got to know at least one programming language at a foundational level. I want to take this first session of this section to explore why this is such a critical skill to have, and hopefully, by the end of this week or section, you are going to have a better understanding of the why, how and what to do to progress with your learning journey. &lt;/p&gt;

&lt;p&gt;I think if I was to ask out on social do you need to have programming skills for DevOps related roles, the answer will be most likely a hard yes? Let me know if you think otherwise? Ok but then a bigger question and this is where you won't get such a clear answer is which programming language?  The most common answer I have seen here has been Python or increasingly more often, we're seeing Golang or Go should be the language that you learn. &lt;/p&gt;

&lt;p&gt;To be successful in DevOps you have to have a good knowledge of programming skills is my takeaway from that at least. But we have to under why we need it to choose the right path. &lt;/p&gt;

&lt;h2&gt;
  
  
  Understand why you need to learn a programming language.
&lt;/h2&gt;

&lt;p&gt;The reason that Python and Go are recommended so often for DevOps engineers is that a lot of the DevOps tooling is written in either Python or Go, which makes sense if you are going be build DevOps tools. Now this is important as this will determine really what you should learn and that would likely be the most beneficial. If you are going to be building DevOps tools or you are joining a team that does then it would make sense to learn that same language, if you are going to be heavily involved in Kubernetes or Containers then it's more than likely that you would want to choose Go as your programming language. For me, the company I work for (Kasten by Veeam) is in the Cloud-Native ecosystem focused on data management for Kubernetes and everything is written in Go. &lt;/p&gt;

&lt;p&gt;But then you might not have clear cut reasoning like that to choose you might be a student or transitioning careers with no real decision made for you. I think in this situation then you should choose the one that seems to resonate and fit with the applications you are looking to work with. &lt;/p&gt;

&lt;p&gt;Remember I am not looking to become a software developer here I just want to understand a little more about the programming language so that I can read and understand what those tools are doing and then that leads to possibly how we can help improve things. &lt;/p&gt;

&lt;p&gt;I would also it is also important to know how you interact with those DevOps tools which could be Kasten K10 or it could be Terraform and HCL. These are what we will call config files and this is how you interact with those DevOps tools to make things happen, commonly these are going to be YAML. (We may use the last day of this section to dive a little into YAML) &lt;/p&gt;

&lt;h2&gt;
  
  
  Did I just talk myself out of learning a programming language?
&lt;/h2&gt;

&lt;p&gt;Most of the time or depending on the role, you will be helping engineering teams implement DevOps into their workflow, a lot of testing around the application and making sure that the workflow that is built aligns to those DevOps principles we mentioned over the first few days. But in reality, this is going to be a lot of the time troubleshooting an application performance issue or something along those lines. This comes back to my original point and reasoning, the programming language I need to know is the one that the code is written in? If their application is written in NodeJS it won’t help much if you have a Go or Python badge. &lt;/p&gt;

&lt;h2&gt;
  
  
  Why Go
&lt;/h2&gt;

&lt;p&gt;Why Golang is the next programming language for DevOps, Go has become a very popular programming language in recent years. According to the StackOverflow Survey for 2021 Go came in fourth for the most wanted Programming, scripting and markup languages with Python being top but hear me out. &lt;a href="https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-programming-scripting-and-markup-languages"&gt;StackOverflow 2021 Developer Survey – Most Wanted Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I have also mentioned some of the most known DevOps tools and platforms are written in Go such as Kubernetes, Docker, Grafana and Prometheus. &lt;/p&gt;

&lt;p&gt;What are some of the characteristics of Go that make it great for DevOps?&lt;/p&gt;

&lt;h2&gt;
  
  
  Build and Deployment of Go Programs
&lt;/h2&gt;

&lt;p&gt;An advantage of using a language like Python that is interpreted in a DevOps role is that you don’t need to compile a python program before running it. Especially for smaller automation tasks, you don’t want to be slowed down by a build process that requires compilation even though, even though Go is a compiled programming language, &lt;strong&gt;Go compiles directly into machine code&lt;/strong&gt;.  Go is known also for fast compilation times. &lt;/p&gt;

&lt;h2&gt;
  
  
  Go vs Python for DevOps
&lt;/h2&gt;

&lt;p&gt;Go Programs are statically linked, this means that when you compile a go program everything is included in a single binary executable, no external dependencies will be required that would need to be installed on the remote machine, this makes the deployment of go programs easy, compared to python program that uses external libraries you have to make sure that all those libraries are installed on the remote machine that you wish to run on. &lt;/p&gt;

&lt;p&gt;Go is a platform-independent language, which means you can produce binary executables for *all the operating systems, Linux, Windows, macOS etc and very easy to do so. With Python, it is not as easy to create these binary executables for particular operating systems. &lt;/p&gt;

&lt;p&gt;Go is a very performant language, it has fast compilation and fast run time with lower resource usage like CPU and memory especially compared to python, numerous optimisations have been implemented in the Go language that makes it so performant. (Resources below) &lt;/p&gt;

&lt;p&gt;Unlike Python which often requires the use of third party libraries to implement a particular python program, go includes a standard library that has the majority of functionality that you would need for DevOps built directly into it. This includes functionality file processing, HTTP web services, JSON processing, native support for concurrency and parallelism as well as built-in testing. &lt;/p&gt;

&lt;p&gt;This is by no way throwing Python under the bus I am just giving my reasons for choosing Go but they are not the above Go vs Python it's generally because it makes sense as the company I work for develops software in Go so that is why. &lt;/p&gt;

&lt;p&gt;I will say that once you have or at least I am told as I am not many pages into this chapter right now, is that once you learn your first programming language it becomes easier to take on other languages. You're probably never going to have a single job in any company anywhere where you don't have to deal with manage, architect, orchestrating, debug JavaScript and Node JS applications. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://insights.stackoverflow.com/survey/2021"&gt;StackOverflow 2021 Developer Survey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=7pLqIIAqZD4&amp;amp;t=9s"&gt;Why we are choosing Golang to learn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=C8LgvuEBraI&amp;amp;t=312s"&gt;Jake Wright - Learn Go in 12 minutes&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=yyUHQIec83I"&gt;Techworld with Nana - Golang full course - 3 hours 24 mins&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.pluralsight.com/courses/go-fundamentals"&gt;&lt;strong&gt;NOT FREE&lt;/strong&gt; Nigel Poulton Pluralsight - Go Fundamentals - 3 hours 26 mins&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=YS4e4q9oBaU&amp;amp;t=1025s"&gt;FreeCodeCamp -  Learn Go Programming - Golang Tutorial for Beginners&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/playlist?list=PLRAV69dS1uWSR89FRQGZ6q9BR2b44Tr9N"&gt;Hitesh Choudhary - Complete playlist&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now for the next 6 days of this topic my intention is to work through some of the resources listed above and document my notes for each day. You will notice that they are generally around 3 hours as a full course, I wanted to share my complete list so that if you have time you should move ahead and work through each one if time permits, I will be sticking to my learning hour each day. &lt;/p&gt;

&lt;p&gt;See you on &lt;a href="//day8.md"&gt;Day 8&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>development</category>
      <category>operations</category>
      <category>sre</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 6</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Thu, 06 Jan 2022 14:59:45 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-6-5aia</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-6-5aia</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; come and get involved, star and fork the repo and start your own journey. You don't need to follow what I am doing but the sections might help. &lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps - The real stories
&lt;/h2&gt;

&lt;p&gt;DevOps to begin with was seen to be out of reach for a lot of us as we didn't have an environment or requirement anything like a Netflix or fortune 500 but think now that is beginning to sway into the normal when adopting a DevOps practice within any type of business. &lt;/p&gt;

&lt;p&gt;You will see from the second link below in references there are a lot of different industries and verticals using DevOps and having a hugely positive effect on their business objectives. &lt;/p&gt;

&lt;p&gt;Obviously the overarching benefit here is DevOps if done correctly should help your Business improve the speed and quality of software development. &lt;/p&gt;

&lt;p&gt;I wanted to take this Day to look at succesful companies that have adopted a DevOps practice and share some resources around this, This will be another great one for the community to also dive in and help here. Have you adopted a DevOps culture in your business? Has it been successful? &lt;/p&gt;

&lt;p&gt;I mentioned Netflix above and will touch on them again as it is a very good model and advanced to what we generally see today even still but will also mention some other big name brands that are succeeding it seems. &lt;/p&gt;

&lt;h2&gt;
  
  
  Amazon
&lt;/h2&gt;

&lt;p&gt;In 2010 Amazon moved their physical server footprint to Amazon Web Services (AWS) cloud this allowed them to save resources by scaling capacity up and down in very small increments. We also know that this AWS cloud would go on and make a huge amount of revenue itself whilst still running the Amazon retail branch of the company. &lt;/p&gt;

&lt;p&gt;Amazon adopted in 2011 (According to the resource below) a continued deployment process where their developers could deploy code whenever they want and to whatever servers they needed. This enabled Amazon to achieve deploying new software to production servers on average every 11.6 seconds! &lt;/p&gt;

&lt;h2&gt;
  
  
  Netflix
&lt;/h2&gt;

&lt;p&gt;Who doesn't use Netflix? obviously a huge quality streaming service with by all accounts at least personally a great user experience. &lt;/p&gt;

&lt;p&gt;Why is that user experience so great? Well the ability to deliver a service with no recollected memory for me at least of glitches requires speed, flexibility, and attention to quality. &lt;/p&gt;

&lt;p&gt;NetFlix developers can automatically build pieces of code into deployable web images without relying on IT operations. As the images are updated, they are integrated into Netflix’s infrastructure using a custom-built, web-based platform.&lt;/p&gt;

&lt;p&gt;Continous Monitoring is in place so that if the deployment of the images fails, the new images are rolled back and traffic rerouted to the previous version. &lt;/p&gt;

&lt;p&gt;There is a great talk listed below that goes into more about the DOs and DONTs that Netflix live and die by within their teams. &lt;/p&gt;

&lt;h2&gt;
  
  
  Etsy
&lt;/h2&gt;

&lt;p&gt;As with many of us and many companies there was a real struggle around slow and painful deployments. In the same vein we might have also experienced working in companies that have lots of siloes and teams that are not really working well together. &lt;/p&gt;

&lt;p&gt;From what I can make out at least from reading about Amazon and Netflix, Etsy might have adopted the letting developers deploy their own code around the end of 2009 which might have been before the other two mentioned. (interesting!) &lt;/p&gt;

&lt;p&gt;An interesting take away I read here was that they realised that when developers feel responsibility for deployment they also would take responsibility for application performance, uptime and other goals. &lt;/p&gt;

&lt;p&gt;A learning culture is a key part to DevOps, even failure can be a success if lessons are learned. (not sure where this quote actually came from but it kind of makes sense!)&lt;/p&gt;

&lt;p&gt;I have added some other stories where DevOps has changed the game within some of these massively successful companies. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=UTKIT6STSVM"&gt;How Netflix Thinks of DevOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.upgrad.com/blog/devops-use-cases-applications/"&gt;16 Popular DevOps Use Cases &amp;amp; Real Life Applications [2021]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZzLa0YEbGIY"&gt;DevOps: The Amazon Story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.networkworld.com/article/2886672/how-etsy-makes-devops-work.html"&gt;How Etsy makes DevOps work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=gm18-gcgXRY"&gt;Adopting DevOps @ Scale Lessons learned at Hertz, Kaiser Permanente and lBM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.usenix.org/conference/lisa16/technical-sessions/presentation/isla"&gt;Interplanetary DevOps at NASA JPL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://enterprisersproject.com/article/2017/1/target-cio-explains-how-devops-took-root-inside-retail-giant"&gt;Target CIO explains how DevOps took root inside the retail giant&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Recap of our first few days looking at DevOps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;DevOps is a combo of Development and Operations that allows a single team to manage the whole application development lifecycle that consists of &lt;strong&gt;Development&lt;/strong&gt;, &lt;strong&gt;Testing&lt;/strong&gt;, &lt;strong&gt;Deployment&lt;/strong&gt;, &lt;strong&gt;Operations&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The main focus and aim of DevOps is to shorten the development lifecycle while delivering features, fixes and functionality frequently in close alignment with business objectives. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DevOps is a software development approach through which software can be delivered and developed reliably and quickly. You may also see this referenced as &lt;strong&gt;Continuous Development, Testing, Deployment, Monitoring&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you made it this far then you will know if this is where you want to be or not. See you on &lt;a href="//day7.md"&gt;Day 7&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Day 7 will be us diving into a programming language, I am not aiming to be a developer but I want to be able to understand what the developers are doing. &lt;/p&gt;

&lt;p&gt;Can we achieve that in a week? Probably not but if we spend 7 days or 7 hours learning something we are going to know more than when we started.   &lt;/p&gt;

</description>
      <category>devops</category>
      <category>development</category>
      <category>operations</category>
      <category>sre</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 5</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Wed, 05 Jan 2022 09:19:49 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-5-1ce7</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-5-1ce7</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; come and get involved, star and fork the repo and start your own journey. You don't need to follow what I am doing but the sections might help. &lt;/p&gt;

&lt;h2&gt;
  
  
  Plan &amp;gt; Code &amp;gt; Build &amp;gt; Testing &amp;gt; Release &amp;gt; Deploy &amp;gt; Operate &amp;gt; Monitor &amp;gt;
&lt;/h2&gt;

&lt;p&gt;Today we are going to focus on the individual steps from start to finish and the continous cycle of an Application in a DevOps world. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eaNDmQPI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/v1/Images/Day5_DevOps8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eaNDmQPI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/v1/Images/Day5_DevOps8.png" alt="DevOps" width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Plan
&lt;/h3&gt;

&lt;p&gt;It all starts with the planning process this is where the development team gets together and figure out what types of features and bug fixes that they're going to roll out in their next sprint. This is an opportunity as a DevOps Engineer for you to get involved with that and learn what kinds of things are going to be coming your way that you need to be involved with and also influence their decisions or their path and kind of help them work with the infrastructure that you've built or steer them towards something that's going to work better for them in case they're not on that path and so one key thing to point out here is the developers or software engineering team is your customer as a DevOps engineer so this is your opportunity to work with your customer before they go down a bad path.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;

&lt;p&gt;Now once that planning session's done they're going to go start writing the code you may or may not be involved a whole lot with this one of the places you may get involved with it, is whenever they're writing code you can help them better understand the infrastructure so if they know what services are available and how to best talk with those services so they're going to do that and then once they're done they'll merge that code into the repository &lt;/p&gt;

&lt;h3&gt;
  
  
  Build
&lt;/h3&gt;

&lt;p&gt;This is where we'll kick off the first of our automation processes because we're going to take their code and we're going to build it depending on what language they're using it may be transpiling it or compiling it or it might be creating a docker image from that code either way we're going to go through that process using our ci cd pipeline &lt;/p&gt;

&lt;h2&gt;
  
  
  Testing
&lt;/h2&gt;

&lt;p&gt;Once we've built it we're going to run some tests on it now the development team usually writes the test you may have some input in what tests get written but we need to run those tests and the testing is a way for us to try and minimise introducing problems out into production, it doesn't guarantee that but we want to get as close to a guarantee as we can that were one not introducing new bugs and two not breaking things that used to work&lt;/p&gt;

&lt;h2&gt;
  
  
  Release
&lt;/h2&gt;

&lt;p&gt;Once those tests pass we're going to do the release process and depending again on what type of application you're working on this may be a non-step. You know the code may just live in the GitHub repo or the git repository or wherever it lives but it may be the process of taking your compiled code or the docker image that you've built and putting it into a registry or a repository where it's accessible by your production servers for the deployment process &lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy
&lt;/h2&gt;

&lt;p&gt;which is the thing that we do next because deployment is like the end game of this whole thing because deployments when we put the code into production and it's not until we do that that our business actually realizes the value from all the time effort and hard work that you and the software engineering team have put into this product up to this point. &lt;/p&gt;

&lt;h2&gt;
  
  
  Operate
&lt;/h2&gt;

&lt;p&gt;Once it's deployed we are going to operate it and operate it may involve something like you start getting calls from your customers that they're all annoyed that the site's running slow or their application is running slow right so you need to figure out why that is and then possibly build auto-scaling you know to handle increase the number of servers available during peak periods and decrease the number of servers during off-peak periods either way that's all operational type metrics, another operational thing that you do is include like a feedback loop from production back to your ops team letting you know about key events that happened in production such as a deployment back one step on the deployment thing this may or may not get automated depending on your environment the goal is to always automate it when possible there are some environments where you possibly need to do a few steps before you're ready to do that but ideally you want to deploy automatically as part of your automation process but if you're doing that it might be a good idea to include in your operational steps some type of notification so that your ops team knows that a deployment has happened &lt;/p&gt;

&lt;h2&gt;
  
  
  Monitor
&lt;/h2&gt;

&lt;p&gt;All of the above parts lead to the final step because you need to have monitoring, especially around operational issues auto-scaling troubleshooting like you don't know&lt;br&gt;
there's a problem if you don't have monitoring in place to tell you that there's a problem so some of the things you might build monitoring for are memory utilization CPU utilization disk space, api endpoint,  response time,  how quickly that endpoint is responding and a big part of that as well is logs. Logs give developers the ability to see what is happening without having to access production systems. &lt;/p&gt;

&lt;h2&gt;
  
  
  Rince &amp;amp; Repeat
&lt;/h2&gt;

&lt;p&gt;Once that's in place you go right back to the beginning to the planning stage and go through the whole thing again&lt;/p&gt;

&lt;h2&gt;
  
  
  Continuous
&lt;/h2&gt;

&lt;p&gt;Many tools help us achieve the above continuous process, all this code and the ultimate goal of being completely automated, cloud infrastructure or any environment is often described as Continuous Integration/ Continuous Delivery/Continous Deployment or “CI/CD” for short. We will spend a whole week on CI/CD later on in the 90 Days with some examples and walkthroughs to grasp the fundamentals. &lt;/p&gt;

&lt;h3&gt;
  
  
  Continuous Delivery
&lt;/h3&gt;

&lt;p&gt;Continuous Delivery = Plan &amp;gt; Code &amp;gt; Build &amp;gt; Test &lt;/p&gt;

&lt;h3&gt;
  
  
  Continuous Integration
&lt;/h3&gt;

&lt;p&gt;This is effectively the outcome of the Continuous Delivery phases above plus the outcome of the Release phase. This is the case for both failure and success but this is fed back into continuous delivery or moved to Continuous Deployment. &lt;/p&gt;

&lt;p&gt;Continuous Integration = Plan &amp;gt; Code &amp;gt; Build &amp;gt; Test &amp;gt; Release &lt;/p&gt;

&lt;h3&gt;
  
  
  Continuous Deployment
&lt;/h3&gt;

&lt;p&gt;If you have a successful release from your continuous integration then move to Continuous Deployment which brings in the following phases &lt;/p&gt;

&lt;p&gt;CI Release is Success = Continuous Deployment = Deploy &amp;gt; Operate &amp;gt; Monitor &lt;/p&gt;

&lt;p&gt;You can see these three Continuous notions above as the simple collection of phases of the DevOps Lifecycle. &lt;/p&gt;

&lt;p&gt;This last bit was a bit of a recap for me on Day 3 but think this actually makes things clearer for me. &lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=a0-uE3rOyeU"&gt;DevOps for Developers – Software or DevOps Engineer?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=9pZ2xmsSDdo&amp;amp;t=125s"&gt;Techworld with Nana -DevOps Roadmap 2022 - How to become a DevOps Engineer? What is DevOps? &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=5pxbp6FyTfk"&gt;How to become a DevOps Engineer in 2021 - DevOps Roadmap&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you made it this far then you will know if this is where you want to be or not. &lt;/p&gt;

&lt;p&gt;See you on &lt;a href="//day6.md"&gt;Day 6&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>devops</category>
      <category>development</category>
      <category>operations</category>
      <category>sre</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 4 </title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Tue, 04 Jan 2022 12:16:59 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-4-6c4</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-4-6c4</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; come and get involved, star and fork the repo and start your own journey. You don't need to follow what I am doing but the sections might help. &lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps &amp;amp; Agile
&lt;/h2&gt;

&lt;p&gt;I think a good place to start is understanding a little more about a common angle I have seen in learning this area and that is DevOps vs Agile even though they have similar goals and processes. In this section, I am going to summarise this hopefully. &lt;/p&gt;

&lt;p&gt;The biggest difference I can see here between the two though is the automation that comes with DevOps, tools are very similar but automation is where the main difference. But there are some more differences that we will cover now. &lt;/p&gt;

&lt;p&gt;Do you know the difference between DevOps and Agile they were formed as standalone concepts? But now the two terms are getting fused in this post we will examine the crucial differences between agile and DevOps and find out why the two are connected so tightly let's start with definitions &lt;/p&gt;

&lt;h3&gt;
  
  
  Agile Development
&lt;/h3&gt;

&lt;p&gt;Agile is an approach that focuses on delivering  small results faster rather than releasing one big interaction of the product software is developed in iterations the team releases a new version every week or month with non-incremental updates the final goal of agile is to deliver an optimal experience to the end-users &lt;/p&gt;

&lt;h3&gt;
  
  
  DevOps
&lt;/h3&gt;

&lt;p&gt;We have been covering this for the past few days with a few different ways of describing the end goals of DevOps, DevOps usually describes software development &lt;br&gt;
and delivery practices based on cooperation between software developers and operations specialists the main DevOps benefits are delivering a simplified development process and minimising miscommunication. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is the difference between Agile and DevOps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Different participants
&lt;/h3&gt;

&lt;p&gt;Agile focuses on optimising communication between end-users and developers while DevOps targets developers and operation team members.  We could say that agile is outward-oriented towards customers whereas DevOps is a set of internal practices. &lt;/p&gt;

&lt;h3&gt;
  
  
  Team
&lt;/h3&gt;

&lt;p&gt;Agile usually applies to software developers and project managers the competencies of DevOps engineers lie in the intersection of development, QA and operations they are involved in all stages of the product cycle. &lt;/p&gt;

&lt;h3&gt;
  
  
  Applied Frameworks
&lt;/h3&gt;

&lt;p&gt;Agile has a lot of management frameworks to achieve flexibility and transparency. Scrum &amp;gt; Kanban &amp;gt; Lean &amp;gt; Extreme &amp;gt; Crystal &amp;gt; Dynamic &amp;gt; Feature-Driven &amp;gt;. DevOps focuses on the development approach in collaboration but doesn't offer specific methodologies &lt;/p&gt;

&lt;h3&gt;
  
  
  Feedback
&lt;/h3&gt;

&lt;p&gt;In Agile the main source of feedback is the end user in DevOps the feedback from stakeholders and the team itself has a higher priority on them. &lt;/p&gt;

&lt;h3&gt;
  
  
  Target areas
&lt;/h3&gt;

&lt;p&gt;Agile focuses on software development more than on deployment and maintenance DevOps focuses on software development as well but its values and tools also cover deployment and post-release stages &lt;/p&gt;

&lt;h3&gt;
  
  
  Documentation
&lt;/h3&gt;

&lt;p&gt;agile prioritises flexibility and tasks at hand over documentation and monitor DevOps on the other hand regards project documentation as one of the essential project components seven risks agile risks derived from the flexibility of the methodology agile projects are difficult to predict or evaluate as priorities and requirements are continually changing DevOps risks derive from a misunderstanding of the term and the lack of suitable tools some people see DevOps as a collection of software for the deployment and continuous integration failing to change the underlying structure of the development process &lt;/p&gt;

&lt;h3&gt;
  
  
  The Tools Used
&lt;/h3&gt;

&lt;p&gt;Agile tools are focused on management communication collaboration, metrics and feedback processing the most popular agile tools include JIRA, Trello, Slack, zoom SurveyMonkey and others. DevOps uses tools for team communication software development deployment and integration like Jenkins, GitHub Actions, BitBucket, even though agile and DevOps have slightly different focuses and scopes the key values are almost identical therefore you can combine the two &lt;/p&gt;

&lt;h2&gt;
  
  
  Bring it all together… good idea or not? Discuss?
&lt;/h2&gt;

&lt;p&gt;The combination of Agile and DevOps brings the following benefits you get &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Flexible management and powerful technology &lt;/li&gt;
&lt;li&gt;  Agile practices help DevOps teams to communicate their priorities more efficiently &lt;/li&gt;
&lt;li&gt;  It leads to strengthening the team adopting agile practices will improve collaboration increase the team's motivation and decrease employee turnover rates &lt;/li&gt;
&lt;li&gt;  As a result, you get better product quality &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agile allows coming back to previous product development stages to fix errors and prevent the accumulation of technical debt how to adopt agile and DevOps &lt;br&gt;
simultaneously just follow 7 steps &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Unite the development and operation teams &lt;/li&gt;
&lt;li&gt;Create build and run teams all development and operational concerns are discussed by the entire DevOps team &lt;/li&gt;
&lt;li&gt;Change your approach to sprints assign priority ratings to offer tasks by the same scale that you use to great development projects encourage development and operations teams to exchange their opinion on other teams workflow and possible issues &lt;/li&gt;
&lt;li&gt;Include QA in all development stages &lt;/li&gt;
&lt;li&gt;Choose the right tools &lt;/li&gt;
&lt;li&gt;Automate everything you can &lt;/li&gt;
&lt;li&gt;Measure and control by using tangible numeric deliverables &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What do you think? Do you have different views? I want to hear from Developers, Operations, QA anyone that has a better understanding of Agile and DevOps that can pass comments and feedback on this? &lt;/p&gt;

&lt;h3&gt;
  
  
  Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=2JymM0YoqGA"&gt;DevOps for Developers – Day in the Life: DevOps Engineer in 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=udRNM7YRdY4"&gt;3 Things I wish I knew as a DevOps Engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=kDQMjAQNvY4"&gt;How to become a DEVOPS Engineer feat. Shawn Powers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devops</category>
      <category>developer</category>
      <category>operations</category>
      <category>sre</category>
    </item>
    <item>
      <title> #90DaysOfDevOps - Day 3 </title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Mon, 03 Jan 2022 10:21:40 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-3-33bm</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-3-33bm</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps Lifecycle - Application Focused
&lt;/h2&gt;

&lt;p&gt;As we continue through these next few weeks we are 100% going to come across these titles (Continuous Development, Testing, Deployment, Monitor) over and over again, If you are heading towards the DevOps Engineer role then repeatability will be something you will get used to but constantly enhancing each time is another thing that keeps things interesting. &lt;/p&gt;

&lt;p&gt;In this hour we are going to take a look at the high level view of the application from start to finish and then back round again like a constant loop. &lt;/p&gt;

&lt;h3&gt;
  
  
  Development
&lt;/h3&gt;

&lt;p&gt;Let's take a brand new example of an Application, to start with we have nothing created, maybe as a developer you have to discuss with your client or end user on the requirements and come up with some sort of plan or requirements for your Application. We then need to create from the requirements our brand new application. &lt;/p&gt;

&lt;p&gt;In regards to tooling at this stage there is no real requirement here other than choosing your IDE and the programming language you wish to use to write your application. &lt;/p&gt;

&lt;p&gt;As a DevOps engineer, remember you are probably not the one creating this plan or coding the application for the end user, this will be a skilled developer. &lt;/p&gt;

&lt;p&gt;But it also would not hurt for you to be able to read some of the code so that you can make the best infrastructure decisions moving forward for your application.&lt;/p&gt;

&lt;p&gt;We previously mentioned that this application can be written in any language. Importantly this should be maintained using a version control system, this is something we will cover also in detail later on and in particular we will dive into &lt;strong&gt;Git&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It is also likely that it will not be one developer working on this project although this could be the case but even so best practices would require a code repository to store and collaborate on the code, this could be private or public and could be hosted or privately deployed generally speaking you would hear the likes of &lt;strong&gt;GitHub or GitLab&lt;/strong&gt; being used as a code repository. Again we will cover these as part of our section on &lt;strong&gt;Git&lt;/strong&gt; later on. &lt;/p&gt;

&lt;h3&gt;
  
  
  Testing
&lt;/h3&gt;

&lt;p&gt;At this stage we have our requirements and we have our application being developed. But we need to make sure we are testing our code in all the various different environments that we have available to us or specifically maybe to the programming language chosen. &lt;/p&gt;

&lt;p&gt;This phase enables QA to test for bugs, more frequently we see containers being used for simulating the test environment which overall can improve on cost overheads of physical or cloud infrastructure. &lt;/p&gt;

&lt;p&gt;This phase is also likely going to be automated as part of the next area which is Continuous Integration.&lt;/p&gt;

&lt;p&gt;The ability to automate this testing vs 10s,100s or even 1000s of QA engineers having to do this manually speaks for itself, these engineers can focus on something else within the stack to ensure you are moving faster and developing more functionality vs testing bugs and software which tends to be the hold up on most traditional software releases that use a waterfall methodology. &lt;/p&gt;

&lt;h3&gt;
  
  
  Integration
&lt;/h3&gt;

&lt;p&gt;Quite importantly Integration is at the middle of the DevOps lifecycle. It is the practice of in which developers require to commit changes to the source code more frequently. This could be on a daily or weekly basis. &lt;/p&gt;

&lt;p&gt;With every commit your application can go through the automated testing phases and this allows for early detection of issues or bugs before the next phase. &lt;/p&gt;

&lt;p&gt;Now you might at this stage be saying "but we don't create applications, we buy it off the shelf from a software vendor" Don't worry many companies do this and will continue to do this and it will be the software vendor that is concentrating on the above 3 phases but you might want to still adopt the final phase as this will enable for faster and more efficient deployments of your off the shelf deployments. &lt;/p&gt;

&lt;p&gt;I would also suggest just having this above knowledge is very important as you might buy off the shelf software today, but what about tomorrow or down the line... next job maybe? &lt;/p&gt;

&lt;h3&gt;
  
  
  Deployment
&lt;/h3&gt;

&lt;p&gt;Ok so we have our application built and tested against the requirements of our end user and we now need to go ahead and deploy this application into production for our end users to consume. &lt;/p&gt;

&lt;p&gt;This is the stage where the code is deployed to the production servers, now this is where things get extremely interesting and it is where the rest of our 86 days dives deeper into these areas. Because different applications require different possibly hardware or configurations. This is where &lt;strong&gt;Application Configuration Management&lt;/strong&gt; and &lt;strong&gt;Infrastructure as Code&lt;/strong&gt; could play a key part in your DevOps lifecycle. It might be that your application is &lt;strong&gt;Containerised&lt;/strong&gt; but also available to run on a virtual machine. Which then also leads us onto platforms like &lt;strong&gt;Kubernetes&lt;/strong&gt; which would be orchestrating those containers and making sure you have the desired state available to your end users. &lt;/p&gt;

&lt;p&gt;All of these bold topics we will go into more detail over the next few weeks to get a better foundational knowledge of what they are and when to use them. &lt;/p&gt;

&lt;h3&gt;
  
  
  Monitoring
&lt;/h3&gt;

&lt;p&gt;Things are moving fast here and we have our Application that we are continuously updating with new features and functionality and we have our testing making sure no gremlins are being found. We have the application running in our environment that can be continually keeping the required configuration and performance. &lt;/p&gt;

&lt;p&gt;But now we need to be sure that our end users are getting the experience they require. Here we need to make sure that our Application Performance is continuously being monitored, this phase is going to allow your developers to make better decisions about enhancements to the application in future releases to better serve the end users. &lt;/p&gt;

&lt;p&gt;This section is also where we are going to capture that feedback wheel about the features that have been implemented and how the end users would like to make these better for them. &lt;/p&gt;

&lt;p&gt;Reliability is a key factor here as well, at the end of the day we want our Application to be available all the time it is required. This then lends to other &lt;strong&gt;observability, security and data management&lt;/strong&gt; areas that should be continuously monitored and feedback can always be used to better enhance, update and release the application continuously. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;I am always open to adding additional resources to these readme files as it is here as a learning tool.  &lt;/p&gt;

&lt;p&gt;My advice is to watch all of the below and hopefully you also picked something up from the text and explanations above. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/watch?v=UnjwVYAN7Ns"&gt;Continuous Development&lt;/a&gt; I will also add that this is focused on manufacturing but the lean culture can be closely followed with DevOps. &lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=RYQbmjLgubM"&gt;Continuous Testing - IBM YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=1er2cjUq1UI"&gt;Continuous Integration - IBM YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Zu53QQuYqJ0"&gt;Continuous Monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.co.uk/Phoenix-Project-DevOps-Helping-Business-ebook/dp/B00AZRBLHO"&gt;&lt;strong&gt;NOT FREE&lt;/strong&gt; The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you made it this far then you will know if this is where you want to be or not. See you on Day 3.  &lt;/p&gt;

</description>
      <category>devops</category>
      <category>development</category>
      <category>operations</category>
      <category>sre</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 2</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Sun, 02 Jan 2022 10:21:44 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-2-56i8</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-2-56i8</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Responsibilities of a DevOps Engineer
&lt;/h2&gt;

&lt;p&gt;Hopefully you are coming into this off the back of going through the resources and post on &lt;a href="//Days/day1.md"&gt;Day1 of #90DaysOfDevOps&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;It was briefly touched on in the first post but now we must get deeper into this concept and understand that there are two main parts when creating an application. We have the &lt;strong&gt;Development&lt;/strong&gt; part where software developers program the application and test it. Then we have the &lt;strong&gt;Operations&lt;/strong&gt; part where the application is deployed and maintained on a server. &lt;/p&gt;

&lt;h2&gt;
  
  
  DevOps is the link between the two
&lt;/h2&gt;

&lt;p&gt;To get to grips with DevOps or the tasks in which a DevOps engineer would be carrying out we need to understand the tools or the process and overview of those and how they come together. &lt;/p&gt;

&lt;p&gt;Everything starts with the application! You will see so much throughout that it is all about the application when it comes to DevOps.&lt;/p&gt;

&lt;p&gt;Developers will create an application, this can be done with many different technology stacks and lets leave that to the imagination for now as we get into this later. This can also involve many different programming languages, build tools, code repository etc. &lt;/p&gt;

&lt;p&gt;As a DevOps engineer you won't be programming the application but having a good understanding of the concepts of how a developer works and the systems, tools and processes they are using is key to success. &lt;/p&gt;

&lt;p&gt;At a very high level you are going to need to know how the application is configured to talk to all of its required services or data services and then also sprinkle a requirement of how this can or should be tested. &lt;/p&gt;

&lt;p&gt;The application will need to be deployed somewhere, lets keep it generally simple here and make this a server, doesn't matter where but a server. This is then expected to be accessed by the customer or end user depending on the application that has been created. &lt;/p&gt;

&lt;p&gt;This server needs to run somewhere, on-premises, in a public cloud, serverless (Ok I have gone too far, we won't be covering serverless but its an option and more and more enterprises are heading this way) Someone needs to create and configure these servers and get them ready for the application to run. Now this element might land to you as a DevOps engineer to deploy and configure these servers. &lt;/p&gt;

&lt;p&gt;These servers will have to run an Operating System and generally speaking this is going to be Linux but we have a whole section or week where we cover some of the foundational knowledge you should gain here. &lt;/p&gt;

&lt;p&gt;It is also likely that we need to communicate with other services in our network or environment, so we also need to have that level of knowledge around networking and configuring that, this might to some degree also land at the feet of the DevOps engineer. Again we will cover this in more detail in a dedicated section talking all things DNS, DHCP, Load Balancing etc. &lt;/p&gt;

&lt;h2&gt;
  
  
  Jack of all trades, Master of none
&lt;/h2&gt;

&lt;p&gt;I will say at this point though, you don't need to be a Network or Infrastructure specialist you need a foundational knowledge of how to get things up and running and talking to each other, much the same as maybe having a foundational knowledge of a programming language but you don't need to be a developer. However you might be coming into this as a specialist in an area and that is a great footing to adapt to other areas. &lt;/p&gt;

&lt;p&gt;You will also most likely not take over the management of these servers or the application on a daily basis. &lt;/p&gt;

&lt;p&gt;We have been talking about servers but the liklihood is that your application will be developed to run as containers, Which still runs on a server for the most part but you will also need an understanding of not only virtualisation, Cloud Infrastructure as a Service (IaaS) but also containerisation as well, The focus in these 90 days will be more catered towards containers. &lt;/p&gt;

&lt;h2&gt;
  
  
  High Level Overview
&lt;/h2&gt;

&lt;p&gt;On one side we have our developers creating new features and functionality (as well as bug fixes) for the application on one side. &lt;/p&gt;

&lt;p&gt;On the other side we have some sort of environment, infrastructure or servers which are configured and managed to run this application and communitcate with all its required services. &lt;/p&gt;

&lt;p&gt;The big question is how do we get those features and bug fixes into our production and make it available to those end users? &lt;/p&gt;

&lt;p&gt;How do we release the new application version? This is one of the main tasks for a DevOps engineer, and the important thing here is not to just figure out how to do this once but we need to do this continously and in an automated, efficient way which also needs to include testing! &lt;/p&gt;

&lt;p&gt;This is where we are going to end this day of learning, hopefully this was useful. Over the next few days we are going to dive a little deeper into some more areas of DevOps and then we will get into the sections that dive deeper into the tooling and processes and the benefits of these. &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;I am always open to adding additional resources to these readme files as it is here as a learning tool.  &lt;/p&gt;

&lt;p&gt;My advice is to watch all of the below and hopefully you also picked something up from the text and explanations above. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=kBV8gPVZNEE"&gt;What is DevOps? - Github YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=UbtB4sMaaNM"&gt;What is DevOps? - IBM YouTube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/devops/what-is-devops/"&gt;What is DevOps? - AWS &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you made it this far then you will know if this is where you want to be or not. See you on Day 3.  &lt;/p&gt;

</description>
      <category>devops</category>
      <category>development</category>
      <category>learning</category>
      <category>operations</category>
    </item>
    <item>
      <title>#90DaysOfDevOps - Day 1</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Sat, 01 Jan 2022 22:46:18 +0000</pubDate>
      <link>https://dev.to/michaelcade1/90daysofdevops-day-1-kn8</link>
      <guid>https://dev.to/michaelcade1/90daysofdevops-day-1-kn8</guid>
      <description>&lt;p&gt;This post originates from &lt;a href="https://github.com/MichaelCade/90DaysOfDevOps"&gt;https://github.com/MichaelCade/90DaysOfDevOps&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The progress has been continued but not logged here. I need to automate how the days are linked to dev.to via GitHub Actions. I have seen a few examples of this. &lt;/p&gt;

&lt;h2&gt;
  
  
  Introduction - Day 1
&lt;/h2&gt;

&lt;p&gt;Day 1 of our 90 days and adventure to learn a good foundational understanding of DevOps and tools that help with a DevOps mindset. &lt;/p&gt;

&lt;p&gt;This learning journey started for me a few years back but my focus then was around virtualisation platforms and cloud based technologies, I was looking mostly into Infrastructure as Code and Application configuration management with Terraform and Chef. &lt;/p&gt;

&lt;p&gt;Fast forward to March 2021, I was given an amazing oppurtunity to concentrate my efforts around the Cloud Native strategy at Kasten by Veeam. Which was going to be a massive focus on Kubernetes and DevOps and the community surrounding these technologies. I started my learning journey and quickly realised there was a very wide world aside from just learning the fundamentals of Kubernetes and Containerisation and it was then when I started speaking to the community and learning more and more about the DevOps culture, tooling and processes so I started documenting some of the areas I wanted to learn in public. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.kasten.io/devops-learning-curve"&gt;So you want to learn DevOps?&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Let the journey begin
&lt;/h2&gt;

&lt;p&gt;If you read the above blog you will see this is a high level contents for my learning journey and I will say at this point I am no where near an expert in any of these sections but what I wanted to do was share some resources both FREE and some paid for but an option for both as we all have different circumstances. &lt;/p&gt;

&lt;p&gt;Over the next 90 days I want to document these resources and cover those foundational areas, I would love for the community to also get involved share your journey and resources so we can learn in public and help each other. &lt;/p&gt;

&lt;p&gt;You will see from the opening readme in the project repository that I have split things into sections and it is basically 12 weeks plus 6 days. The first 6 days we will explore the fundamentals of DevOps in general before diving into some of the specific areas, by no way is this list exhaustive and again would love for the community to assist in making this a useful resource. &lt;/p&gt;

&lt;p&gt;Another resource I will share at this point that I think everyone should have a good look at and maybe create your own mind map for yourself and your interest and position is the following: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://roadmap.sh/devops"&gt;DevOps Roadmap&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I found this a great resource when I was creating my initial list and blog post on this topic. You can also see there are other areas that go into a lot more detail outside of the 12 topics I have listed here in this repository. &lt;/p&gt;

&lt;h2&gt;
  
  
  First Steps - What is DevOps?
&lt;/h2&gt;

&lt;p&gt;There are so many blog articles and YouTube videos to list here, but as we start the 90 day challenge and we focus on spending around an hour a day learning something new or about DevOps I thought it was good to get some of the high level of "what DevOps is" down to begin. &lt;/p&gt;

&lt;p&gt;Firstly, DevOps is not a tool. You cannot buy it, it is not a software sku or an open source github repository you can download. It is also not a programming language, it is also not some dark art magic either. &lt;/p&gt;

&lt;p&gt;DevOps is a way to do smarter things in Software Development. - Hold up... But if you are not a software developer should you turn away right now and not dive into this project??? No Not at all, Stay... Because DevOps brings together a combination of software development and operations. I mentioned earlier that I was more on the VM side and that would generally fall under the Operations side of the house, but within the community there are people with all different backgrounds where DevOps is 100% going to benefit the individual, Developers, Operations and QA Engineers all can equally learn these best practices by having a better understanding of DevOps. &lt;/p&gt;

&lt;p&gt;DevOps is a set of practices that help to reach the goal of this movement: reducing the time between the ideation phase of a product and its release in production to the end-user or whomever it could be an internal team or customer. &lt;/p&gt;

&lt;p&gt;Another area we will dive into in this first week is around &lt;strong&gt;The Agile Methodology&lt;/strong&gt; DevOps and Agile are widely adopted together to achieve continuous delivery of your &lt;strong&gt;Application&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;The high level take away is with a DevOps mindset or culture its about taking a way the long drawn out software release process from potentially years to being able to drop smaller releases more frequently. The other key fundamental to take away here is it's about breaking down silos between the teams I previously mentioned, Developers, Operations and QA. &lt;/p&gt;

&lt;p&gt;From a DevOps perspective, &lt;strong&gt;Development, Testing and Deployment&lt;/strong&gt; all land with the DevOps team. &lt;/p&gt;

&lt;p&gt;The final point I will make is to make this as effective and effcient as possible we must leverage &lt;strong&gt;Automation&lt;/strong&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;p&gt;I am always open to adding additional resources to these readme files as it is here as a learning tool.  &lt;/p&gt;

&lt;p&gt;My advice is to watch all of the below and hopefully you also picked something up from the text and explanations above. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Xrgk023l4lI"&gt;DevOps in 5 Minutes&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=_Gpe1Zn-1fE&amp;amp;t=43s"&gt;What is DevOps? Easy Way&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=7l_n97Mt0ko"&gt;DevOps roadmap 2022 | Success Roadmap 2022&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you made it this far then you will know if this is where you want to be or not. See you on Day 2.  &lt;/p&gt;

</description>
      <category>devops</category>
      <category>sre</category>
      <category>operations</category>
      <category>development</category>
    </item>
    <item>
      <title>#Project_Pace – Kasten K10 Demo environment for everyone</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Mon, 01 Nov 2021 14:15:33 +0000</pubDate>
      <link>https://dev.to/michaelcade1/projectpace-kasten-k10-demo-environment-for-everyone-2f8</link>
      <guid>https://dev.to/michaelcade1/projectpace-kasten-k10-demo-environment-for-everyone-2f8</guid>
      <description>&lt;p&gt;My goal here was to make a super easy way to deploy Kasten K10 and be able to demonstrate the value of K10 in a simple and easy way without having to deploy public cloud managed Kubernetes environments, or having to rely on virtual environments. Most people have access to your own laptop or desktop machine be it Windows, MacOS or Linux.&lt;/p&gt;

&lt;p&gt;I wanted to make something that would be easy to spin up and down but give us the capability of showing the benefits that K10 brings to your Kubernetes Data Management in the real world. But then I got thinking a lot of developers use local Kubernetes environments on their own systems.&lt;/p&gt;

&lt;p&gt;These local Kubernetes clusters have an equally overwhelming list of options when it comes to choosing and I have been playing mostly with K3D locally but also KinD (Kubernetes in Docker) and more recently MiniKube.&lt;/p&gt;

&lt;p&gt;The overall goal as I mentioned was to create an easy way for anybody and everybody to roll out a Kubernetes cluster locally and have the Kasten K10 functionality to hand, be it a proof of concept, learning or using the Kasten K10 free edition to protect local development environment.&lt;/p&gt;

&lt;h1&gt;
  
  
  MiniKube
&lt;/h1&gt;

&lt;p&gt;I chose minikube for this simply because I found that the Addons available make things so easy, yes, we have helm charts for the addons or at least for the most part but minikube having them built in makes life easy. To begin with regardless of your workstation OS, you can run minikube. First, head over to the &lt;a href="https://minikube.sigs.k8s.io/docs/start/"&gt;project page here&lt;/a&gt;. The first option you have is choosing your installation method. I did not use this method, but you might choose to vs my way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6LKz4uW0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6LKz4uW0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace1.png" alt="110121 1414 ProjectPace1" title="#Project\_Pace – Kasten K10 Demo environment for everyone 7" width="880" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  My way of installing minikube
&lt;/h1&gt;

&lt;p&gt;I have been using arkade for some time now to get all those Kubernetes tools and CLIs, you can see the installation steps on this &lt;a href="https://github.com/alexellis/arkade"&gt;github repository&lt;/a&gt; for getting started with Arkade. I have also mentioned this in other blog posts where I needed something installing. The simplicity of just hitting arkade get and then seeing if your tool or cli is available is handy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QJjjHL2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QJjjHL2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace2.png" alt="110121 1414 ProjectPace2" title="#Project\_Pace – Kasten K10 Demo environment for everyone 8" width="763" height="583"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As part of the long list of available apps within arkade minikube is one of them so with a simple “arkade get minikube” command we are now downloading the binary and we are good to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--loV6MCMM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--loV6MCMM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace3.png" alt="110121 1414 ProjectPace3" title="#Project\_Pace – Kasten K10 Demo environment for everyone 9" width="880" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will also need kubectl as part of our tooling so you can also get this via arkade or I believe that the minikube documentation brings this down as part of the curl commands mentioned above.&lt;/p&gt;

&lt;h1&gt;
  
  
  Getting a Kubernetes cluster up and running
&lt;/h1&gt;

&lt;p&gt;For this particular section I want to cover the options available to us when it comes to getting a Kubernetes cluster up and running on your local machine. We could simply run the following command and it would spin up a cluster for you to use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p1ENFkEA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p1ENFkEA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace4.png" alt="110121 1414 ProjectPace4" title="#Project\_Pace – Kasten K10 Demo environment for everyone 10" width="880" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So the above is great but we want to be able to do more with our cluster particularly as we want to run some data services in our environment so we need to take advantage of some of the minikube addons that are available.&lt;/p&gt;

&lt;p&gt;If you run the following command you can see some of these addons,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BJ4mLgbT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BJ4mLgbT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace5.png" alt="110121 1414 ProjectPace5" title="#Project\_Pace – Kasten K10 Demo environment for everyone 11" width="832" height="732"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For our project we are using volumesnapshots and csi-hostpath-driver.&lt;/p&gt;

&lt;p&gt;I am also defining in our project some additional configuration, apiserver is set to 6433 instead of a random API port, I define the container runtime also to containerd however docker is default and CRI-O is also available. I am also setting the Kubernetes version so that I know my Kasten K10 deployment is at a supported version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ngdSqVju--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ngdSqVju--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/11/110121_1414_ProjectPace6.png" alt="110121 1414 ProjectPace6" title="#Project\_Pace – Kasten K10 Demo environment for everyone 12" width="880" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will give us our Kubernetes cluster.&lt;/p&gt;

&lt;h1&gt;
  
  
  Deploy Kasten K10
&lt;/h1&gt;

&lt;p&gt;There are two options when it comes to deploying Kasten K10 into our new cluster, we can use the helm chart and walk through the deployment this way or we can also use arkade which I have mentioned a little above.&lt;/p&gt;

&lt;h1&gt;
  
  
  Deploy a Data Service (MySQL)
&lt;/h1&gt;

&lt;p&gt;In order to start testing Kasten K10 we need a data service, we have chosen MySQL as the first option but in the future, I can see options for many more being added as different people have different data services so might want to protect them, maybe we also include a wordpress deployment which has a database backend that might need to be protected. My goal is to add additional data services here to show the power of protection.&lt;/p&gt;

&lt;h1&gt;
  
  
  K10 Overview
&lt;/h1&gt;

&lt;p&gt;I am not going to go through a complete K10 overview here but just know that from here we can protect our application using the deployed CSI-Hostpath and volumesnapshot, now we know a snapshot is not going to protect you from anything locally but it gives you the look and feel and a very fast recovery However I am also considering or exploring how we can add minio into our minikube configuration so that we have an export option as well, now again this would also land on the same infrastructure as our Kubernetes cluster which would not protect us against local failure but this is a demo environment and a learning journey. We could also add in external object storage options if you wish to protect some data here.&lt;/p&gt;

</description>
      <category>kubernetes</category>
    </item>
    <item>
      <title>Cloud-Native Data Management Day - Live Stream Event from LA</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Tue, 12 Oct 2021 20:47:18 +0000</pubDate>
      <link>https://dev.to/michaelcade1/cloud-native-data-management-day-live-stream-event-from-la-26f6</link>
      <guid>https://dev.to/michaelcade1/cloud-native-data-management-day-live-stream-event-from-la-26f6</guid>
      <description>&lt;p&gt;hey everyone, I am watching remote this event on YouTube and I wanted to share this with everyone here - &lt;a href="https://www.youtube.com/watch?v=NalJmdmSa-U"&gt;https://www.youtube.com/watch?v=NalJmdmSa-U&lt;/a&gt; &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cloud-Native Data Management Day 2021 NA is Next week!</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Thu, 07 Oct 2021 14:02:42 +0000</pubDate>
      <link>https://dev.to/michaelcade1/cloud-native-data-management-day-2021-na-is-next-week-1136</link>
      <guid>https://dev.to/michaelcade1/cloud-native-data-management-day-2021-na-is-next-week-1136</guid>
      <description>&lt;p&gt;You might have seen a few posts and tweets about Cloud-Native Data Management Day from me and Kasten over the last few weeks and maybe months.&lt;/p&gt;

&lt;p&gt;Firstly, don’t worry there is no registration for the virtual event but if you are heading to LA then don’t miss out on the Grammy museum, also be sure that the in-person entrance fee will be fully reimbursed with adequate SWAG!&lt;/p&gt;

&lt;p&gt;If you haven’t seen it yet, the agenda for our event was posted this week, and it’s full of fantastic panels discussions! Promotion for the live in-person sessions is happening now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cndmday.com/events/cndm-day-2021-na/"&gt;https://cndmday.com/events/cndm-day-2021-na/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then we have the virtual experience for you as well! If you are unable to attend the in-person event like many including me, &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ittc1BZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ittc1BZ7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative1.png" alt="100721 1402 CloudNative1" title="Cloud-Native Data Management Day 2021 NA is Next week! 4"&gt;&lt;/a&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0qMkeVt9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0qMkeVt9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative2.png" alt="100721 1402 CloudNative2" title="Cloud-Native Data Management Day 2021 NA is Next week! 5"&gt;&lt;/a&gt; &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wzd8Plnp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wzd8Plnp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/10/100721_1402_CloudNative3.png" alt="100721 1402 CloudNative3" title="Cloud-Native Data Management Day 2021 NA is Next week! 6"&gt;&lt;/a&gt;we have you covered!&lt;/p&gt;

&lt;p&gt;You can catch the events live stream here.&lt;/p&gt;

&lt;p&gt;CNDM Day NA 2021 – LIVE from the GRAMMY® Museum L.A. Live in Los Angeles, CA&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtu.be/NalJmdmSa-U"&gt;https://youtu.be/NalJmdmSa-U&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then we also have over 30 sessions that have been pre-recorded and sent in from the community. These will form part of the OnDemand content, don’t worry we are not expecting you to get through over 30+ hours of content in one day… no having to turn sessions to x4 to get through them.&lt;/p&gt;

&lt;p&gt;Community Track – CNDM Day NA 2021&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtube.com/playlist?list=PL8Nlv_BickZ2L52XRIfAvcdCBxwDCmIys"&gt;https://youtube.com/playlist?list=PL8Nlv_BickZ2L52XRIfAvcdCBxwDCmIys&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Technical Track – CNDM Day NA 2021&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtube.com/playlist?list=PL8Nlv_BickZ28VENAfZeouKvhVzPw_4dB"&gt;https://youtube.com/playlist?list=PL8Nlv_BickZ28VENAfZeouKvhVzPw_4dB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Industry Track – CNDM Day NA 2021&lt;br&gt;&lt;br&gt;
&lt;a href="https://youtube.com/playlist?list=PL8Nlv_BickZ39MZgg92yfN6Jh6YK0brDE"&gt;https://youtube.com/playlist?list=PL8Nlv_BickZ39MZgg92yfN6Jh6YK0brDE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finally, Community is the key to this event, and we are growing!&lt;/p&gt;

&lt;p&gt;Please consider subscribing to the&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/c/CloudNativeDataManagementDay"&gt;YouTube channel&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/CndmDays"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://join.slack.com/t/cndmdays/shared_invite/zt-qlpm6t3p-WRzM0K_3oSUMX_yjOSIMZA"&gt;Slack&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are also leaving the Call for Presentations open as we have seen some great sessions submitted that we will look to include in our Live Stream sessions over the next few weeks following KubeCon and CNDM Day NA.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cndmday.com/abstract-form/"&gt;Submit a session&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Any questions please ask&lt;/p&gt;

&lt;p&gt;​&lt;/p&gt;

</description>
      <category>uncategorized</category>
    </item>
    <item>
      <title>My new “Budget” Custom Mechanical Keyboard</title>
      <dc:creator>Michael Cade</dc:creator>
      <pubDate>Thu, 16 Sep 2021 09:38:56 +0000</pubDate>
      <link>https://dev.to/michaelcade1/my-new-budget-custom-mechanical-keyboard-4fpb</link>
      <guid>https://dev.to/michaelcade1/my-new-budget-custom-mechanical-keyboard-4fpb</guid>
      <description>&lt;p&gt;Like many during however long this pandemic has been going on for we have found other interests and hobbies to either drain our money away or at least entertain us and sometimes both whilst we are not or were not allowed out and about. My lockdown started with a tech refresh which grew into creating a home studio to create content and generally make life a little easier whilst working from home for extended periods, then I found mechanical keyboards!&lt;/p&gt;

&lt;h1&gt;
  
  
  The first cut is the deepest
&lt;/h1&gt;

&lt;p&gt;As I was refreshing the systems at home, I purchased a new Logitech G915 mechanical keyboard, pretty much an off the shelf keyboard that looks sleek and smart (don’t hate on me I was coming from the Apple ecosystem) The noise thing makes is amazing and I still use this keyboard daily, but this would start something, someone call it an obsession.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bwNhS0vL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bwNhS0vL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget1.png" alt="091621 0937 MynewBudget1" title="My new “Budget” Custom Mechanical Keyboard 12"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  The Journey
&lt;/h1&gt;

&lt;p&gt;Ok, you start with one and then naturally you go hunting for another, right? You start to join subreddits and follow some out there YouTube content creators that review only mechanical keyboards and build them. (we were in lockdown for a long time) You learn that you have different size of keyboards, full keyboard &amp;gt; tenkeyless (TKL) &amp;gt; 65% &amp;gt; 60% &amp;gt; 40%. Then you have the different switches and keycap sets. It is a whole world and if you are reading this and you have not taken the blue pill then pull back because you will end up with more keyboards than you have systems to use them. (But it is fun)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gQ2OXCm7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gQ2OXCm7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget2.jpg" alt="091621 0937 MynewBudget2" title="My new “Budget” Custom Mechanical Keyboard 13"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There becomes a time though that you just want to build something yourself, and by build, I mean buy the parts and put them together, I mean some people build their complete keyboard and there are some crazy steampunk looking stuff out there. I quoted the budget term in the title because I am massively aware that not everyone has the luxury of being able to do this and I am extremely lucky to be able to, I also used it because budget is a great term to use with the better halve when justifying your spend on something like this.&lt;/p&gt;

&lt;h1&gt;
  
  
  My First Custom
&lt;/h1&gt;

&lt;p&gt;I was dubious about shopping on AliExpress as I had never used the service before, but it doesn’t seem the same as something like Amazon, but it was really the only place I could gather up the parts at a reasonable price vs spending almost double on places like Etsy and eBay. Apart from the switches I was able to source everything on AliExpress which did take a few weeks to arrive but overall everything was very good. The switches I got from Amazon on a next day once I decided the right ones for the build.&lt;/p&gt;

&lt;h2&gt;
  
  
  The case &amp;amp; PCB
&lt;/h2&gt;

&lt;p&gt;The choice of The Case, PCB, positioning board was the TM680 or sometimes known as the TOM680. You can find out more information about what you get in the box &lt;a href="https://www.aliexpress.com/item/1005003103697291.html?spm=a2g0s.9042311.0.0.dcd44c4dQyOZYp"&gt;here&lt;/a&gt; as well, the link is also where I purchased it from and everything went well, packaging good etc and it was timely considering it was coming from China. I had seen a few mentions of this kit on a few YouTube channels about this being a budget keyboard kit, so it was the right starting point on this custom build journey.&lt;/p&gt;

&lt;p&gt;You can get the unit in various colours and not just the ones I found below now, but I chose black because of the colour scheme I was working towards.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HJ7_GehU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget3.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HJ7_GehU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget3.jpg" alt="091621 0937 MynewBudget3" title="My new “Budget” Custom Mechanical Keyboard 14"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Switches
&lt;/h2&gt;

&lt;p&gt;Now I am not going to get into why I chose switches because everyone is going to have a different opinion which is fine but I went with the Gateron Yellow Linear switches from &lt;a href="https://www.amazon.co.uk/gp/product/B08JPJX296/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&amp;amp;th=1"&gt;here&lt;/a&gt;. My advice here is watch some YouTube videos and find out which one you would like, and if you are serious then maybe a switch tester is in your future where you could get a tester with all variants of switches in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--icoeHjh7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--icoeHjh7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget4.jpg" alt="091621 0937 MynewBudget4" title="My new “Budget” Custom Mechanical Keyboard 15"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aXRSvJOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aXRSvJOB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget5.jpg" alt="091621 0937 MynewBudget5" title="My new “Budget” Custom Mechanical Keyboard 16"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Keycaps
&lt;/h2&gt;

&lt;p&gt;Customising your keyboard is the fun part, it’s no longer just a black or a beige keyboard we can get very creative when it comes to keycap sets but you can also spend a lot of money, so I went and found a clone copy of some keycaps in the colour scheme that I wanted. AKKO NEON Keycaps Set Cherry/ASA Profile Double-shot PBT 108 Full Keycaps Set, with 49 Extra Novelty Keycaps from &lt;a href="https://www.aliexpress.com/item/1005002201629567.html?spm=a2g0s.9042311.0.0.dcd44c4dQyOZYp"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aLDVCjVR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aLDVCjVR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget6.jpg" alt="091621 0937 MynewBudget6" title="My new “Budget” Custom Mechanical Keyboard 17"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rv8M7bq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rv8M7bq2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget7.jpg" alt="091621 0937 MynewBudget7" title="My new “Budget” Custom Mechanical Keyboard 18"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also went a little silly on some custom ideas for the space bar some of the options are below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xPFCrQAG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xPFCrQAG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget8.jpg" alt="091621 0937 MynewBudget8" title="My new “Budget” Custom Mechanical Keyboard 19"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3jUNE4E2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3jUNE4E2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget9.jpg" alt="091621 0937 MynewBudget9" title="My new “Budget” Custom Mechanical Keyboard 20"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will save the one I went with till the end.&lt;/p&gt;

&lt;h2&gt;
  
  
  Coiled Cable
&lt;/h2&gt;

&lt;p&gt;Although I went with the Bluetooth, wireless and cabled option I also wanted to complete the setup with a nice, coiled cable that matches the colour scheme. Again, Aliexpress had an affordable selection again I was dubious, but all came through good. And I went with this &lt;a href="https://www.aliexpress.com/item/1005002354399077.html?spm=a2g0s.9042311.0.0.dcd44c4dQyOZYp"&gt;one&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R97AR2dp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget10.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R97AR2dp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget10.png" alt="091621 0937 MynewBudget10" title="My new “Budget” Custom Mechanical Keyboard 21"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The finished article
&lt;/h2&gt;

&lt;p&gt;With that we have our new custom keyboard that joins the collection along with all the other boards that don’t have a device but it’s the thought that counts. In this house we will never have a shortage of keyboards that’s for sure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--i28vZEf4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget11.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--i28vZEf4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://vzilla.co.uk/wp-content/uploads/2021/09/091621_0937_MynewBudget11.jpg" alt="091621 0937 MynewBudget11" title="My new “Budget” Custom Mechanical Keyboard 22"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>uncategorized</category>
    </item>
  </channel>
</rss>
