AWS training at CI in the Fall 2020

For questions please contact: jeff.ziskin@csuci.edu (805-437-2653). To register for an information session, or to register for the classes:

https://ext.csuci.edu/programs/professional-community-ed/aws

These classes are open to the public, and they are given in partnership with the AWS Academy.

  1. Cloud Foundations: online from August 24 to October 5:
  2. Cloud Architecting: online from October 19 to December 14:

We are following exactly the AWS curriculum, and students will be provided AWS Educate cloud accounts with credits for the duration of the classes, as well as vouchers for writing the corresponding certification exams.

New paper on setting up WordPress in the AWS cloud

This new paper was just posted as a technical report at Cornell’s arXiv (https://arxiv.org/abs/2007.01823), but it will be submitted for publication in the future. PDF of the paper.

From the abstract: Every organization needs to communicate with its audience, and social media is an attractive and inexpensive way to maintain dialogic communication. About 1/3 of the Internet web pages are powered by WordPress, and about a million companies have moved their IT infrastructure to the AWS cloud. Together, AWS and WordPress offer an attractive, effective and inexpensive way for companies, both large and small, to maintain their presence on the web.

This paper starts from the following premise:

you have been hired by a company with a small Communication budget, but ambitious plans. You have been tasked with setting up an effective web presence; in this role you have to combine both your CS/IT skills, as well as your Communication savvy. The decision has been made to deploy the web page as WordPress hosted on Amazon Web Services (AWS), integrated with social media, as well as robust Analytics to measure the effectiveness of your communication campaigns.

From introduction to WordPress on AWS: a Communication Framework

This paper is a third paper in a sequence on cloudification with AWS; the first one, Cloudifying the Curriculum with AWS, can be found here: https://arxiv.org/abs/2002.04020, and it was mentioned in this blog post, the second here: https://arxiv.org/abs/2003.12905, and it was mentioned in this blog post.

A Head in the Cloud – Channel Magazine

While we know Amazon as the world’s online marketplace, millions of international companies know it for its cloud computing services. They use Amazon Web Services (AWS) to store and access data over the internet, allowing us to easily stream our favorite shows, store files and shop online. As more and more companies turn to AWS for technology needs, computer science students will need to quickly learn how to use the platform so they can market themselves post-graduation.

Source: A Head in the Cloud – Channel Magazine – CSU Channel Islands

AWS Developer certification – Associate level

The Developer certification exam is interesting, in that it covers in detail the AWS best practices for CI/CD, Continuous Integration / Continuous Delivery and Deployment, which is very nicely covered in the following white paper: Practicing Continuous Integration and Continuous Delivery on AWS, with the subtitle: Accelerating Software Delivery with DevOps. (I am referencing the June 2017 version of this white paper.) This document is well written, of especial interest to Software Engineers. While Development is the principal component of this certification (30%), there are altogether five domains:

  1. Deployment (22%)
  2. Security (26%)
  3. Development with AWS Services (30%)
  4. Refactoring (10%)
  5. Monitoring and Troubleshooting (12%)

Some of these domains overlap with other certifications. For instance, the 2nd domain, Security, is covered in detail in the Security Specialty exam, which I passed in December 2019 (and described in this post from Dec 3, 2019), and all the domains refer to the knowledge contained in the Solutions Architect certification (which I passed in the spring of 2019; see this post). However, I had to acquire a lot of new knowledge. For instance, the certification assumes advanced knowledge of some programming language, and since the Python3 SDK is one of the best developed AWS SDKs, I studied to become familiar with boto3, the AWS SDK for Python3; see here.

Of course reading manuals to understand boto3 is boring; I suggest to find a project that you always wanted to implement, and work on that. The excitement of building an application helps with the learning of a new tool. I worked, topically, on a pandemic simulator and an url shortener (which I called Tout Court) as I always wanted to have my own bit.ly application.

In order to develop both applications, I used a set of AWS tools that are covered in depth in the Deployment and Development domains: Cloud9 for writing the code (I was happy to find out that Cloud9 has a “Vi Editor” mode), I used GitHub instead of CodeCommit, but GitHub can be integrated into the AWS development environment, CodeDeploy in order to automate the deployment of the applications, and CodePipeline to bind it all together. X-Ray is an important tool for the exam, and helps to isolate “bottle-necks” in your application.

Refactoring is an interesting concept. It means to re-architect or re-imagine an existing solution but leveraging cloud-native capabilities. I learned quite a bit about it from Ahead in the Cloud: Best practices for navigating the future of enterprise IT, by Stephen Orban from AWS.

As AWS certification requires a significant investment of time (for me at least), it is important to understand why one does it. In my case, as a Computer Scientist, I believe it is important to systematically acquire new knowledge, as ours is a fast developing field. I also find the AWS curriculum very well designed, interesting, in-depth, and I have become fascinated by the new paradigm of Cloud Computing. Finally, the most important reason for me is to be able to bring this expertise back to campus, and share with students, and given them an edge in the job market upon graduation.

Working from home may be new normal

SETTLING IN—According to a 2020 Gallup poll, the percentage of Americans working remotely doubled, from 31% in mid-March to 62% by April.

Every weekday, Ricky Kreitman rolls out of bed and heads to his garage office with his morning yogurt to start the workday.

It’s been his daily routine since the stay-at-home orders were announced in March. The television producer and editor said his company had just finished filming a show before the shutdown, so he’s been able to edit it from his home office.

“(I’m) enjoying working at home,” the Thousand Oaks resident said. “Grateful for the distraction of work and glad to not be commuting.”

According to a 2020 Gallup poll, the percentage of Americans working remotely doubled, from 31% in mid-March to 62% by April.

Michael Soltys, chair of the computer science department at CSU Channel Islands, thinks telecommuting is here to stay.

“COVID-19 has accelerated a trend that was already there,” said Soltys, who specializes in cloud computing and algorithms and has spent the last 19 years teaching computer science. “People have been moving to remote work for at least a decade.”

Clare Briglio, communications and business disruption resources director at the Camarillo-based Economic Development Collaborative, has already seen this shift in the businesses owners the nonprofit advises.

Government contractors, fieldbased contractors and medical providers are just a few types of businesses that have started using cloud-based services like Microsoft Teams, Zoom, Slack and WhatsApp since the pandemic began. Briglio said she expects the trend to continue.

“They have figured out how to use technology to accommodate their need,” she said.

With so many workers trying their hand at a work-from-home lifestyle, some are finding they like it more than going to the office.

Tejas Sachdeva, a computer science student at CSU Channel Islands, said he’s been more productive since his job at the university’s career services department became remote in March.

Source: Working from home may be new normal | Camarillo Acorn

AWS Cloud Architecting class, online and open to the public – we offer 10 full scholarships

I would like to let you know about an opportunity on our campus – open to the public. From June 1 to July 20, I will be teaching online an advanced AWS Cloud Architecting class. It is of interest to any business considering to move IT operations (fully or partially) to the cloud.

This class is taught in partnership with AWS Academy, and students will have access to AWS resources, labs, materials and will be ready at the end to take the AWS Solutions Architect certification.

More information about the class can be found here:
https://prof.msoltys.com/?p=5203

10 scholarships available

CSUCI, in response to the COVID 19 crisis, has generously offered 10 full scholarships for this class, and for everyone else lowered the cost to $1,100. Everyone is welcome to apply for the scholarships – the application is short and available at this link:

https://ext.csuci.edu/programs/professional-community-ed/aws

Please do not hesitate to contact me or Jeff Ziskin <jeff.ziskin@csuci.edu> if you have any questions.

Some data points about the Cloud

The following is why we at CSUCI have invested heavily in offering Cloud expertise:

Some media statements on working from home and the cloud

Here is an excerpt from the VCReporter on HEALTHCARE 2.0 | DOCTOR-PATIENT INTERACTIONS GO HIGH TECH DURING THE PANDEMIC — AND JUST MAY STAY THAT WAY

“A MASSIVE SHIFT”

Experts say the rapid technological changes happening in medicine due to the pandemic also have profound implications for other types of businesses, government agencies, schools and religious institutions.

CSUCI computer science professor Michael Soltys says organizations of all kinds have been adapting quickly to new technologies like Internet-based meeting programs.

Michael Soltys. Photo courtesy of CSU Channel Islands

“Everybody’s on Zoom and working from home if they can,” said Soltys “It’s a massive shift.”

He also says some people are finding benefits from taking care of business at home.

“Of course there’s the joke about sitting in your pajamas at a meeting comfortably in your home with a cup of coffee, but you do save time on commuting. Meetings online tend to be more targeted and condensed and better scripted. They’re often recorded so people are better prepared. They’re not just hanging out in a meeting room killing time,” said Soltys. “People are going to become accustomed to those benefits and will want to have them.”


I recently (April 12, 2020) spoke with KCLU on COVID 19 and the Cloud.

Teaching online: ten suggestions for success

https://aws.amazon.com/education/education-webinars/

On April 7, 2020, I gave a talk during an AWS Webinar in a series on Remote Learning (as advertised in this post, mentioned here, and here).

The webinar can now be watched on YouTube:


(or here on the original page), and the slides that I used for the presentation are the following:

Michael-Soltys-TeachingOnline

The ten points for success are summarized here:

Point 1: Don’t think of this move to online teaching as a one-off; this is the new normal. At California State University we have had to move to online teaching practically every year in the last five years: fires (twice), shootings, and now the pandemic. So think of the COVID-19 pandemic as an opportunity to build an online offering that can serve your department and students for years. You should have an online version for all your classes, not only for emergencies, but also to be responsive to the current reality where so many students want online offerings.

Point 2: There are two initial “shifts” in the move to online teaching. First, the pedagogical shift to not teaching in the classroom, where it is easy to connect with students physically present, to read facial expressions and adjust your teaching accordingly, to chat with some of them in person after class.  Second, the shift to a different usage of tools, or a different set of tools altogether: Zoom, Canvas, Piazza, MyITLab, Slack, Microsoft Teams, and of course AWS Educate offerings. Both “shifts” require some time; e.g., think of how you are going to compensate for lack of physical presence, and do not start learning Zoom half an hour before the first class. 

Point 3: In Point 2 we mentioned the challenge of not having the students physically present; how are you going to compensate for the lack of interaction that you are used to? I use Slack to create a collaborative environment in the class. I dedicate a channel to the course, and include all the students in the channel. Students can interact with me (the instructor), but even more importantly, they can interact with each other, and they do! Here appears one advantage of online teaching: often, as the students sit to write down a difficulty they encounter in the course, by the act of writing it in a public forum, they concentrate more than they do when asking verbally in class, and the question is better formed and often the answer appears in the process. Also, having those interactions recorded in the channel allows us to point them out later if the question comes up again. Further interaction comes by using Zoom on a regular basis, both to teach, and to have office hours / question periods. 

Point 4: In Point 2 we mentioned the challenge of shifting to a new set of tools. For Computer Science faculty this is relatively easy from the technical perspective. We are familiar with cloud-based tools, and our students like IT tools, and so the move is seamless. What can be problematic is how these tools are deployed; that is, the heavy reliance on these tools can make the course about them instead of making them ancillary to the objective of the course. The solution here is to explain, or even better automate, the aspects of the tools that are not intrinsic to the topic being taught. For example, we use AWS Educate accounts to teach our Computer Architecture class (COMP 262), a sophomore course where student learn about different microprocessor architectures and assembler level programming. Being able to deploy AMI (Amazon Machine Images) with certain architectures frees the student to concentrate on the point of the exercise: the differences in architecture. 

Point 5: It is important to be creative. More material can be taught successfully online than one would expect. For example, we have a senior elective in “mobile robotics” (COMP 470), which includes a lot of hands on lab work. It may seem hopeless to simulate such a course online, but it is not – we used the material in AWS Educate RoboMaker class to create virtual labs. Students can be given the relatively inexpensive robots (e.g., Amazon Deep Racer, ~$300 each), and participate in a lab by doing the hands-on activity at home, but testing and competing in a virtual environment in the cloud. 

Point 6: Do not think of online teaching as simulating classroom teaching. It is a different entity, with its advantages and disadvantages; concentrate on the advantages. For example, simply using Zoom to deliver a lecture at the same times as a regular lecture won’t do. Your lecture will be dry, you will feel frustrated as you feel as if you were talking into your own screen instead of a classroom full of students. Use Zoom to create an interactive environment, including quizzes (there are some nice tools to deliver interactive quizzes which always awaken a sense of fun competition along students; e.g., Kahoots, Quizzez), Zoom breakout rooms, question and answer sessions, presentations by students, etc.

Point 7: Grading has to be changed. For example, rely more on assignments, as in a final assignment rather than a final exam. Tests and exams can still be given, but I would suggest to give them as multiple-choice quizzes with limited times per question, in order not to make them exercises in who can Google-search faster. 

Point 8: In my experience online teaching has to be very well structured and organized, and the communication with the class has to be excellent: frequent, repetitive and complete. Students should know exactly what they need to do each week, and where to go with questions.

Point 9: Communicate enjoyment, passion and enthusiasm for the material. One of the most important roles of a teacher is to reassure the student that time spent with you, and the effort required to master your difficult material, is a worthy pursuit.  Tell the students what is the treasure that they will possess upon completion, what we dryly call SLO (Student Learning Outcomes), but which is the raison d’être for your course. Present your online offering not as “the 2nd best given the circumstances”, but rather as a great opportunity to work with others in an online setting – remember, this is the direction in which the IT world is moving, and students will benefit greatly from having the experience of being self-motivating, accountable and working with others online.

Point 10 (Bonus for Comp Sci instructors): Some material can be taught very easily online. For example, I prefer to teach programming classes in a blended online environment, even when we do not have a crisis! The reason is that Amazon Cloud9 is a perfect cloud-based IDE (Integrated Development Environment) that has many advantages over a machine-in-a-lab IDE: first, everyone has exactly the same environment, which I can customize to the needs of the course as precisely as I choose, and everyone can access this environment independently of the type of computer they have, as all it requires is a wi-fi connection and a browser. It also allows me to enter the environment from the “outside”, and code with the student watching my changes. This is really fantastic!