Automating Google Cloud Platform Snapshots with PowerShell

As part of a project I am working on, I needed a way to automate disk snapshot creation and retention on Google Cloud Platform.  I found several good examples of how to do this in BASH scripts etc.  However, I was unable to find anything in native PowerShell that I liked.  So, I wrote some scripts and decided to publish them here and on GitHub in the hope of helping someone else.

  • create-snaps.ps1 automates snapshot creation.
  • remove-snaps.ps1 automates snapshot cleanup based on the age of the snapshot.

Obviously, you will need to schedule these to run at some interval.  I’ve used Windows task scheduler for that purpose, and it seems to work great.

Obvious Warning: Please use these scripts at your own risk. I accept no responsibility for your use of them. However, if you run into any issues please let me know so I can work to improve them.

create-snaps.ps1

# Set the path and file name for PowerShell transcripts (logs) to be written to.
$LogPath = "c:\logs\powershell\snaps\"
$LogFile = Get-Date -Format FileDateTimeUniversal
$TranscriptFileName = $LogPath + $LogFile +".txt"

# Start the transcript.
Start-Transcript -Path $TranscriptFileName

#Set the GCP project.
$Project = "put-your-gcp-project-here-12345"

#Set the zone(s) where the disks are that you would like to take snapshots of.
$Zones = "us-east1-d", "us-central1-c"

#Record the date that the snapshots started.
$StartTime = Get-Date

#Go snapshot all of the disks in the zones identified above.
foreach ($Zone in $Zones) {
$DisksInZone = Get-GceDisk -Project $Project -zone $Zone | foreach { $_.Name }

foreach ($Disk in $DisksInZone) {
Write-Host "=========================================="
Write-Host "$Zone "-" $Disk"
Write-Host "=========================================="
Add-GceSnapshot -project $Project -zone $Zone $Disk #In the future we could clean this output up a bit.
}
}

#Record the date that the snapshots ended.
$EndTime = Get-Date

#Print out the start and end times.
Write-Host "=========================================="
Write-Host "Started at:" $StartTime
Write-Host "Ended at:" $EndTime
Write-Host "=========================================="

#Stope the transcript.
Stop-Transcript

#Send the PowerShell transcript (log) by email. You can delete this entire section if you don't want log copies delivered by email.
#Google Cloud Platform blocks direct outbound mail on port 25. Reference: https://cloud.google.com/compute/docs/tutorials/sending-mail/

#Mail Server Settings
$smtpServer = "mail.yourdomainname.com"
$smtpPort = "2525" #Don't put 25 here it will not work. See link above.

$att = new-object Net.Mail.Attachment($TranscriptFileName)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer, $smtpPort)

# Set the email from / to / subject / body / etc here:
$msg.From = "gcpsnapshots@yourdomainname.com"
$msg.To.Add("you@yourdomainname.com")
$msg.Subject = "GCP Snapshot Report"
$msg.Body = "Please see the attached PowerShell transcript."

# Attach the log and ship it.
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()

remove-snaps.ps1

# Set the path and file name for PowerShell transcripts (logs) to be written to.
$LogPath = "c:\logs\powershell\snaps\"
$LogFile = Get-Date -Format FileDateTimeUniversal
$TranscriptFileName = $LogPath + $LogFile +".txt"

# Start the transcript.
Start-Transcript -Path $TranscriptFileName

#Set the project.
$Project = "put-your-gcp-project-here-12345"

#Record the date / time that the snapshot cleanup started.
$StartTime = Get-Date

#Choose what snaps to remove. Essentially, the script takes the current date / time subtracts 30 days and sets a variable ($deletable). Is delatable even a word? Anyway... Any snaps older than that variable get removed. Obviously, you could tweak this number of days to fit your needs.
$deleteable = (Get-Date).AddDays(-30)

#Log what date and time we set $deleteable to.
Write-Host "Deleting snapshots older than:" $deleteable

#Delete the actual snaps.
$snapshots = Get-GceSnapshot
foreach ($snapshot in $snapshots) {
$snapshotdate = get-date $snapshot.CreationTimestamp
if ($snapshotdate -lt $deleteable) {
Write-Host Removing snapshot: $snapshot.Name
Remove-GceSnapshot $snapshot.Name
}
}

#Record the date / time that the snapshot cleanup ended.
$EndTime = Get-Date

#Print out the start and end times.
Write-Host "=========================================="
Write-Host "Started at:" $StartTime
Write-Host "Ended at:" $EndTime
Write-Host "=========================================="

#Stope the transcript.
Stop-Transcript

#Send the PowerShell transcript (log) by email. You can delete this entire section if you don't want log copies delivered by email.
#Google Cloud Platform blocks direct outbound mail on port 25. Reference: https://cloud.google.com/compute/docs/tutorials/sending-mail/

#Mail Server Settings
$smtpServer = "mail.yourdomainname.com"
$smtpPort = "2525" #Don't put 25 here - it will not work. See link above.

$att = new-object Net.Mail.Attachment($TranscriptFileName)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer, $smtpPort)

# Set the email from / to / subject / body / etc here:
$msg.From = "gcpsnapshots@yourdomainname.com"
$msg.To.Add("you@yourdomainname.com")
$msg.Subject = "GCP Snapshot Cleanup Report"
$msg.Body = "Please see the attached PowerShell transcript."

# Attach the log and ship it.
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()
<pre>

The infinite value of awesome interactions.

The last few days, I had an interaction with a company that really impressed me.

Backstory:
I was looking for a couple of basic managed network switches for a small project.  Essentially, I wanted basic enterprise switch functionality on a shoe string budget.  I emailed a friend (Jason B.) who does a lot more Cisco work than I do and he suggested I take a look at the Cisco 3750E series.  He event sent me the link below:
https://www.cablesandkits.com/cisco-3750e-series-24-port-switch-wsc3750e24tds-p-8042.html

I took a quick look and this switch seemed appropriate.  I was about to go out of town, so I moved on to other things without placing the order. I figured I’d order them when I got back in town.

Curious:
For the next few days I started seeing ads for this exact switch on what seemed like everywhere I went online.  I run a couple of ab blockers so I only see ads on pages that have convinced me to turn them off or in applications where my ad blockers are not effective.  However, suddenly that little Cisco 3750E seemed like it was chasing me all over the internet.  Open Skype – boom – Cables and Kits Cisco 3750E ad.  Open a web page where my ad blockers were off – boom – more ads just like the one below.

I understand at a technical level exactly how this works.  However, I don’t think I have ever been so well targeted all the way down to the specific product level in my life.  These were not generic Cables and Kits ads, or ads for generic Cisco gear – these were ads reminding me to go buy the exact switch I had looked at.  To make this even more impressive – this is not a new switch – they don’t have thousands of these – when I first looked, they had three in stock.

Snark:
After a few days of this, I was feeling a bit snarky.  So, I tweeted this:

We had some good back and forth, and @cablesandkits mentioned they would be sending me a small gift.  I figured I’d get a sticker etc.  Yawn.

Wow:
So, I go away on my trip and essentially forget about all of this.  Then I come home one day and there are two boxes from Cables and Kits waiting for me.  They actually sent me the switch, a bunch of great Cables and Kits swag and a handwritten note personally signed by 15+ team members!  How awesome is that!  I was totally blown away.

Impressive:
The Cables and Kits Digital Marketing folks are doing an awesome job.  I’m a busy guy. Most of us who work in I.T. are.  It’s very hard for a sales / marketing message to pop out above the noise. Cables and Kits took one short visit to their site and transformed it into an experience that really got my attention.  It’s a bit ironic that awesome ad targeting led to what was ultimately a very human interaction. The Cables and Kits folks did a great job with both methods of interaction.

Takeaways:

  • More than anything else, your reputation matters.  Without my friend having previously had positive interactions with Cables and Kits, he would have never sent me that link in the first place.  If Jason B. said this switch was a good fit for my needs, and that Cables and Kits was a good place to get it, that was good enough for me.
  • Each interaction with a client, or potential client matters.  Cables and Kits took the tiny bit of data they got when I clicked that link, and they used it diligently.  When they had the opportunity to have a deeper interaction through Twitter, they were paying attention and took advantage of it.  They then chose to ramp things up and interact on a more personal level.
  • A culture where you can do cool / non-standard stuff matters.  Over the years, I’ve bought and recommended literally tons of Dell gear.  If my poor Dell rep wanted to send me a hat and a mouse pad, I seriously don’t think he could get it done.  Cables and Kits must have a corporate culture that empowers and encourages people to do this sort of thing.
  • The impact of interactions like this are real, and measurable.  Do you think I’ll buy from Cables and Kits in the future?  Do you think I’ll recommend Cables and Kits to my clients and friends?  Absolutely!

Hats off to the fine folks at Cables and Kits, for the switch, the swag, and the reminder of the infinite value of awesome interactions.

If your backup systems fail silently, would you notice?

Backup Computer Key

Me: <while working on something else with a client> “So – how have your backups been doing recently?”
Client: “Umm…good…I think…?” insert <shy look> and <crickets chirping – loudly>

I cut my teeth in I.T. (as many of us did) on Backup Exec and tape drives.  Ugh – right?  Back in the day, it was common for clients to need to swap tapes each day.  Back in those days, I would often show clients how to check the status of the previous nights backup jobs when they swapped the tapes.  That process gave folks a physical cue to check the backup status and make sure that the tape they were taking offsite actually had good verified data on it.

Fast forward to now.  Many modern backup systems are highly automated.  Many of them require no physical attention at all because they write data to disk based storage that then gets automatically replicated offsite.  Many of them leverage email based reporting.  So, the old physical cue to check the backup status when you change the tape is simply gone. Don’t get me wrong.  Newer backups that leverage virtualization with technology like VMware CBT (Changed Block Tracking) and deduplication are dramatically better than the old tape based solutions.  However, they introduce a new challenge.  They are so good and so highly automated that they are easy for a busy I.T. pro to forget about.

What happens by default in many cases is that the person(s) who monitors the backup systems gets emails from the backup systems letting them know how the backup jobs are working.  Many organizations have multiple backup jobs configured that run at different times of the day.  These email based logs can get rather noisy and potentially confusing. So, what do some folks do?  Well, they create an email rule to move all those noisy backup alerts into a folder…which they check…sometimes. Hear the crickets again?

If the backup system fails, often the emails simply stop.  The system fails – silently.  In the worst case scenario, someone finds out that their backup solution failed silently and they don’t have recent backups just when they need to do a restore.  Yikes.  Now we are in potentially RGE (Resume Generating Event) territory for that person, and real potential trouble for the business they work for.

Before I go further, let me say that a lot of people do a great job monitoring their backup systems.  However, we are all human and we all make mistakes and occasionally miss things.  The goal of this post is not to give you hard working I.T. pros a hard time, but to help better protect you and the business you work for from the very real and very painful damage a data loss event can cause.

With that in mind, here are several potential solutions to this problem.

Low tech: Make a checklist, or do something that forces you to manually check the status of each of your backups each day. Yep – that’s right.  The I.T. guy just suggested a check list.  I’m even good with you filling it out on paper.  It is low tech – but it works.  Do something that changes your behavior and forces you to check your backups – all of your backups – each day.  That way when you go to do a restore, you can be confident your backup jobs have been running as planned.

A paper based check list does not seem like an awesome solution.  So, here is a potentially better way.  I’ve implemented this recently, and so far I am very happy with it.

High tech: Let your monitoring system keep track of your backup logs!  Recently, I found a great component (sensor really) in my favorite monitoring software package.  That monitoring software package is PRTG from Paessler.  I use this tool to monitor my own infrastructure, as well as infrastructure in several client environments.  PRTG is absolutely fantastic. I can’t say enough good things about it.  If you are not using it, I’d strongly suggest you check it out.  They have a free trial that you can get from here.

PRTG has an IMAP sensor, that you can configure to connect to an email account (over IMAP) so that it can essentially read your backup systems email reports for you, and alarm actively when something is not working correctly.  The PRTG folks have a great write-up on the entire config process here: http://www.paessler.com/manuals/prtg/monitoring_backups.

So, if you implement PRTG and properly configure this monitoring, PRTG will actively alert you if a backup system fails silently.  This alert will hopefully cause you to investigate and resolve the problem quickly.

Obviously, it is critical to properly configure this monitoring.  You need to be crystal clear on what you are monitoring for.  If you configure PRTG incorrectly, it could give you a false sense of security and make you think things are working well when in fact they are not.  So, if you decide to implement this solution I would suggest that you configure it first, then test it thoroughly to make sure that it properly alarms when a backup fails.  You can simulate this in a variety of ways.

If you need help implementing this, give me a call.  I do consulting for a living, and I’d be happy to help you implement this solution.  If you are an existing client and your environment is too small to justify a dedicated PRTG install, let me know.  If we discuss it and it is appropriate, I’ll work with you to potentially use my PRTG implementation to monitor your backups for you.

A review of my experience earning my B.S. in Business Management from Western Governors University (WGU)

WGU

Background:
For most of my life, I have gone through what I can only describe as “seasons of interest” in a variety of topics.  My parents, my brother and my wife can actually list many of these seasons if you ask them.  It is just part of who I am.  Periodically, I’ll get very interested in a particular topic.  I’ll stay interested for a period of time ranging from a few months to a few years.  While I am focused on this topic, I tend to learn all I can about it.  After I have learned all I’m interested in learning about a topic, I tend to move on to a new one.   This has served me well in my Information Technology (I.T.) career because in I.T.  technology is constantly changing, and you need to enjoy learning just to keep up.

In the spring of 2012, the idea of going back to college and earning a degree started to interest me.   Sixteen years earlier, I made the decision to quit college to focus all of my time on a web hosting company I had started back in the early days of the internet with a friend.  That ultimately transitioned into a great career in I.T. and I simply never made it back to school.   I don’t regret this one bit.

Choosing a University:
Thankfully, by the spring of 2012 when I began to think seriously about going back to school to earn a degree, there were a tremendous number of non-traditional options for college available.  I investigated a lot of the offerings that were available at the time.  What I quickly learned was that there were a lot of online degree programs that were far less than ideal.  Honestly, some of them border on being outright scams.

Many online schools are not regionally accredited.  Unaccredited schools might indeed offer a great education, however some organizations will not recognize a degree from these institutions as being valid.  So, attending a regionally accredited school quickly became a top priority for me.  After all, if I was going to put in the effort, I wanted a degree that was backed by the credibility of it being earned from a regionally accredited university.  Once I crossed all of the unaccredited schools off of my list, I began to focus on other two other key factors.

Key factor #1 for me was looking for a program that would truly be self-paced.   Since I own and run a business, I have periods of time where I work 60+ hour work weeks and I simply don’t have much time for anything else.  Other times, I might have a slower week, where I would be able to dedicate a larger than normal portion of my time to school work.  So, finding a truly self-paced program was key for me.

Factor #2 for me was cost.  Somehow in this crazy world we live in, we as a society have accepted the idea that borrowing an enormous amount of money to go to college is simply normal and ok.  I suppose if you earn a degree that leads to a tremendous salary the math might work out doing this.  However, if you go to a high priced school and accrue tens of thousands of dollars in student loan debt, and come out earning a very small amount of money, your future is going to be financially difficult.  As a small business person, I know that cost matters.  So, while cost was not my primary consideration, it certainly was a key consideration.  Ultimately, I wanted to try to go to a college that I could pay for out of pocket as I went.  After all, I was going to be a Business Management major.  A good business person should always be looking for a good value – right?

I will not get into all of the details of my search, but I will say that it quickly became clear that Western Governors University (WGU) was the perfect fit for my education needs.  They are fully accredited, fully self-paced and very affordable.

In addition to being accredited, self-paced, and affordable WGU uses a “competency-based model”.   This model seeks to measure your competency in an area, rather than a more traditional model that measures how much time you spent learning about a topic.

Here is a simple example of this.  If you as a WGU student have a math class you need to take, and you can prove you are competent in the subject material covered by the class by passing a proctored exam, or producing a work product of some kind (paper / presentation / spreadsheet etc) WGU will let you take the exam or produce the work product, pass that class, and move on.  WGU could not care less if it takes you three hours, or three months to learn the material.  They are measuring your competence, not how long it took you to become competent.

This competency based model sealed the deal for me.  I am a very goal oriented and task focused person.  I like being told what the goal is, then being turned loose to accomplish it.  So, the WGU model was a perfect fit for me.

Enrollment:
In very early May of 2012 I called in and spoke to a WGU Enrollment Counselor by the name of Michael.  Over the next few weeks Michael helped me through the WGU application and acceptance process.   WGU starts a new term at the beginning of each calendar month.  Terms are six months long.  I was targeting a June 1st start date.  I admit, once I get interested in something, I can be a bit impatient.  I took and passed an entrance exam which focused heavily on math and writing.  I also got my high school and college transcripts sent directly to WGU, and I completed a few other tasks to keep the process moving along.  In the end, I had only one college class that transferred.

I opted to work towards a B.S. in Business Management.  While I did consider several of the I.T. majors which would have leveraged my I.T. knowledge, I was more interested in filling out my business experience with some formal business education.  After a couple of weeks I was accepted and approved to start on June 1st.  Michael was a huge help, and I am very thankful for all of his help.

Getting started as a WGU student:
Michael soon passed me off to my “Student Mentor” named Nick.  At the time, I did not understand how valuable Nick’s help was going to be to me.  WGU uses a mentoring model where every student has a “Student Mentor”, and every class has one or more “Course Mentors”.   After experiencing it first hand, I can say with confidence that this is a great model.

The Student Mentor essentially serves as a single point of contact with the university.  Whenever I had any sort of issue related to my WGU education that I could not figure out how to deal with on my own, I would simply get in touch with Nick and he would get me pointed in the right direction.

Nick and I setup a weekly call schedule.  Even though our calls were short (probably never more than 15 minutes) they proved to be invaluable.   During each call Nick and I would talk about where I stood and what I needed to focus on next.  He optimized my time by making sure I took courses in the most efficient order.  When I was busy with work and unable to dedicate much time to school, my weekly calls with Nick served as a reminder to keep my WGU work a priority.  I credit Nick with keeping me on track and out of trouble while I was a WGU student.

As I mentioned earlier, each course has one or more Course Mentors who are essentially subject matter experts in the area covered by the particular course.  I honestly only reached out to a course mentor for “live” help two times.  Once, this was in an online live webinar, and the other time was an individual appointment.  However, I made extensive use of the material that the course mentors published in the WGU Communities (private WGU student forums).  Many times these materials would include videos or guides to focus your learning.  These resources were invaluable.   If you are a self-motivated person who learns well on your own, WGU provides all of the materials you will need.

WGU suggests that students spend 15 – 20 hours per week on school work.  This seems like a great general guideline, but because of my work situation the reality for me was that some weeks I spent 40+ hours on school, and at other times I went several weeks having spent nearly no time on school at all.  While my guess is this is not at all typical, because WGU is truly self-paced, this worked out ok for me.

Expectations:
Before I started at WGU, Holly (my wife) and I had prepared ourselves for several years where our family time would be limited.  Let’s face it, that 15-20 hours per week has to come from somewhere.  My expectation was that I would complete the WGU B.S. in Business Management in about four years.  The average WGU student completes a WGU degree in about two years.  However, that average student might have considerable transfer credit from previous college courses or might have just been laid off and have unlimited time to focus on school.  So, I expected that in my case it was going to take me longer than normal.  Thankfully, I was wrong.

Getting the work done:
One of the first calls Nick (my Student Mentor) and I had was a call to determine what classes I was going to take during my first term.  Maintaining satisfactory academic progress is very important at WGU.  I honestly did not understand all of this at first.  Nick really helped keep me on track, and out of trouble in this area.  So, Nick helped me pick the first few classes that I would commit to take during my first term.  Once those were chosen they became active, and I started to work.

One of the things I learned to love about the WGU experience is the “My Degree Plan” tab in the WGU student portal.  That tab shows every class you need to take and pass in order to earn your degree.  For me, this just became a massive to-do list.  I LOVE to-do lists.

Essentially WGU classes measure competency in one of two ways.  This is done either by “objective assessments” (think: proctored exam) or a “performance assessments“(think: writing papers / creating presentations / producing videos etc).

Classes that have objective assessments also have a pre-assessment (think: practice test) that lets WGU know if you are ready to take the real assessment or not.  If you pass the pre-assessment with a score 10 points higher than the cut score for the real assessment, WGU will let you take the assessment, prove you are competent in the subject matter and move on.  So, at Nick’s suggestion I started taking pre-assessments like crazy to see where I stood on many of these courses.  It turns out, that over the years I had learned a lot about many of these topics while working in the business world.  I actually passed all of the pre-assessments the first time I took them.  Unfortunately, I did not pass all of them with high enough scores to take the real assessments.  So, I quickly settled in and began focusing on attacking these objective assessments.  In my view, these were the “low hanging fruit”.

Often, I would study a topic well enough to pass the pre-assessment with a high enough score to take the exam, and then I would ask Nick to approve me taking the exam.  He always did this quickly.  For the first couple of months I was knocking out objective assessments left and right.  The objective assessments are given using an online test delivery tool, and proctored electronically by a person who watches you through a special web cam that WGU provides to prevent cheating.  Having someone watch you VIA a webcam is a bit strange at first.  However, it is worth the convenience of being able to take these tests from home rather than going to a testing center.

Early on, as I made progress with the objective assessments, it started to become clear that this was not going to take me four full years.

While Nick heartily approved my taking and passing objective assessments he also encouraged me to get to work on some of the classes with performance assessments.  No matter how well you know a subject these performance assessments take time.   So, I started working on classes with performance assessments as well.  I have always preferred taking tests to writing papers.  It is not that I mind writing; it is that it simply takes me longer.

For many classes with performance assessments you must complete multiple tasks.  WGU uses a system called taskstream.com.  Essentially, you complete the tasks that are specified and upload them to TaskStream where they are graded based on a rubric and sent back.  I had a love / hate relationship with TaskStream.  While, I can’t think of any better way to do it that would scale, the process can be a bit irritating.  Essentially the graders are looking for lots of specific items in your work.  If your work has all of those items covered well, your work will pass.  If you don’t correctly cover even one item on the rubric, your paper will be sent back for a revision.

In my case, I believe that roughly half of my work passed the first time, and the other half came back for what were usually minor revisions.  This annoyed me a bit at first, but I decided to channel that annoyance.  Each time a task came back for revision, I would revise it and resubmit it as quickly as possible.  I know there were multiple times that I had revisions uploaded within one hour of the paper coming back.  In my head I figured I was “sticking it to the man” by doing this.  This is probably not a valid thought at all, but it helped me channel my aggression which was useful.

Capstone Project:
After I completed all of the other classes, I began work on my Capstone project.  As a business management major this is essentially a fully fleshed out business plan for a startup company.  I really enjoyed doing this, and it was a perfect project to pull together and demonstrate all that I had learned.  I probably invested about 30 – 40 hours total in this project.  Thankfully, it passed with no revisions with a 3.9 the first time I submitted it.

Summary:

  • In the end, it took me just under ten months to complete all of the work required to earn my B.S. in Business Management from WGU.
  • My total cost was $6,135 ($65 application fee + $3,035.00 per term for two terms)
  • The value I got from this experience has been absolutely exceptional.  If you are an adult considering going back to college to earn your degree, I would strongly urge you to consider WGU.

Resources:
Here are some specific resources I would suggest that you review if you are interested in doing this.

What’s next for me?
For many people earning a degree would qualify them for a better job.  In my case, it really does not.  I love the work that I do, and I am well compensated for it.  As I mentioned early on I tend to go through “seasons of interest”.  A few of those topics over the years have “stuck”.  By stuck, I mean that I have maintained an interest in the topic long term.

One of those areas of interest that stuck a long time ago is I.T. security.  WGU happens to have a M.S. in Information Security and Assurance.  I already have a fair amount of background in this area, but the WGU masters program will certainly offer me the chance to learn even more.  So, on June 1st, 2013 I start all over again with WGU as a student in the Information Security and Assurance program.

–W. David Winslow

SANS GIAC Certified Penetration Tester (GPEN)

GPEN.jpg.scaled1000

Recently, I took a great training program from SANS to sharpen my existing I.T. security skills.  This class specifically dealt with performing network penetration tests.  As of yesterday, I have taken and passed the GPEN certification exam.  So, now I am officially a SANS GIAC Certified Penetration Tester (GPEN).  Most of you in the I.T. community are probably familiar with SANS, and possibly familiar with this certification.

For those of you who are not, here is what this is all about in short.  Most organizations have computer networks that contain sensitive information.  One of the best ways to test the security of those networks is to perform a penetration test.

If you are an I.T. pro considering some I.T. security training, I would strongly recommend SANS.  I have taken a lot of I.T. training, and gathered a lot of I.T. certifications in the past (MCP, MCSE, MCSE+I, MCT, RHCE, etc) and I can say with conviction that this is easily one of the best training programs I have ever taken.  Here are a few reasons why.

  • I took this course via the SANS VLive format.  It was perfect for me.  I was able to take these classes in the evenings, which worked great for my schedule.  The class happens live, and you can interact with the instructors and other students via a shared chat session. The live interactions made the class much more engaging than your normal (painfully boring) web based training.  However, if you did need to miss one of the sessions, you could watch the recorded version later.  SANS has this delivery format nailed.
  • The instructors (especially Ed Skoudis and John Strand ) are world class subject matter experts.  Learning from these guys was simply great!
  • The course content was packed with high value, relevant information which was delivered efficiently.

I would like to thank all of the great folks at SANS who helped to provide such a high quality program!  I enjoyed it very much, and I am confident that I will be able to apply the information to benefit my clients in the future.  Thanks again!