From 66acd6a2a6ec1dee1440148177abf916e775060e Mon Sep 17 00:00:00 2001 From: Michael Cade Date: Thu, 7 Apr 2022 20:43:18 +0100 Subject: [PATCH] Add metadata for dev.to github actions --- Days/day01.md | 4 ++-- Days/day02.md | 9 +++++++++ Days/day03.md | 8 ++++++++ Days/day04.md | 8 ++++++++ Days/day05.md | 8 ++++++++ Days/day06.md | 8 ++++++++ Days/day07.md | 8 ++++++++ Days/day08.md | 8 ++++++++ Days/day09.md | 8 ++++++++ Days/day10.md | 8 ++++++++ Days/day11.md | 9 +++++++++ Days/day12.md | 8 ++++++++ Days/day13.md | 8 ++++++++ Days/day14.md | 8 ++++++++ Days/day15.md | 8 ++++++++ Days/day16.md | 8 ++++++++ Days/day17.md | 9 ++++++++- Days/day18.md | 8 ++++++++ Days/day19.md | 8 ++++++++ Days/day20.md | 8 ++++++++ Days/day21.md | 8 ++++++++ Days/day22.md | 8 ++++++++ Days/day23.md | 8 ++++++++ Days/day24.md | 8 ++++++++ Days/day25.md | 8 ++++++++ Days/day26.md | 8 ++++++++ Days/day27.md | 8 ++++++++ Days/day28.md | 8 ++++++++ Days/day29.md | 8 ++++++++ Days/day30.md | 8 ++++++++ Days/day31.md | 8 ++++++++ Days/day32.md | 8 ++++++++ Days/day33.md | 8 ++++++++ Days/day34.md | 8 ++++++++ Days/day35.md | 8 ++++++++ Days/day36.md | 8 ++++++++ Days/day37.md | 8 ++++++++ Days/day38.md | 8 ++++++++ Days/day39.md | 8 ++++++++ Days/day40.md | 8 ++++++++ Days/day41.md | 8 ++++++++ Days/day42.md | 8 ++++++++ Days/day43.md | 8 ++++++++ Days/day44.md | 8 ++++++++ Days/day45.md | 8 ++++++++ Days/day46.md | 8 ++++++++ Days/day47.md | 8 ++++++++ Days/day48.md | 8 ++++++++ Days/day49.md | 8 ++++++++ Days/day50.md | 8 ++++++++ Days/day51.md | 8 ++++++++ Days/day52.md | 8 ++++++++ Days/day53.md | 8 ++++++++ Days/day54.md | 8 ++++++++ Days/day55.md | 8 ++++++++ Days/day56.md | 8 ++++++++ Days/day57.md | 8 ++++++++ Days/day58.md | 8 ++++++++ Days/day59.md | 8 ++++++++ Days/day60.md | 8 ++++++++ Days/day61.md | 8 ++++++++ Days/day62.md | 8 ++++++++ Days/day63.md | 8 ++++++++ Days/day64.md | 8 ++++++++ Days/day65.md | 8 ++++++++ Days/day66.md | 8 ++++++++ Days/day67.md | 8 ++++++++ Days/day68.md | 8 ++++++++ Days/day69.md | 8 ++++++++ Days/day70.md | 8 ++++++++ Days/day71.md | 8 ++++++++ Days/day72.md | 8 ++++++++ Days/day73.md | 8 ++++++++ Days/day74.md | 8 ++++++++ Days/day75.md | 8 ++++++++ Days/day76.md | 8 ++++++++ Days/day77.md | 8 ++++++++ Days/day78.md | 8 ++++++++ Days/day79.md | 8 ++++++++ Days/day80.md | 8 ++++++++ Days/day81.md | 8 ++++++++ Days/day82.md | 8 ++++++++ Days/day83.md | 8 ++++++++ Days/day84.md | 8 ++++++++ Days/day85.md | 8 ++++++++ Days/day86.md | 8 ++++++++ Days/day87.md | 8 ++++++++ Days/day88.md | 8 ++++++++ Days/day89.md | 8 ++++++++ Days/day90.md | 8 ++++++++ 90 files changed, 716 insertions(+), 3 deletions(-) diff --git a/Days/day01.md b/Days/day01.md index 4bab8e5..2dbf94f 100644 --- a/Days/day01.md +++ b/Days/day01.md @@ -2,9 +2,9 @@ title: "#90DaysOfDevOps - Introduction - Day 1" published: false description: 90DaysOfDevOps - Introduction -tags: 'devops, 90daysofdevops, learning' +tags: 'devops, 90daysofdevops, learning, sre, operations' cover_image: null -canonical_url: https://github.com/MichaelCade/90DaysOfDevOps +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day01.md id: 1047799 --- diff --git a/Days/day02.md b/Days/day02.md index 773c886..02e141c 100644 --- a/Days/day02.md +++ b/Days/day02.md @@ -1,3 +1,12 @@ +--- +title: "#90DaysOfDevOps - Responsibilities of a DevOps Engineer - Day 2" +published: false +description: 90DaysOfDevOps - Responsibilities of a DevOps Engineer +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day02.md +--- + ## Responsibilities of a DevOps Engineer Hopefully you are coming into this off the back of going through the resources and post on [Day1 of #90DaysOfDevOps](day01.md) diff --git a/Days/day03.md b/Days/day03.md index bf8897e..76b26fa 100644 --- a/Days/day03.md +++ b/Days/day03.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Application Focused - Day 3" +published: false +description: 90DaysOfDevOps - Application Focused +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day03.md +--- ## DevOps Lifecycle - Application Focused 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. diff --git a/Days/day04.md b/Days/day04.md index 3f99df5..c9e4a19 100644 --- a/Days/day04.md +++ b/Days/day04.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - DevOps & Agile - Day 3" +published: false +description: 90DaysOfDevOps - DevOps & Agile +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day04.md +--- ## DevOps & Agile Do you know the difference between DevOps and Agile ? They were formed as standalone concepts. But now the two terms are getting fused. diff --git a/Days/day05.md b/Days/day05.md index e453841..9b69143 100644 --- a/Days/day05.md +++ b/Days/day05.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Plan > Code > Build > Testing > Release > Deploy > Operate > Monitor > - Day 5" +published: false +description: 90DaysOfDevOps - Plan > Code > Build > Testing > Release > Deploy > Operate > Monitor > +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day05.md +--- ## Plan > Code > Build > Testing > Release > Deploy > Operate > Monitor > 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. diff --git a/Days/day06.md b/Days/day06.md index 23892e4..692d6e3 100644 --- a/Days/day06.md +++ b/Days/day06.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - DevOps - The real stories - Day 6" +published: false +description: 90DaysOfDevOps - DevOps - The real stories +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day06.md +--- ## DevOps - The real stories 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. diff --git a/Days/day07.md b/Days/day07.md index 701441f..77759a0 100644 --- a/Days/day07.md +++ b/Days/day07.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: DevOps & Learning a Programming Language - Day 7" +published: false +description: 90DaysOfDevOps - The Big Picture: DevOps & Learning a Programming Language +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day07.md +--- ## The Big Picture: DevOps & Learning a Programming Language 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. diff --git a/Days/day08.md b/Days/day08.md index c79f820..ea4c745 100644 --- a/Days/day08.md +++ b/Days/day08.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Setting up your DevOps environment for Go & Hello World - Day 8" +published: false +description: 90DaysOfDevOps - Setting up your DevOps environment for Go & Hello World +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day08.md +--- ## Setting up your DevOps environment for Go & Hello World Before we get into some of the fundamentals of Go we should get Go installed on our workstation and do what every "learning programming 101" module teaches us which is to create the Hello World app. As this one is going to be walking through the steps to get Go installed on your workstation we are going to attempt to document the process in pictures so people can easily follow along. diff --git a/Days/day09.md b/Days/day09.md index 92a646b..7643ec5 100644 --- a/Days/day09.md +++ b/Days/day09.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Let's explain the Hello World code - Day 9" +published: false +description: 90DaysOfDevOps - Let's explain the Hello World code +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day09.md +--- ## Let's explain the Hello World code ### How Go works diff --git a/Days/day10.md b/Days/day10.md index 9672cd9..29fd5a1 100644 --- a/Days/day10.md +++ b/Days/day10.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Go Workspace - Day 10" +published: false +description: 90DaysOfDevOps - The Go Workspace +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day10.md +--- ### The Go Workspace On [Day 8](day08.md) we briefly covered the Go workspace to get Go up and running to get to the demo of `Hello #90DaysOfDevOps` But we should explain a little more about the Go workspace. diff --git a/Days/day11.md b/Days/day11.md index 8f4aad5..b6bcd54 100644 --- a/Days/day11.md +++ b/Days/day11.md @@ -1,3 +1,12 @@ +--- +title: "#90DaysOfDevOps - Variables & Constants in Go - Day 11" +published: false +description: 90DaysOfDevOps - Variables & Constants in Go +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day11.md +--- + Before we get into the topics for today I want to give a massive shout out to [Techworld with Nana](https://www.youtube.com/watch?v=yyUHQIec83I) and this fantastic concise journey through the fundamentals of Go. On [Day8](day08.md) we set our environment up, on [Day9](day09.md) we walked through the Hello #90DaysOfDevOps code and on [Day10](day10.md)) we looked at our Go workspace and went a little deeper into compiling and running the code. diff --git a/Days/day12.md b/Days/day12.md index 06eb75f..72d855c 100644 --- a/Days/day12.md +++ b/Days/day12.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Getting user input with Pointers and a finished program - Day 12" +published: false +description: 90DaysOfDevOps - Getting user input with Pointers and a finished program +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day12.md +--- ## Getting user input with Pointers and a finished program Yesterday ([Day 11](day11.md)), we created our first Go program that was self-contained and the parts we wanted to get user input for were created as variables within our code and given values, we now want to ask the user for their input to give the variable the value for the end message. diff --git a/Days/day13.md b/Days/day13.md index e0fc392..748e651 100644 --- a/Days/day13.md +++ b/Days/day13.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Tweet your progress with our new App - Day 13" +published: false +description: 90DaysOfDevOps - Tweet your progress with our new App +tags: 'devops, 90daysofdevops, learning, sre, operations' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day13.md +--- ## Tweet your progress with our new App On the final day of looking into this programming language, we have only just touched the surface here of the language but it is that start that I think we need to get interested and excited and want to dive more into it. diff --git a/Days/day14.md b/Days/day14.md index 64ec8e1..2f6861b 100644 --- a/Days/day14.md +++ b/Days/day14.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: DevOps and Linux - Day 14" +published: false +description: 90DaysOfDevOps - The Big Picture: DevOps and Linux +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day14.md +--- ## The Big Picture: DevOps and Linux Linux and DevOps share very similar cultures and perspectives; both are focused on customization and scalability. Both of these aspects of Linux are of particular importance for DevOps. diff --git a/Days/day15.md b/Days/day15.md index 1f1be6e..fec2b45 100644 --- a/Days/day15.md +++ b/Days/day15.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Linux Commands for DevOps (Actually everyone) - Day 15" +published: false +description: 90DaysOfDevOps - Linux Commands for DevOps (Actually everyone) +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day15.md +--- ## Linux Commands for DevOps (Actually everyone) I mentioned it [yesterday](day14.md) that we are going to be spending a lot of time in the terminal with some commands to get stuff done. diff --git a/Days/day16.md b/Days/day16.md index c27948d..7aab89d 100644 --- a/Days/day16.md +++ b/Days/day16.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Managing your Linux System, Filesystem & Storage - Day 16" +published: false +description: 90DaysOfDevOps - Managing your Linux System, Filesystem & Storage +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day16.md +--- ## Managing your Linux System, Filesystem & Storage So far we have had a brief overview of Linux and DevOps and then we got our lab environment set up using vagant [(Day 14)](day14.md), we then touched on a small portion of commands that will be in your daily toolkit when in the terminal and getting things done [(Day 15)](day15.md). diff --git a/Days/day17.md b/Days/day17.md index 293fd60..82da9d8 100644 --- a/Days/day17.md +++ b/Days/day17.md @@ -1,4 +1,11 @@ - +--- +title: "#90DaysOfDevOps - Text Editors - nano vs vim - Day 17" +published: false +description: 90DaysOfDevOps - Text Editors - nano vs vim +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day17.md +--- ## Text Editors - nano vs vim The majority of your Linux systems are going to be servers and these are not going to have a GUI. I also mentioned in the last session that Linux is mostly made up of configuration files, to make changes you are going to need to be able to edit those configuration files to change anything on the system. diff --git a/Days/day18.md b/Days/day18.md index 1eccea2..1fa9336 100644 --- a/Days/day18.md +++ b/Days/day18.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - SSH & Web Server - Day 18" +published: false +description: 90DaysOfDevOps - SSH & Web Server +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day18.md +--- ## SSH & Web Server As we have mentioned throughout you are going to most likely be managing lots of remote Linux servers, because of this, you will need to make sure that your connectivity to these remote servers is secure. In this section, we want to cover some of the basics of SSH that everyone should know that will help you with that secure tunnel to your remote systems. diff --git a/Days/day19.md b/Days/day19.md index febe4f4..b35a321 100644 --- a/Days/day19.md +++ b/Days/day19.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Automate tasks with bash scripts - Day 19" +published: false +description: 90DaysOfDevOps - Automate tasks with bash scripts +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day19.md +--- ## Automate tasks with bash scripts The shell that we are going to use today is the bash but we will cover another shell tomorrow when we dive into ZSH. diff --git a/Days/day20.md b/Days/day20.md index cc176ae..3b5f009 100644 --- a/Days/day20.md +++ b/Days/day20.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Dev workstation setup - All the pretty things - Day 20" +published: false +description: 90DaysOfDevOps - Dev workstation setup - All the pretty things +tags: 'devops, 90daysofdevops, learning, sre, operations, linux' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day20.md +--- ## Dev workstation setup - All the pretty things Not to be confused with us setting Linux servers up this way but I wanted to also show off the choice and flexibility that we have within the Linux desktop. diff --git a/Days/day21.md b/Days/day21.md index 3d58b63..0f16d90 100644 --- a/Days/day21.md +++ b/Days/day21.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: DevOps and Networking - Day 21" +published: false +description: "90DaysOfDevOps - The Big Picture: DevOps and Networking" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day21.md +--- ## The Big Picture: DevOps and Networking Welcome to Day 21! We are going to be getting into Networking over the next 7 days, Networking and DevOps is the overarching theme but we will need to get into some of the networking fundamentals as well. diff --git a/Days/day22.md b/Days/day22.md index 223e6a9..2530315 100644 --- a/Days/day22.md +++ b/Days/day22.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The OSI Model - The 7 Layers - Day 22" +published: false +description: 90DaysOfDevOps - The OSI Model - The 7 Layers +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day22.md +--- ## The OSI Model - The 7 Layers The overall purpose of networking as an industry is to allow two hosts to share data before networking if I want to get data from this host to this host I'd have to plug something into this host walk it over to the other host plug it into the other host. diff --git a/Days/day23.md b/Days/day23.md index 1150d2b..3b9468f 100644 --- a/Days/day23.md +++ b/Days/day23.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Network Protocols - Day 23" +published: false +description: 90DaysOfDevOps - Network Protocols +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day23.md +--- ## Network Protocols A set of rules and messages that form a standard. An Internet Standard. diff --git a/Days/day24.md b/Days/day24.md index ed72cd1..de38637 100644 --- a/Days/day24.md +++ b/Days/day24.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Network Automation - Day 24" +published: false +description: 90DaysOfDevOps - Network Automation +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day24.md +--- ## Network Automation ### Basics of network automation diff --git a/Days/day25.md b/Days/day25.md index 57ec712..08366ae 100644 --- a/Days/day25.md +++ b/Days/day25.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Python for Network Automation - Day 25" +published: false +description: 90DaysOfDevOps - Python for Network Automation +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day25.md +--- ## Python for Network Automation Python is the standard language used for automated network operations. diff --git a/Days/day26.md b/Days/day26.md index 26fbced..f791255 100644 --- a/Days/day26.md +++ b/Days/day26.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Building our Lab - Day 26" +published: false +description: 90DaysOfDevOps - Building our Lab +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day26.md +--- ## Building our Lab We are going to continue our setup of our emulated network using EVE-NG and then hopefully get some devices deployed and start thinking about how we can automate the configuration of these devices. On [Day 25](day25.md) we covered the installation of EVE-NG onto our machine using VMware Workstation. diff --git a/Days/day27.md b/Days/day27.md index b2d8689..814f0be 100644 --- a/Days/day27.md +++ b/Days/day27.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Getting Hands-On with Python & Network - Day 27" +published: false +description: 90DaysOfDevOps - Getting Hands-On with Python & Network +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day27.md +--- ## Getting Hands-On with Python & Network In this final section of Networking fundamentals, we are going to cover some automation tasks and tools with our lab environment created on [Day 26](day26.md) diff --git a/Days/day28.md b/Days/day28.md index f5f17fd..e5517e6 100644 --- a/Days/day28.md +++ b/Days/day28.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: DevOps & The Cloud - Day 28" +published: false +description: "90DaysOfDevOps - The Big Picture: DevOps & The Cloud" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day28.md +--- ## The Big Picture: DevOps & The Cloud When it comes to cloud computing and what is offered, it goes very nicely with the DevOps ethos and processes. We can think of Cloud Computing bringing the technology and services whilst DevOps as we have mentioned many times before is about the process and process improvement. diff --git a/Days/day29.md b/Days/day29.md index f373dd4..2b104da 100644 --- a/Days/day29.md +++ b/Days/day29.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Fundamentals - Day 29" +published: false +description: 90DaysOfDevOps - Microsoft Azure Fundamentals +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day29.md +--- ## Microsoft Azure Fundamentals Before we get going, the winner of the Twitter poll was Microsoft Azure, hence the title of the page. It was close and also quite interesting to see the results come in over the 24 hours. diff --git a/Days/day30.md b/Days/day30.md index 8d4f4d4..c2d3515 100644 --- a/Days/day30.md +++ b/Days/day30.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Security Models - Day 30" +published: false +description: 90DaysOfDevOps - Microsoft Azure Security Models +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day30.md +--- ## Microsoft Azure Security Models Following on from the Microsoft Azure Overview, we are going to start with Azure Security and see where this can help in our day today. For the most part, I have found the built-in roles have been sufficient but knowing that we can create and work with many different areas of authentication and configurations. I have found Microsoft Azure to be quite advanced with its Active Directory background compared to other public clouds. diff --git a/Days/day31.md b/Days/day31.md index caab05b..04deaf4 100644 --- a/Days/day31.md +++ b/Days/day31.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Compute Models - Day 31" +published: false +description: 90DaysOfDevOps - Microsoft Azure Compute Models +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day31.md +--- ## Microsoft Azure Compute Models Following on from covering the basics around security models within Microsoft Azure yesterday today we are going to look into the various compute services available to us in Azure. diff --git a/Days/day32.md b/Days/day32.md index 06823f4..6f1cfb9 100644 --- a/Days/day32.md +++ b/Days/day32.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Storage Models - Day 32" +published: false +description: 90DaysOfDevOps - Microsoft Azure Storage Models +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day32.md +--- ## Microsoft Azure Storage Models ### Storage Services diff --git a/Days/day33.md b/Days/day33.md index 9d41958..ba74b4d 100644 --- a/Days/day33.md +++ b/Days/day33.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Networking Models + Azure Management - Day 33" +published: false +description: 90DaysOfDevOps - Microsoft Azure Networking Models + Azure Management +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day33.md +--- ## Microsoft Azure Networking Models + Azure Management As if today marks the anniversary of Microsoft Azure and its 12th Birthday! (1st February 2022) Anyway, we are going to cover the networking models within Microsoft Azure and some of the management options for Azure. So far we have only used the Azure portal but we have mentioned other areas that can be used to drive and create our resources within the platform. diff --git a/Days/day34.md b/Days/day34.md index 5ef1f6a..8cbad0f 100644 --- a/Days/day34.md +++ b/Days/day34.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Microsoft Azure Hands-On Scenarios - Day 34" +published: false +description: 90DaysOfDevOps - Microsoft Azure Hands-On Scenarios +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day34.md +--- ## Microsoft Azure Hands-On Scenarios The last 6 days have been focused on Microsoft Azure and the public cloud in general, a lot of this foundation had to contain a lot of theory to understand the building blocks of Azure but also this will nicely translate to the other major cloud providers as well. diff --git a/Days/day35.md b/Days/day35.md index c98fe1e..a2505d1 100644 --- a/Days/day35.md +++ b/Days/day35.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Git - Version Control - Day 35" +published: false +description: "90DaysOfDevOps - The Big Picture: Git - Version Control" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day35.md +--- ## The Big Picture: Git - Version Control Before we get into git, we need to understand what version control is and why? In this opener for Git, we will take a look at what version control is, the basics of git. diff --git a/Days/day36.md b/Days/day36.md index 5da11ed..ce93d80 100644 --- a/Days/day36.md +++ b/Days/day36.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Installing & Configuring Git - Day 36" +published: false +description: 90DaysOfDevOps - Installing & Configuring Git +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day36.md +--- ## Installing & Configuring Git Git is a open source, cross platform tool for version control. If I like me you are using Ubuntu or most Linux environments you might find that you already git installed but we are going to run through the install and configuration. diff --git a/Days/day37.md b/Days/day37.md index 6044456..3159e3d 100644 --- a/Days/day37.md +++ b/Days/day37.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Gitting to know Git - Day 37" +published: false +description: 90DaysOfDevOps - Gitting to know Git +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day37.md +--- ## Gitting to know Git Apoligies for the terrible puns in the title and throughout. I am surely not the first person to turn Git into a dad joke! diff --git a/Days/day38.md b/Days/day38.md index 20a968f..fc29fc4 100644 --- a/Days/day38.md +++ b/Days/day38.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Staging & Changing - Day 38" +published: false +description: 90DaysOfDevOps - Staging & Changing +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day38.md +--- ## Staging & Changing We have already covered some of the basics but putting things into a walkthrough makes it better for me to learn and understand how and why we are doing it this way. Before we get into any git-based services such as GitHub, git has its powers that we can take advantage of on our local workstation. diff --git a/Days/day39.md b/Days/day39.md index 63999fc..a3bc66a 100644 --- a/Days/day39.md +++ b/Days/day39.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Viewing, unstaging, discarding & restoring - Day 39" +published: false +description: 90DaysOfDevOps - Viewing, unstaging, discarding & restoring +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day39.md +--- ## Viewing, unstaging, discarding & restoring Continuing on from where we finished yesterday around some of the commands that we have with git and how to leverage git with your projects. Remember we have not touched GitHub or any other git based services yet this is all to help you keep control of your projects locally at the moment, but they will all become useful when we start to integrate into those tools. diff --git a/Days/day40.md b/Days/day40.md index af29286..5c50a1a 100644 --- a/Days/day40.md +++ b/Days/day40.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Social Network for code - Day 40" +published: false +description: 90DaysOfDevOps - Social Network for code +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day40.md +--- ## Social Network for code Exploring GitHub | GitLab | BitBucket diff --git a/Days/day41.md b/Days/day41.md index 7ee2c9d..391367a 100644 --- a/Days/day41.md +++ b/Days/day41.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Open Source Workflow - Day 41" +published: false +description: 90DaysOfDevOps - The Open Source Workflow +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day41.md +--- ## The Open Source Workflow Hopefully through the last 7 sections of Git we have a better understanding of what git is and then how a git based service such as GitHub integrates with git to provide a source code repository but also a way in which the wider community can collaborate on code and projects together. diff --git a/Days/day42.md b/Days/day42.md index b7c16d3..8ba9889 100644 --- a/Days/day42.md +++ b/Days/day42.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Containers - Day 42" +published: false +description: "90DaysOfDevOps - The Big Picture: Containers" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day42.md +--- ## The Big Picture: Containers We are now starting the next section and this section is going to be focused on containers in particular we are going to be looking into Docker getting into some of the key areas to understand more about Containers. diff --git a/Days/day43.md b/Days/day43.md index da71bea..8505878 100644 --- a/Days/day43.md +++ b/Days/day43.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - What is Docker & Getting installed - Day 43" +published: false +description: 90DaysOfDevOps - What is Docker & Getting installed +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day43.md +--- ## What is Docker & Getting installed In the previous post I mentioned Docker at least once and that is because Docker is really innovative in the making containers popular even though they have been around for such a long time. diff --git a/Days/day44.md b/Days/day44.md index 6fdd429..f97c5ae 100644 --- a/Days/day44.md +++ b/Days/day44.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Docker Images & Hands-On with Docker Desktop - Day 44" +published: false +description: 90DaysOfDevOps - Docker Images & Hands-On with Docker Desktop +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day44.md +--- ## Docker Images & Hands-On with Docker Desktop We now have Docker Desktop installed on our system. (If you are running Linux then you still have options but no GUI but docker obviously does work on Linux.)[Install Docker Engine on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) (Other distributions also available.) diff --git a/Days/day45.md b/Days/day45.md index 95f103b..c6d5c4a 100644 --- a/Days/day45.md +++ b/Days/day45.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The anatomy of a Docker Image - Day 45" +published: false +description: 90DaysOfDevOps - The anatomy of a Docker Image +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day45.md +--- ## The anatomy of a Docker Image In the last session we covered some basics of how we can use Docker Desktop combined with DockerHub to deploy and run some verified images. A recap on what an image is, you won't forget things if I keep mentioning. diff --git a/Days/day46.md b/Days/day46.md index c05ca77..e8c23f2 100644 --- a/Days/day46.md +++ b/Days/day46.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Docker Compose - Day 46" +published: false +description: 90DaysOfDevOps - Docker Compose +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day46.md +--- ## Docker Compose The ability to run one container could be great if you have a self contained image that has everything you need for your single use case, where things get interesting is when you are looking to build multiple applications between different container images. For example if I had a website front end but had a requirement for a backend database I could put everything in one container but better and more efficient would be to have its own container for the database. diff --git a/Days/day47.md b/Days/day47.md index 4edabeb..4313302 100644 --- a/Days/day47.md +++ b/Days/day47.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Docker Networking & Security - Day 47" +published: false +description: 90DaysOfDevOps - Docker Networking & Security +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day47.md +--- ## Docker Networking & Security During this container session so far we have made things happen but we have not really looked at how things have worked behind the scenes either from a networking point of view but also we have not touched on security, that is the plan for this session. diff --git a/Days/day48.md b/Days/day48.md index e6aced7..4d297e7 100644 --- a/Days/day48.md +++ b/Days/day48.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Alternatives to Docker - Day 48" +published: false +description: 90DaysOfDevOps - Alternatives to Docker +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day48.md +--- ## Alternatives to Docker I did say at the very beginning of this section that we were going to be using Docker, simply because resource wise there is so much and the community is very big, but also this was really where the indents to making containers popular really came from. I would encourage you to go and watch some of the history around Docker and how it came to be, I found it very useful. diff --git a/Days/day49.md b/Days/day49.md index 0e47632..b797953 100644 --- a/Days/day49.md +++ b/Days/day49.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Kubernetes - Day 49" +published: false +description: "90DaysOfDevOps - The Big Picture: Kubernetes" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day49.md +--- ## The Big Picture: Kubernetes In the last section we covered Containers, Containers fall short when it comes to scale and orchestration alone. The best we can do is use docker-compose to bring up multiple containers together. When it comes to Kubernetes which is a Container Orchestrator, this gives us the ability to scale up and down in an automated way or based on the load of your applications and services. diff --git a/Days/day50.md b/Days/day50.md index 0f4dde7..0436c48 100644 --- a/Days/day50.md +++ b/Days/day50.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Choosing your Kubernetes platform - Day 50" +published: false +description: 90DaysOfDevOps - Choosing your Kubernetes platform +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day50.md +--- ## Choosing your Kubernetes platform I wanted to use this session to breakdown some of the platforms or maybe distributions is a better term to use here, one thing that has been a challenge in the Kubernetes world is removing complexity. diff --git a/Days/day51.md b/Days/day51.md index 8260d1c..5b6c38a 100644 --- a/Days/day51.md +++ b/Days/day51.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Deploying your first Kubernetes Cluster - Day 51" +published: false +description: 90DaysOfDevOps - Deploying your first Kubernetes Cluster +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day51.md +--- ## Deploying your first Kubernetes Cluster In this post we are going get a Kubernetes cluster up and running on our local machine using minikube, this will give us a baseline Kubernetes cluster for the rest of the Kubernetes section, although we will look at deploying a Kubernetes cluster also in VirtualBox later on. The reason for choosing this method vs spinning a managed Kubernetes cluster up in the public cloud is that this is going to cost money even with the free tier, I shared some blogs though if you would like to spin up that environment in the previous section [Day 50](day50.md). diff --git a/Days/day52.md b/Days/day52.md index 1b9aa8b..41ad26e 100644 --- a/Days/day52.md +++ b/Days/day52.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Setting up a multinode Kubernetes Cluster - Day 52" +published: false +description: 90DaysOfDevOps - Setting up a multinode Kubernetes Cluster +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day52.md +--- ## Setting up a multinode Kubernetes Cluster I wanted this title to be "Setting up a multinode Kubernetes cluster with Vagrant" but thought it might be a little too long! diff --git a/Days/day53.md b/Days/day53.md index e3ddf00..6959667 100644 --- a/Days/day53.md +++ b/Days/day53.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Rancher Overview - Hands On - Day 53" +published: false +description: 90DaysOfDevOps - Rancher Overview - Hands On +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day53.md +--- ## Rancher Overview - Hands On In this section we are going to take a look at Rancher, so far everything we have done has been in the cli and using kubectl but we have a few really good UIs and multi cluster management tools to give our operations teams good visibility into our cluster management. diff --git a/Days/day54.md b/Days/day54.md index 1103161..1d29821 100644 --- a/Days/day54.md +++ b/Days/day54.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Kubernetes Application Deployment - Day 54" +published: false +description: 90DaysOfDevOps - Kubernetes Application Deployment +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day54.md +--- ## Kubernetes Application Deployment Now we finally get to actually deploying some applications into our clusters, some would say this is the reason Kubernetes exists, for Application delivery. diff --git a/Days/day55.md b/Days/day55.md index 0a666c3..2ed636d 100644 --- a/Days/day55.md +++ b/Days/day55.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - State and Ingress in Kubernetes - Day 55" +published: false +description: 90DaysOfDevOps - State and Ingress in Kubernetes +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day55.md +--- ## State and Ingress in Kubernetes In this closing section of Kubernetes, we are going to take a look at State and ingress. diff --git a/Days/day56.md b/Days/day56.md index 2aef7ec..484b562 100644 --- a/Days/day56.md +++ b/Days/day56.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: IaC - Day 56" +published: false +description: "90DaysOfDevOps - The Big Picture: IaC" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day56.md +--- ## The Big Picture: IaC Humans make mistakes! Automation is the way to go! diff --git a/Days/day57.md b/Days/day57.md index b2090fa..a0a87b3 100644 --- a/Days/day57.md +++ b/Days/day57.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - An intro to Terraform - Day 57" +published: false +description: 90DaysOfDevOps - An intro to Terraform +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day57.md +--- ## An intro to Terraform "Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently" diff --git a/Days/day58.md b/Days/day58.md index 134a53d..7275e13 100644 --- a/Days/day58.md +++ b/Days/day58.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - HashiCorp Configuration Language (HCL) - Day 58" +published: false +description: 90DaysOfDevOps - HashiCorp Configuration Language (HCL) +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day58.md +--- ## HashiCorp Configuration Language (HCL) Before we start making stuff with Terraform we have to dive a little into HashiCorp Configuration Language (HCL). So far during our challenge we have looked at a few different scripting and programming languages and here is another one. We touched on the [Go programming language](Days/day07.md) then [bash scripts](Days/day19.md) we even touched on a little python when it came to [network automation](Days/day27.md) diff --git a/Days/day59.md b/Days/day59.md index 43fa39e..11b420a 100644 --- a/Days/day59.md +++ b/Days/day59.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Create a VM with Terraform & Variables - Day 59" +published: false +description: 90DaysOfDevOps - Create a VM with Terraform & Variables +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day59.md +--- ## Create a VM with Terraform & Variables In this session we are going to be creating a VM or two VMs using terraform inside VirtualBox. This is not the normal, VirtualBox is a workstation virtualisation option and really this would not be a use case for Terraform but I am currently 36,000ft in the air and as much as I have deployed public cloud resources this high in the clouds it is much faster to do this locally on my laptop. diff --git a/Days/day60.md b/Days/day60.md index 9056d15..0e25ce6 100644 --- a/Days/day60.md +++ b/Days/day60.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Docker Containers, Provisioners & Modules - Day 60" +published: false +description: 90DaysOfDevOps - Docker Containers, Provisioners & Modules +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day60.md +--- ## Docker Containers, Provisioners & Modules On [Day 59](day59.md) we provisioned a virtual machine using Terraform to our local FREE virtualbox environment. In this section we are going to be deploy a Docker container with some configuration to our local Docker environment. diff --git a/Days/day61.md b/Days/day61.md index d099ebd..27e9649 100644 --- a/Days/day61.md +++ b/Days/day61.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Kubernetes & Multiple Environments - Day 61" +published: false +description: 90DaysOfDevOps - Kubernetes & Multiple Environments +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day61.md +--- ## Kubernetes & Multiple Environments So far during this section on Infrastructure as code we have looked at deploying virtual machines albeit to virtualbox but the premise is the same really as we define in code what we want our virtual machine to look like and then we deploy. The same for Docker containers and in this session we are going to take a look at how Terraform can be used to interact with resources supported by Kubernetes. diff --git a/Days/day62.md b/Days/day62.md index c7f5b28..5a9291f 100644 --- a/Days/day62.md +++ b/Days/day62.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Testing, Tools & Alternatives - Day 62" +published: false +description: 90DaysOfDevOps - Testing, Tools & Alternatives +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day62.md +--- ## Testing, Tools & Alternatives As we close out this section on Infrastructure as Code we must mention about testing our code, the various different tools available and then some of the alternatives to Terraform to achieve this. As I said at the start of the section my focus was on Terraform because it is firstly free and open source, secondly it is cross platform and agnostic to environments. But there are also alternatives out there that should be considered but the overall goal is to make people aware that this is the way to deploy your infrastructure. diff --git a/Days/day63.md b/Days/day63.md index 3e115cb..43a223d 100644 --- a/Days/day63.md +++ b/Days/day63.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Configuration Management - Day 63" +published: false +description: "90DaysOfDevOps - The Big Picture: Configuration" Management +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day63.md +--- ## The Big Picture: Configuration Management Coming straight off the back of the section covering Infrastructure as Code, there is likely going to be some crossover as we talk about Configuration Management or Application Configuration Management. diff --git a/Days/day64.md b/Days/day64.md index 0791e7e..d264600 100644 --- a/Days/day64.md +++ b/Days/day64.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Ansible: Getting Started - Day 64" +published: false +description: "90DaysOfDevOps - Ansible: Getting Started" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day64.md +--- ## Ansible: Getting Started We covered a little what Ansible is in the [big picture session yesterday](day63.md) But we are going to get started with a little more information on top of that here. Firstly Ansible comes from RedHat. Secondly it is agentles, connects via SSH and runs commands. Thirdly it is cross platform (Linux & macOS, WSL2) and open-source (there is also a paid for enterprise option) Ansible pushes configuration vs other models. diff --git a/Days/day65.md b/Days/day65.md index 8a06a15..a559aa1 100644 --- a/Days/day65.md +++ b/Days/day65.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Ansible Playbooks - Day 65" +published: false +description: 90DaysOfDevOps - Ansible Playbooks +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day65.md +--- ### Ansible Playbooks In this section we will take a look at the main reason that I can see at least for Ansible, I mean it is great to take a single command and hit many different servers to perform simple commands such as rebooting a long list of servers and saving the hassle of having to connect to each one individually. diff --git a/Days/day66.md b/Days/day66.md index c6eea8b..474dd83 100644 --- a/Days/day66.md +++ b/Days/day66.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Ansible Playbooks Continued... - Day 66" +published: false +description: 90DaysOfDevOps - Ansible Playbooks Continued... +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day66.md +--- ## Ansible Playbooks Continued... In our last section we started with creating our small lab using a Vagrantfile to deploy 4 machines and we used our Linux machine we created in that section as our ansible control system. diff --git a/Days/day67.md b/Days/day67.md index d0785e2..8627170 100644 --- a/Days/day67.md +++ b/Days/day67.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Using Roles & Deploying a Loadbalancer - Day 67" +published: false +description: 90DaysOfDevOps - Using Roles & Deploying a Loadbalancer +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day67.md +--- ## Using Roles & Deploying a Loadbalancer In the last session we covered roles and used the `ansible-galaxy` command to help create our folder structures for some roles that we are going to use. We finished up with a much tidier working repository for our configuration code as everything is hidden away in our role folders. diff --git a/Days/day68.md b/Days/day68.md index bf49f07..f45cf68 100644 --- a/Days/day68.md +++ b/Days/day68.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Tags, Variables, Inventory & Database Server config - Day 68" +published: false +description: 90DaysOfDevOps - Tags, Variables, Inventory & Database Server config +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day68.md +--- ## Tags, Variables, Inventory & Database Server config ### Tags diff --git a/Days/day69.md b/Days/day69.md index 3205980..9a9d1e8 100644 --- a/Days/day69.md +++ b/Days/day69.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - All other things Ansible - Automation Controller (Tower), AWX, Vault - Day 69" +published: false +description: 90DaysOfDevOps - All other things Ansible - Automation Controller (Tower), AWX, Vault +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day69.md +--- ## All other things Ansible - Automation Controller (Tower), AWX, Vault Rounding out the section on Configuration Management I wanted to have a look into the other areas that you might come across when dealing with Ansible. diff --git a/Days/day70.md b/Days/day70.md index 8e3a587..b7f79d7 100644 --- a/Days/day70.md +++ b/Days/day70.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: CI/CD Pipelines - Day 70" +published: false +description: "90DaysOfDevOps - The Big Picture: CI/CD Pipelines" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day70.md +--- ## The Big Picture: CI/CD Pipelines A CI/CD (Continous Integration/Continous Deployment) Pipeline implementation is the backbone of the modern DevOps environment. diff --git a/Days/day71.md b/Days/day71.md index 077cb6e..3172d33 100644 --- a/Days/day71.md +++ b/Days/day71.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - What is Jenkins? - Day 71" +published: false +description: 90DaysOfDevOps - What is Jenkins? +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day71.md +--- ## What is Jenkins? Jenkins is a continous integration tool that allows continous development, test and deployment of newly created code. diff --git a/Days/day72.md b/Days/day72.md index d784c0f..392f2bc 100644 --- a/Days/day72.md +++ b/Days/day72.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Getting hands on with Jenkins - Day 72" +published: false +description: 90DaysOfDevOps - Getting hands on with Jenkins +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day72.md +--- ## Getting hands on with Jenkins The plan today is to get some hands on with Jenkins and make something happen as part of our CI pipeline, looking at some example code bases that we can use. diff --git a/Days/day73.md b/Days/day73.md index 867a36c..fdc037f 100644 --- a/Days/day73.md +++ b/Days/day73.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Building a Jenkins Pipeline - Day 73" +published: false +description: 90DaysOfDevOps - Building a Jenkins Pipeline +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day73.md +--- ## Building a Jenkins Pipeline In the last section we got Jenkins deployed to our Minikube cluster and we set up a very basic Jenkins Pipeline, that didn't do much at all other than echo out the stages of a Pipeline. diff --git a/Days/day74.md b/Days/day74.md index 0515374..2af7bf8 100644 --- a/Days/day74.md +++ b/Days/day74.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Hello World - Jenkinsfile App Pipeline - Day 74" +published: false +description: 90DaysOfDevOps - Hello World - Jenkinsfile App Pipeline +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day74.md +--- ## Hello World - Jenkinsfile App Pipeline In the last section we built a simple Pipeline in Jenkins that would push our docker image from our dockerfile in a public GitHub repository to our private Dockerhub repository. diff --git a/Days/day75.md b/Days/day75.md index 6153d79..d6e7b34 100644 --- a/Days/day75.md +++ b/Days/day75.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - GitHub Actions Overview - Day 75" +published: false +description: 90DaysOfDevOps - GitHub Actions Overview +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day75.md +--- ## GitHub Actions Overview In this section I wanted to move on and take a look at maybe a different approach to what we just spent time on. GitHub Actions is where we will focus on in this session. diff --git a/Days/day76.md b/Days/day76.md index c3ae35e..37222dc 100644 --- a/Days/day76.md +++ b/Days/day76.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - ArgoCD Overview - Day 76" +published: false +description: 90DaysOfDevOps - ArgoCD Overview +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day76.md +--- ## ArgoCD Overview “Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes” diff --git a/Days/day77.md b/Days/day77.md index e3679db..2b41ba2 100644 --- a/Days/day77.md +++ b/Days/day77.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Monitoring - Day 77" +published: false +description: "90DaysOfDevOps - The Big Picture: Monitoring" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day77.md +--- ## The Big Picture: Monitoring In this section we are going to talk about monitoring, what is it why do we need it? diff --git a/Days/day78.md b/Days/day78.md index 59845d5..f9c2a51 100644 --- a/Days/day78.md +++ b/Days/day78.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Hands-On Monitoring Tools - Day 78" +published: false +description: 90DaysOfDevOps - Hands-On Monitoring Tools +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day78.md +--- ## Hands-On Monitoring Tools In the last session, I spoke about the big picture of monitoring and I took a look into Nagios, there was two reasons for doing this. The first was this is a peice of software I have heard a lot of over the years so wanted to know a little more about its capabilities. diff --git a/Days/day79.md b/Days/day79.md index d5273d6..bcebb8e 100644 --- a/Days/day79.md +++ b/Days/day79.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Log Management - Day 79" +published: false +description: "90DaysOfDevOps - The Big Picture: Log Management" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day79.md +--- ## The Big Picture: Log Management A continuation to the infrastructure monitoring challenges and solutions, log management is another puzzle peice to the overall observability jigsaw. diff --git a/Days/day80.md b/Days/day80.md index 9a902c2..d04790e 100644 --- a/Days/day80.md +++ b/Days/day80.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - ELK Stack - Day 80" +published: false +description: 90DaysOfDevOps - ELK Stack +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day80.md +--- ## ELK Stack In this session, we are going to get a little more hands-on with some of the options we have mentioned. diff --git a/Days/day81.md b/Days/day81.md index 5da7526..359bfb5 100644 --- a/Days/day81.md +++ b/Days/day81.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Fluentd & FluentBit - Day 81" +published: false +description: 90DaysOfDevOps - Fluentd & FluentBit +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day81.md +--- ## Fluentd & FluentBit Another data collector that I wanted to explore as part of this observability section was [Fluentd](https://docs.fluentd.org/). An Open-Source unified logging layer. diff --git a/Days/day82.md b/Days/day82.md index dc9cff1..cb3eba9 100644 --- a/Days/day82.md +++ b/Days/day82.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - EFK Stack - Day 82" +published: false +description: 90DaysOfDevOps - EFK Stack +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day82.md +--- ### EFK Stack In the previous section, we spoke about ELK Stack, which uses Logstash as the log collector in the stack, in the EFK Stack we are swapping that out for FluentD or FluentBit. diff --git a/Days/day83.md b/Days/day83.md index 16d5372..81122c1 100644 --- a/Days/day83.md +++ b/Days/day83.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Data Visualisation - Grafana - Day 83" +published: false +description: 90DaysOfDevOps - Data Visualisation - Grafana +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day83.md +--- ## Data Visualisation - Grafana We saw a lot of Kibana over this section around Observability. But we have to also take some time to cover Grafana. But also they are not the same and they are not completely competing against each other. diff --git a/Days/day84.md b/Days/day84.md index c97722a..aa50023 100644 --- a/Days/day84.md +++ b/Days/day84.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - The Big Picture: Data Management - Day 84" +published: false +description: "90DaysOfDevOps - The Big Picture: Data Management" +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day84.md +--- ## The Big Picture: Data Management ![](Images/Day84_Data1.png) diff --git a/Days/day85.md b/Days/day85.md index 1e3f81e..68cf25c 100644 --- a/Days/day85.md +++ b/Days/day85.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Data Services - Day 85" +published: false +description: 90DaysOfDevOps - Data Services +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day85.md +--- ## Data Services Databases are going to be the most common data service that we come across in our environments. I wanted to take this session to explore some of those different types of Databases and some of the use cases they each have. Some we have used and seen throughout the course of the challenge. diff --git a/Days/day86.md b/Days/day86.md index 35b7cec..525b66d 100644 --- a/Days/day86.md +++ b/Days/day86.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Backup all the platforms - Day 86" +published: false +description: 90DaysOfDevOps - Backup all the platforms +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day86.md +--- ## Backup all the platforms During this whole challenge we have discussed many different platforms and environments. One thing all of those have in common is the fact they all need some level of data protection! diff --git a/Days/day87.md b/Days/day87.md index b3d2bcb..9c95a81 100644 --- a/Days/day87.md +++ b/Days/day87.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Hands-On Backup & Recovery - Day 87" +published: false +description: 90DaysOfDevOps - Hands-On Backup & Recovery +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day87.md +--- ## Hands-On Backup & Recovery In the last session we touched on [Kopia](https://kopia.io/) an Open-Source backup tool that we used to get some important data off to a local NAS and off to some cloud based object storage. diff --git a/Days/day88.md b/Days/day88.md index 0cd2fba..c9737c4 100644 --- a/Days/day88.md +++ b/Days/day88.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Application Focused Backups - Day 88" +published: false +description: 90DaysOfDevOps - Application Focused Backups +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day88.md +--- ## Application Focused Backups We have already spent some time talking about data services or data intensive applications such as databases on [Day 85](day85.md). For these data services we have to consider how we manage consistency, especially when it comes application consistency. diff --git a/Days/day89.md b/Days/day89.md index 72e81ec..e99fa57 100644 --- a/Days/day89.md +++ b/Days/day89.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Disaster Recovery - Day 89" +published: false +description: 90DaysOfDevOps - Disaster Recovery +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day89.md +--- ## Disaster Recovery We have mentioned already how different failure scenarios will warrant different recovery requirements. When it comes to Fire, Flood and Blood scenarios we can consider these mostly disaster situations where we might need our worklods up and running in a completely different location as fast as possible or at least with near-zero recovery time objectives (RTO) diff --git a/Days/day90.md b/Days/day90.md index 42a1729..f88db2a 100644 --- a/Days/day90.md +++ b/Days/day90.md @@ -1,3 +1,11 @@ +--- +title: "#90DaysOfDevOps - Data & Application Mobility - Day 90" +published: false +description: 90DaysOfDevOps - Data & Application Mobility +tags: 'devops, 90daysofdevops, learning, sre, operations, linux, networking, cloud, git, docker, containers, kubernetes, iac, terraform, ansible, CICD, observability, backup' +cover_image: null +canonical_url: https://github.com/MichaelCade/90DaysOfDevOps/Days/day90.md +--- ## Data & Application Mobility Day 90 of the #90DaysOfDevOps Challenge! In this final session I am going to cover mobility of our data and applications. I am specifically going to focus on Kubernetes but the requirement across platforms and between platforms is something that is an ever growing requirement and is seen in the field.