Here’s my evaluation of the Google IT Support Professional Certification course from coursera.org. This is week 3 of Course IV (my week 2), all about software services as part of your IT infrastructure.
. . .
This week we’re covering more IT infrastructure, software and platform services.
Software services are the tools people use so they can do their jobs—word processors, email clients, calendars, everything.
Platform services provide developers with a platform to code, build, and manage software apps.
Depending on your role in IT, you may be tasked with managing software or platform services.
Configuring Communication Services
Software services can be found for just about any task you can imagine. Here we’ll go over some of the most common.
Communication services allow organization members to talk to each other.
Security services add a layer of security to the IT infrastructure.
User productivity services allow users to… be more… workly? (I avoided using the word in the definition. The video doesn’t provide a definition yet – just mentions that along with these services, you’ll have to manage software… Not great writing.)
Email and phone communication are important forms, but here we’re just going to cover “instant” communication. What they mean is chat or IM apps.
Internet Relay Chat or IRC, (the video calls it “Internet Channel Relay”) is a chat protocol that works on the server/client model. IRC was heavily used in the 90’s, but is used less now. It still works, and it is free.
There are more advanced chat applications, with paid enterprise-level features, like Hipchat and Slack.
Open IM protocols are widely-used in multiple applications. A popular example is XMPP, or Extensible Messaging and Presence Protocol. This is an open-source protocol used in social media applications as well as IoT.
Instant communication is a critical tool for organizations today.
Reading: Chat Communication Services
Configuring Email Services
You are guaranteed to use email in any professional setting at this point. Needless to say, this applies to IT, as well. Especially if you are a sole IT worker at your organization, it is important to know how to set up email services.
First, your company will need its own domain that can be used for email addresses.
There are two ways to setup email service.
You can setup the email service on your own managed server and create a DNS record for the mail server. (Remember, this is an MX record, for mail exchange, not an A record, which is for hostnames.) Setting up email services is one of the more complicated jobs for a sysadmin.
The other way is to use an email service provider like G suite. This allows you to setup inboxes and only pay for the number of users you have.
There are many email protocols you will potentially need to be aware of, here are some of the more common protocols:
- POP3: Post office protocol downloads mail from a server onto the client device, and then deletes it from the server. This means you can only view email from one device. This can help manage storage size, and includes a level of privacy.
- IMAP: Internet message access protocol allows you to download messages onto multiple devices, and preserve emails on the server. This is a popular mail protocol.
- SMTP: Simple Mail Transfer Protocol is really the only protocol used for sending
Organizations rely heavily on email. If you are tasked with setting up email services there are some important decisions to make. Don’t screw this up.
Reading: Email Services
Configuring User Productivity Services
IT people are going to have to be familiar with lots of software, and must consider different things when using software in a commercial setting than what the home user may have to think about.
Software licensing is a little more complex in a commercial setting. Open source software is usually explicitly free to use, and software with consumer license agreements may specify that only one person can use that software.
In a commercial setting, most software will be licensed to several users—say, 10 users—and any ten people in that company can use the software. It is extremely important to understand the terms of license agreements.
Configuring Security Services
Security is, or at least should be, to some degree, built in to all services and all aspects of your IT infrastructure and organization.
If you run a website you need to be able to assure visitors that you are keeping that interaction as secure as possible. Your site’s URL should start with “HTTPS”. This means that you are using the secure version of hypertext transfer protocol, which encrypts traffic when a connection is made. (The “S” means “secure”.)
HTTPS is often said to mean “HTTP-over-TLS” or “HTTP-over-SSL,” the difference being the method used to make that S in HTTPS work.
Transport Layer Security (TLS) is the most popular security protocol for network traffic. TLS is used to keep browsing secure, but it can do lots more.
Secure Socket Layer (SSL) protocol is a way of securing communication between servers and clients, but it is old and is being deprecated.
To make your server secure and using HTTPS you must obtain a digital certificate from a certificate authority. This certificate says that the authority trusts that you control your server, and that you are who you say you are. Once obtained, the certificate can be installed on your server which will tell visitors’ browsers that you are using HTTPS.
All your infrastructure needs to have security built in, not just web servers. We’ll learn more about this later.
Heather Managing Self Doubt
You can’t be afraid of asking people to help you learn new things. Imposter syndrome is real. Get help.
What Are File Services?
Employees need to be able to create, modify, and share files in order to do their jobs. File shares are one way of doing this, but a more “scalable” and efficient way is through file storage services.
File storage services allow you to create a central storage location with control over access between files and groups.
Another file storage solution is cloud-based file storage from another provider.
Reading: File Services
Some good ole file services readin’.
Network File Storage
Most filesystems cannot be used across most operating systems. While FAT32 is a filesystem that is compatible with Windows, Linux, and MacOS, it has some serious limitations.
Network File System (NFS) allows files to be shared easily over a network, and is compatible over all major operating systems.
The easiest setup of NFS is by using a Linux environment, and installing NFS server software and modify the configuration to allow access to your specified directories. That service will run in the background of the server, and clients will then be able to mount the filesystem just like any other filesystem, using a hostname instead of the name of a disk.
NFS does work with all major operating systems, but it can have performance issues when running on Windows machines. (Surprise.)
If your fleet is mostly Windows machines you may want to consider using another similar service, like Samba, another broadly-compatible file sharing service.
You may hear Samba and SMB used together. SMB is the protocol that Samba implements.
Another great solution is to use a network attached storage device, or NAS. This is a computer that is built just for file storage, with a “stripped-down” OS suited only for serving files over a network.
Reading: Network File Storage
Configuring Print Services
The printer—everyone’s favorite device! Though more and more functions move into the cloud every day, somethings will always need to be printed out.
Small offices may be able to have their printers configured much like a home printer would be. But Large organizations need to manage many printers connected to many users, handling a lot of data.
The key to this level of printer management is a central print server that can manage all printers and connections to users.
Most server operating systems come with print server software, it is usually just a matter of setting it up. In Windows Server, just enable the Print and Document Services on the server, and the printer to the services and install the printer drivers.
Linux server distros usually include Common UNIX Printing System (CUPS). CUPS allows printer management from a simple web portal.
There are, of course, cloud-based print services. These services allow you to setup and manage printers through a browser, and allows users the ability to print through a browser with no setup needed on their machines.
Reading: Print Services
Web Servers Revisited
Platform services allow developers to work without having to worry about hardware, software, or network maintenance. Platform services could be either a web server that hosts a web app or a development environment used to code software.
Most companies have a digital presence, and if you have a website that site is stored on a web server.
A web server stores and serves content to clients over the internet. A web server stores files and runs an HTTP service that processes requests and sends files. The most popular HTTP server software is the Apache HTTP server software, known simply as Apache.
Here’s how easy it is to install Apache on your Linux machine:
lenny@snpp-workstation:~$ sudo apt-get install apache2 -y
You can actually start hosting web content now! You can enter “localhost” in your browser and it will bring you to a default Apache page, hosted right there on your computer. If you wanted to set this content up for the world to see, you would need to configure DNS to point a domain name to your IP address.
That is a nice little rundown of how a web server works, kind of…
Reading: Web Servers
Compare nginx, Apache HTTP and Microsoft IIS.
What is a Database Server?
All the information that you enter into a website is stored in a database. A database is used to store large quantities of data, where it can be managed, queried, and filtered.
A database server is running software that allows you to read from and write to the database. Common systems for web development and applications are MySQL, and PostgreSQL.
These systems use specialized syntax formulations which allow sophisticated parsing of information. The people who do this all day are called database administrators.
Reading: Database Admin Jobs
Troubleshooting Platform Services
Is the Website Down?
There is an easy way to help diagnose problems with websites called HTTP status codes, which indicate some error when attempting to retrieve resource from the web.
When you type in a URL, your browser sends an HTTP request, which should be answered by an HTTP response.
The most common, is, of course:
404 Not Found: indicating that the URL does not point to anything.
Modern browsers have developer tools (found in the menu somewhere, depending on which browser you’re using) which let you view the HTTP response itself. Using the Chrome developer tools, go to the Network tab and look for the request you made that generated the error, then check the response for the error code you received.
HTTP status codes starting with 4xx indicate an error on the client-side. Other common codes start with 5xx, indicating an error on the server-side. A status code starting with 2xx indicate that a request was successful.
Also, if you get a code you want to understand, try looking it up. Hmmmmm… interesting advice.
Reading: Troubleshooting with Developer Tools
I just got 100% on both the quizzes, so I’m going to go sit on the porch. See you all back here next week when we get into directory services. Yowza.
Homer's Odyssey | Translated by Norbert A.D. Albertson | Paperback
The Hapless Rube's Apocalypse Survival Guide | by Jack Barker
Insane Clown President: Dispatches from the 2016 Circus | by Matt Taibbi
Vacationland: True Stories from Painful Beaches | by John Hodgman
Chain of Title: How Three Ordinary Americans Uncovered Wall Street’s Great Foreclosure Fraud | by David Dayen