Fall 2021

Subsections of Fall 2021

Fall '21 Week 1

YouTube Video

Resources

Video Script

Hello, and welcome to the week one announcements video for CC 510 in Fall 2021. My name is Russell Feldhausen, and I’ll be your instructor for this semester. My contact information is listed here, and it’s also listed on the syllabus, feel free to contact me anytime. Email is my preferred method of communication for this class. But you can also find me on Discord, you can schedule one on one office hours via Calendly. And there’s lots of other options that are listed on my website and on the syllabus.

So this class is a class that I’ve taught for several semesters at this point. So there’s not a whole lot that’s new this time around. Basically, you’ll have one module of work due every other week. There is a late work penalty in this class, it’s 10% off of the total points possible on the assignment per day, so make sure you don’t get too far behind. I also have added a prototype portion to the final project. So if you’re familiar with previous versions of this class, that’s a little bit new here. In every semester I also make minor changes in each labs. So make sure that you’re reading the labs for the current semester in this Canvas course. We’ll also watch the videos from five interactive discussions that we did in the summer semester. Unfortunately, this fall I right now, I only have a couple of students in this class. So we’re not going to do new discussions this fall. But between the group we might have some more discussions on Discord and things like that.

Also, during the semester, I’m hoping to do some updates to the curriculum for this class going forward. So my hope is later in the semester, I may have a couple of beta labs to have you try, we’ll come up with some way that you can opt into the beta labs and help me test them for some credit. I’m considering maybe even replacing the last module in this class with one of these beta labs. So we’ll see how far we get on that in this semester. This is all very up in the air right now. But if I get enough time, I want to work on this. So watch for more details later.

This class uses interactive grading for labs to get lab graded, you’ll schedule a time with me via Calendly the time that you schedule must be before you can before the lab is due, but you can schedule even before you’re done with the lab. So for example, if you’re working on your lab on Friday, and you think you’ll get done over the weekend, you can go ahead and schedule your grading time on Monday, which would be the due date. And then you can meet with me on Monday so you can schedule before you’re done. But your meeting must be before the due date. Scheduling via Calendly requires a four hour notice. So if you want to schedule right before something’s due or right at the end of the day, it’s not going to let you. When we meet, we’ll meet via zoom, and I’ll have you use screenshare. So I can see what you’re seeing and have you walked through some things on your lab. And then one of the big things to be aware of is when we start grading, I will ask you if you’re sure you want to start. And as soon as you confirm that at that time, what’s there is there you can’t make any changes. Once you’ve started grading, even if you notice something that’s missing, it’s kind of like you turned in the assignment to me and then later on, you realized you missed something, you can’t go back and fix it. So it’s the only way I can really keep it fair when I do these interactive grading things. So just be aware that once you start grading, you can’t change anything, it’s going to be whatever I see as we go through. So keep keep that in mind. It’s usually not a problem. But everyone’s while students will realize, Oh crap, I forgot to turn on the firewall. It’s already too late. So keep that in mind.

This semester, we’ve got some interactive discussions you’ll be able to do. We recorded these during the summer 2021 semester, we brought in some guest speakers, they got to interact with our students. For this fall, what I’d like you to do is watch the video of those discussions and write a reaction to it based on the prompt that I give. If, as you watch the video, if you have any questions, all of the speakers from last summer, volunteered their email addresses so you can email me, I will forward your information on to our speaker and they will get back to you. They’re more than willing to answer your questions, especially some of the speakers like the K-State’s CIO, and I know both Seth and Kyle here in the computer science department would love to talk to students any time so don’t be afraid to reach out to them. But I’d be happy to send an email on your behalf to get some answers.

Other than that, that’s really all that’s going on this semester. Hopefully everything’s pretty self explanatory on Canvas. If you have any questions, let me know anytime. What I’d like you to do from here on out is keep in touch on Discord. The first module has you do a quick introduction on Discord so we know you’re there. So you can always discuss things with me on Discord. As I see news and things during the semester, you might see postings in the Discord channel relevant to this class. So keep an eye on that. We can also do look for our Zoom discussions. And then of course, we have time office hours if you’re not familiar with those every Tuesday 330 and Friday at 1030. I and some other faculty we host a tea time office hours. Tea Time is not meant to be time to ask questions about class. It’s more time to hang out and socialize and ask questions about life, the universe in general, anything outside of class that you want to talk about, we’d be happy to help. So feel free to come join us for tea time. And then of course, you can always schedule a one on one office hours with me using Calendly.

So I wish you the best of luck this semester. Good luck on all your classes. Good luck on this class. Let me know if you have any questions and I look forward to interacting with you in a couple weeks when you get the first lab graded.

Subsections of Fall '21 Week 1

Fall '21 Week 3

YouTube Video

Resources

Video Script

Hello, and welcome to the week three announcements video for CC 510 in Fall 2021. So this week you should be wrapping up lab one. If you need graded, feel free to go ahead and schedule a time on my calendar for today. If you haven’t already, I think I’ve got everybody covered at this point, but just checking to make sure. That will cover the first lab. And then the next assignments are due, I believe Monday September the 20th, where you will have the first discussion prompt that is due and the second lab that is due. For the discussion prompts, all you have to do is go through and watch the video of our guest speakers from the summer, and then respond to a few of the questions I’ve posted in the discussion. Also, if you have any questions you’d like to ask that speaker based on what you’ve learned, feel free to let me know I can get you in touch with all of our guest speakers from the summer, they are more than happy to chat with you. But really all you have to do is write a short response to the discussion prompt, I’m hoping each question will get a couple two or three sentences in your response, just to show that you’ve watch the video and really thought deeply about it.

So for lab two, you’re going to be redoing basically everything you did on lab one, but this time, instead of doing it manually, you’re going to use a tool called puppet to automate a lot of that. So for lab two, you’re going to reinstall your operating system in a set of new VMs. You’ll install puppet in those VMs, run all the updates and everything. And then you’re going to make a snapshot in VMware. And it’s very important that you make that snapshot so that you can roll back to it as you do your testing. Then for the rest of the lab, you’ll simply write puppet manifest files to do the updates, test your manifests by applying them manually to those systems. And then you can roll back to that snapshot, make changes and try again, a couple of hints make sure you save your puppet manifest outside of your VM so that when you roll back to your snapshot, you don’t lose any of your changes you make to the file. And also make sure you try and keep it simple. These are not meant to be too terribly difficult or complex. So feel free to use tools such as puppet resource to query the system, get a set of outputs that show how it’s configured. Minimize that to just the changes you want to make. And then you can use that to build your manifest file. Good solutions to this lab usually are about 200 lines of code or less. So if you’re getting into the 1000s of lines of code for this puppet manifest file, you’re probably making it way too difficult. And try and keep it simpler. If you have any questions, let me know I’m happy to help you through this. I also will talk really briefly about grading it’s in the lab as well. But when I grade these, what I will do is I will take your puppet manifest file, I will run it on a clean VM that I have. And what I will do is I will run it, reboot the VM, run it again. And then I will check to see if it does what it should. The reason I run it reboot and run it again is because some group permissions on Linux don’t get applied correctly the first time. But after reboot, they will take effect and then the rest of it can happen. So that’s the process I use for grading. Also, for lab two, you don’t need to do live grading via zoom, you can just submit your manifest files via canvas. And I will grade those after the due date. So feel free to do that. Although if you do have questions, you can always schedule a time to meet with me.

That’s really it for this period. Things seem to be going really well in this class. I haven’t had a whole lot of questions. So I think everything’s going well. Feel free to keep in touch. We can have discussions on discord, you’re welcome to join us for tea time office hours, either Tuesdays at 330 or Fridays at 1030. You can schedule a one on one office hours with me anytime on calendly. You can also email me directly and I’m happy to answer. So as you work on lab to hopefully your reaction is kind of like this where you’re like “seriously, I have to do this again?” But that’s kind of the point a lot of system administration and especially as you watch our speakers from last summer, they’re going to talk a lot about the importance of automation in System Administration. And so that’s where we’re going with this lab is now we’ve done it manually. Let’s see if we can automate it to make it a little bit better. So good luck on this lab and I will see you again in a couple weeks.

Subsections of Fall '21 Week 3

Fall '21 Week 5

YouTube Video

Resources

Video Script

Hello, and welcome to the announcements video for CC 510 in Fall 2021, I’m coming to you today from the CS video studio here on campus. Hopefully I’ll be able to do that a couple more times this semester. But that’s probably why things look a little bit different today than your normal announcements video. So this week, you should be working on lab two, which is due tonight by 11:59pm. We’ll talk about turning that in here in just a second. There’s also the first discussion that’s due tonight. So if you haven’t participated in the discussions, you’ll need to fill out your response to the video by tonight. And then we’ll talk about lab three a little bit later. It’s tentatively due on October 4. But as we’ll discuss here in just a minute, that might change.

So for lab two, you’ll be working on manifest files for puppet, all you have to do is submit those via Canvas, there’s no Live Meeting required. And once you submit those on Canvas, I’ll actually grade them on my system and give you feedback. Usually I grade those tomorrow. So you should get feedback pretty quickly on those. But if you have any questions on this lab, please let me know.

So for lab three, you’re going to be diving into the world of networking. So in this lab, we’re going to set up an Ubuntu server by basically duplicating one of our existing a boon to VMs. We’ll set static IP address on it. And then we’ll install a lot of core networking services, DNS, DHCP, SNMP. There’s a lot of technical stuff in here. And it’s a lot of reading documentation and figuring out how to configure those systems using their config file format. DNS especially is very, very particular. So make sure you check out the hints for this lab, make sure you check out the networking diagrams for this lab. And please ask questions. If something doesn’t make sense. Let me know I’d be happy to talk you through it and see if I can figure out how best to make that work.

So real quick update on the schedule. I will be going on vacation starting a week from Friday, October the first and that will be gone through that next week. During that time I’ll be traveling a lot so I will have limited access to email and Discord. But I will try and check in once a day and make sure I answer any questions that are out there. Because of that the normal grading time for lab three would be October 4, which is the Monday. I will absolutely be out of town that day and not able to do live grading that day. So what I’d like to do is see if we can shoot for having lab three done by September 30, which is the day before I leave on that Thursday, I will email the class directly and see if you’d like to go for that due date or if you’d like to adjust things to be later. If nothing else, I can grade lab three a little bit later and kind of do lab three and lab four together. Lab four will still be due October the 18th. I think we should be able to do that that shouldn’t be a problem. But keep in mind that I will be gone for at least a week and will adapt, so watch for an email for me and I will let you know exactly what the plan is for getting lab three graded.

Other than that, don’t be afraid to keep in touch. I’m on Discord. I’m on zoom discussions. We have tee time office hours. I think everybody in this class is doing a really good job keeping up with me. But if you have any questions, let me know. You can email me catch me on discord, schedule a one on one office hour with me whatever works best for you. So other than that, that’s all this week. Hopefully you enjoy building some networking this week. It’s a really cool part of system administration, and it’s where we start diving into the more technical parts of this class. As always, if you have any questions, let me know. Otherwise, I wish you the best of luck.

Subsections of Fall '21 Week 5

Fall '21 Week 9

YouTube Video

Resources

Video Script

Hello and welcome to the week nine announcements video for CC 510 in Fall 2021. So you’re working on lab five, right now I was able to get lab four graded for everybody. And it looks like that went well. Lab five is where we pivot into the cloud, which we’ll talk about in just a second. And then also don’t forget, every other week, you’ve got a discussion response due so if you haven’t done that yet, go watch the video from the previous semesters, discussions, and then write up your short response.

So for lab five, we’re moving into the cloud, the cloud has become a big part of system administration, and it’s something that we definitely need to spend some time on. So what we’ll do in the cloud, we’ll set up two droplets on DigitalOcean. A droplet is just a small virtual system that they set up for you. And then on that system, we’ll set up SSH, so we can remotely access to it, we’ll set up a firewall, we’ll set up a couple of simple websites using Apache. And then we’ll also connect it up using a real DNS name so you can access it through the internet, just like any other website.

One of the things you may want for this is to sign up for the GitHub education pack, you can get that at education.github.com/pack, it really helps if your GitHub account is set up using your K-State email address. So the.edu email address. Even if you don’t get the pack though, a lot of the things that it offers are still for free online, for example, on DigitalOcean if you go to try it out, digitalocean.com/freetrialoffer or many many other URLs, you can get sometimes up to 100 dollars of free DigitalOcean credit, which is more than enough for this class. Also, for NameCheap, if you go to nc.me, not the normal NameCheap website, but specifically nc.me, you can get a 1 dollar DNS name as long as you sign up with your .edu email address. If you need credits, I’ve got some referral credits for both of these services as well. But even if you have to pay for everything outright, your total cost throughout the semester should be about $11. It’s really not meant to be that high. The other thing I do say if you don’t want to work in the cloud services for any reason, because it’s university, I can’t force you to use some of these cloud resources, I do have alternative plans. So if you really don’t want to do this in the cloud, and you’d rather do this on your own systems, let me know and I can arrange for that as well. But I really do recommend learning how to do this in the cloud. I have also talked to some students, I prefer DigitalOcean for this, if you’d rather do this on tools, such as Amazon web services, or AWS, that’s fine. Everything I have is written for DigitalOcean. It’s the system I understand the best. But I have had students use other services successfully in this course for a lot of this setup. So it’s kind of up to you how you would like to do that.

So when we get to lab five grading, the big things I’ll have you show me are your ability to SSH from one of your systems to the front end. And then from the front end, you should be able to SSH directly to the back end, you’ll set this up using SSH keys. So it should be really easy to do. On both systems, we’ll check the firewall we’ll check the date and time and some other settings. And then we’ll check your Apache websites, your DNS and make sure that your HTTPS is set up correctly with the certificates through certbot. So it’s pretty easy to grade there’s not a whole lot to lab five. If you get done early with it, that’s great, just let me know and I’ll get you graded, so you can move on to lab six.

Also, at this point, we’re halfway through this semester, so you should be starting to think about your final project. The big overarching idea behind the final project is to choose something that you want to build or choose something that already exists that you want to fix. And then what you’re going to do is you’re going to perform a SWOT strengths, weaknesses, opportunities and threats analysis on that proposal. The key here is you do not have to actually do what you propose. Which means you can propose things that are bigger in scope or more complicated than what you can actually achieve. But what I’d like you to be able to do is do the research and do some preliminary work to understand exactly what you’re proposing, what the impacts of it are, and how it would impact the larger organization that you’re proposing it within. So that’s kind of the idea. Some projects that I’ve come up with over the years that might be interesting would be building a web resource for new startup companies. So thinking about how you get a high availability website, maybe if you need to do some processing or some data manipulation back there. Maybe designing a process to set up new laptops for a school. So looking at into some automation, like what we did in lab two, and also some inventory management tools that we haven’t talked about yet. You could look at designing a central authentication system for a company so taking what we did in lab four with Active Directory and LDAP and building that out into more of an industrial setup. You could also look at proposing thin clients versus thick clients in computer labs. Thin Client is a small system that then remotely connects to a larger central server. If you’re familiar with how we have campus setup, it’s 1113. One of our computer labs err 1114 one of our computer labs is thin clients where some of our other labs have thick clients, full desktops. There’s tons of ideas out there, I’m happy to chat with you if you’re not sure what ideas are available or what might be interesting to you, so just let me know if you need some help finding an idea for final projects. I really encourage you to think about your environment and things that you’re familiar with. A lot of times some of the best final projects come from systems or ideas that you’re already familiar with. And then extrapolating on that to fit some of the things we did in this class.

So that’s really all I’ve got for this week. As always, you can keep in touch I’m on discord, you can join me for tea time, you can schedule one on one office hours, whatever help you need, just let me know. Otherwise, we’re over halfway through the semester. So it kind of feels like we’re nearing the end. Hopefully you do well in lab five. We’ve just got two more labs after that to go and then your final project. As always, if you have any questions, let me know otherwise, I will talk to you in a couple weeks.

Subsections of Fall '21 Week 9

Fall '21 Week 12

YouTube Video

Resources

Video Script

Hello, and welcome to the week 12 Announcements video for CC 510 in fall 2021. So coming up this week, you’ve got lab six, that’s due a Monday. So about six days from now at 7pm, you should hopefully be working on that right now. And then after that most of the deadlines move to December where you have December 3, your final project proposal is due; December 6, we have lab seven that is due and then you have until the end of finals week on December 17, to actually present your final project to me, so there’s not a whole lot left in this class.

For lab six grading, there’s basically four distinct parts to that lab: we’ll check out your Windows file server on your VMs and your Ubuntu file server on your VMs will also check out the Windows web application on your VMs. And then you should have an Ubuntu web application running in the cloud. Of note, remember, for the Windows web application, I show you how to install one application in the videos. And I give you a pointer to install a different one for your lab. So make sure you install the one in the lab. Don’t install the forum, I believe it’s blog engine dotnet that I have you install, you can find another dotnet web application. But blog engine dotnet is by far the easiest. Likewise, for the cloud web application, I show you how to install one thing, I believe I encourage you to install WordPress. And specifically in the cloud, we’re setting it up so that you have a front end server and then the database is on a separate server. So we have to connect those two as well. Then we’ll move on to lab seven. Lab seven is a little catch all it covers a lot of different topics such as backup and restore monitoring DevOps, it’s a little bit everything, it’s kind of the last few things that I wanted to cover in this class. So you’ll have plenty of time to work on lab seven, it’s in several discrete parts as well, so you can work on it. However that works in your schedule.

So for your final project, I believe I’ve talked to everybody a little bit about the final project in this class. But as a quick summary, the whole idea is to either build something or fix something related to the world of system administration. It could be a web resource for a startup company, you could figure out a way to automatically set up laptops for a school, you could design some sort of a central authentication process for a company, discuss things like the benefits of thin clients versus thick clients and labs and offices. If you haven’t come up with a good idea yet, feel free to schedule a time to chat with me about some ideas, I’d love to throw some ideas around and see what’s interesting to you. But the idea is I want you to demonstrate that you’ve learned something in this class by applying the things you’ve learned towards some sort of a final project that you’re interested in.

So to complete your final project, there are three big things that you’ll turn in. The first thing you’ll turn in is a written report. In the final project materials, I give you a small template to give you an idea of what sections you should have in your written report. For clarity, the template uses bullet points to explain what the section should contain. Your report should be a formal written essay, not a list of bullet points - I’ve had some students get confused on that. But the bullet points in the template simply show you what goes in that section. In your written report, you’re going to talk about the research you’ve done in your project propose your idea. Give me a SWOT analysis, a strengths, weaknesses, opportunities and threats analysis. And then of course, don’t forget the wrap up use the outcome of your SWOT analysis to convince me as your CIO, that it’s either a good idea or a bad idea. And it’s totally okay for the idea that you propose. After you go through the SWOT analysis, you realize, that’s a bad idea, we shouldn’t do that. Your written report, you can include in graphics data, whatever as needed, there is no minimum or maximum length I tell you, you need to write enough so that it covers the topic, but not so much that I would get bored reading it. And that’s really all I’ll say, depending on your topic, it might be longer or shorter, but it needs to be cohesive, it needs to have everything in there. And you need to make a convincing case one way or the other for your project. Then you’ll do a live presentation, you can either record a video of yourself presenting, you can do that in zoom or any other tool that you have, or you can schedule a time to meet with me, we’ll hop on Zoom and you can present live, your presentation should run about 15 to 30 minutes plus some time for questions. And it basically goes through the same content in your written report. Again, the idea is to convince me that you have thought through your process, you have done your analysis and you really understand what you’re proposing and the good or bad. The other thing I want you to do for this final project is a small prototype. The prototype is some small self contained part of your larger presentation. So for example, if your project is to take everything on a website and move it into containers, so that you can deploy it on Kubernetes. Maybe your small prototype is to figure out how to get Docker running on DigitalOcean. So very, very small, self contained part of your project. But it shows me that you’ve actually done something a little bit hands on. I tell most people you should spend around two to four hours on the prototype, which is not an awful lot of time. It’s, you know enough time to figure out how to install Docker, maybe set up your own Docker container or something like that. That’s all I want. And then as part of your live presentation, you will show me the small prototype that you’ve been working on as well.

So, like I said, the presentation, it can be either live or pre recorded, you present on or before the Friday of dead week. If you want your err, sorry, the Friday of finals week, if you want, you’re welcome to schedule. Now my Calendly link is open, it shows stuff all the way out through December. If Monday through Friday, eight to five doesn’t work well for you, you can email me for alternative arrangements, I’m more than happy to work with that, especially if I’ve got a little bit of prior knowledge. So be thinking about your presentation. It’s about a month from now. But you can go ahead and get it on the schedule. Now if you want to make sure you reserve the time that you want.

So other than that, I think things are going really well in this class. It looks like everybody’s getting caught up and getting toward the end of the semester. As always, if you have any questions you can catch me on Discord you can find me on Tea Time, you can catch me for one on one, office hours, whatever works best for you. Otherwise, I hope everything’s going well hopefully for your project you can think about you know me making a PowerPoint or something or you know, I’ve had students for their final project not do any PowerPoints at all or they’ve done something completely different. So feel free to make your final project presentation fit with whatever your style is. I look forward to seeing it and let me know if you have any questions.

Subsections of Fall '21 Week 12