George McKinney Adventures in Software Development

September 3, 2021

CIS 194 Fall 2021

Filed under: AWS,CIS,Cloud,LA Mission College — georgemck @ 11:31 pm

CIS 194 Compute Engines Syllabus

 

Amazon Web Services logo with the arrow smile underneath

 

Semester: Fall 2021
Class CIS 194 – Online
Class Numbers: 23961/23962

Class Introduction

Welcome to Compute Engines in Amazon Web Services

We strive to create a learning community here — one where you learn from myself, the material and your fellow students through engaging and educational activities each and every week. Although we cannot be physically together, we can still create a feeling of connection to each other through a shared experience with the assignments, labs, and discussions. Here, you along with everyone else in class are valued members of this learning community. During this Covid-19 life we are living, there are additional challenges and responsibilities in life to family, friends and work. Sometimes, because we are human, we can get sick or just become overloaded. So, if you have reached a point where you can’t meet an assignment deadline, please contact me–we will work together to make a path to success. We are in this together.

If you are a student with a disability, please do not hesitate to let me know at the beginning of the semester, if you like to. You can access the Student Services Online for assistance; access to campus is closed due to the pandemic. The telephone number there is (818) 722-6752.

If you have any questions or concerns, please reach out to me. I am here to help. The best way to contact me is through Canvas Private Message (Inbox). I will get back to you within 24 hours, Monday thru Friday. Over the weekend it might be 48 hours.

I am excited to be guiding this class, I love working with Amazon Web Services and I hope you will, too.

–George

mckinng@lamission.edu

 

Class Description and Overview

This course introduces AWS (Amazon Web Services) computing related services. Students will learn about the core computing services offered by AWS. The computing services will follow the computing models: Infrastructure as a Service, Platform as a Service, Function as a Service or Micro-services and server less computing (Lambda functions). Students will set up and manage computing services, configure auto scaling and load balancing. Students will learn to code auto deployment scripts to automate the management of AWS infrastructure.

 

 

Introducing the Instructor

Instructor standing in front of the London, England skyline

 

Hi, I’m George McKinney, a Software Developer based in Los Angeles. For 15 years, I have worked on projects for many companies including Acura, Disney, Samsung, LG, Kraft and numerous medium-sized firms and startups. My journey as a professional developer began at Los Angeles Community College where I studied C/C++, Java and Macromedia Flash. I learned computer science and applied it in marketing, sales, automation and communication solutions. I absolutely love what I do and sharing it. As I became more experienced, I went from attending workshops and conferences to presenting at them. I co-founded a mobile user group, organized meetups, conferences and travelled the world for “fun and profit.” Along the way, I taught software for the US Navy, City National Bank, Starwood Hotels, Stanford University, Cisco Systems, Lawrence Livermore National Laboratories, and other places. I have an MBA from the University of Southern California and my undergraduate degree was in History at Stanford University.

Nine years ago, I started using Amazon Web Services because I had heard something about Cloud Computing and I thought I could use it to put a website on it… something about S3 and a lot of EC2 and I figured I should have a look. At the time, I wasn’t much interested because mobile apps was in high gear and I focused my attention there. Five years years later, I began to see more job announcements come out requesting AWS from companies like Disney, Fox and others and I told myself to pay more attention to this. Around the same time, I got an Amazon Alexa and discovered that it was programmable and I was hooked. I reopened my AWS console and saw cobwebs on my S3 buckets and went straight writing Lambda functios with Node.JS and I haven’t looked back. Today, I work on large value projects building call centers, event rooms and communications platforms. I feel great when I see my work in people’s hands.

 

Instructor Contact Information

 

Please use the Canvas Inbox to send me an email so I receive push notification to my mobile phone and can respond to you faster. It will also keep all our course-related correspondence together.

I respond to emails and private messages within 24 hours, during the hours of 9:00 am to 9:00 pm, Monday through Friday, and 48 hours on weekends. My office hours are Thursday afternoons, 4pm to 6pm. I can also meet with you individually but contact me in advance to set a day and time.

 

 

Accommodation Statement for Students with Disabilities

The college and I are committed to your success here in this course. If you were not already aware we have resources described below for you. Please contact me if I can be of help or you need accomodation.

Disabled Student Programs and Services (DSP&S)

If you are a student with a disability and require classroom accommodations, please contact me to discuss arrangements. The sooner I am aware that you are eligible for accommodations, the quicker I will be able to provide them. If you have not done so already, you may also wish to contact the DSP&S Office in Instruction Building 1018 (phone 818-364-7732 / TTD (818) 364-7861 ) and ask them to contact me with a letter stating the accommodations that are needed.

Students requesting academic accommodations should first contact them online or by email , otherwise use the following procedure:
Step 1: Obtain documentation of your disability from a licensed professional. You may contact DSPS to request a Disability Verification Form.
Step 2: Make an appointment to meet with a DSPS Specialist to review your documentation and discuss reasonable accommodations.
To schedule a meeting, please call DSPS at (818) 364-7732.
Step 3: Bring your disability documentation to your DSPS appointment. The DSPS office is located in room 1018 of the Instructional Building.
Step 4: Each semester, reach written accommodation agreement with the DSPS Specialist and your instructor.

To be most effective, students should complete this process by the end of the 3rd week of the semester. Tests with required accommodations must be taken at the DSPS office. Since this course is completely online, you can take tests where it is most comfortable for you.

 

Student Learning Outcomes

 

Student Learning Outcomes

  1. 1. The student will demonstrate an understanding of how to implement computing services in AWS, and include AutoScale and load balance features.
  2. The student will employ AWS Lambda Services to create Serverless tasks.

 

Course Objectives

Upon satisfactory completion of the course, students will be able to:

  1. Explain the AWS Global Infrastructure
  2. Navigate the AWS Management Console
  3. Describe important design consideration in migrating computing services
  4. Design consideration of scalable cloud applications
  5. Understand AWS billing
  6. Understanding infrastructure as a code
  7. Understanding of service load balancing
  8. Understand the architectural approach used by AWS
  9. Understand AWS PaaS services
  10. Use AWS Elastic Beanstalk to highlight the PaaS model.
  11. Understand how to configure and manage serverless Web Apps
  12. Study AWS computing best practices
  13. Explore regions and Availability Zones of AWS
  14. Use AWS Management Console to identify various types of AMI and their usage
  15. Identify the benefits of plain AMI, pre-configured AMI, and AMI from AWS Marketplace
  16. Design consideration of scalable cloud applications
  17. Configure minimum/maximum number of instances as the work load changes in an automatic fashion.
  18. Have audit trails on how many instances are created and destroyed based on workload changes.
  19. Use Federated login to simplify login procedures. Explore CodeCommit, CodeDeploy and CodeBuild to streamline application development.
  20. Apply security rules at all levels of AWS resources
  21. Understand how to configure and manage serverless Web Apps
  22. Configure and use AWS Elastic Beanstalk
  23. Deploy/Test Lambda functions
  24. Critique various case studies for AWS computing best practices

 

 

Basis for Grading, Late Policy and Extra Credit

 

Unit Assignments

During the semester, 10 assignments must be completed, by the scheduled date. You will be dropped from the class if you fail to turn in two assignments.

Homework is to be submitted by the due date (Friday midnight). Late homework will not receive full credit, but will be accepted until Sunday midnight for 10% penalty.  Homework must be submitted using the blue Submit button on the assignment’s page.

If there are extenuating circumstances, send me a canvas message with the name of the assignment you wish to make a past due submission, and I will consider your request.

Threaded Discussions

Participation in the weekly discussion group online through Canvas is required. Threaded discussions account for 10% of your total grade, marks are rewarded on participation vs. non-participation.

Quizzes

Each of the 8 weeks there will be a quiz to assess that week’s module.

Final Exam

A comprehensive final exam is at the end of the semester. It will cover most topics presented during the course.

Class Project

During the term, you will complete a class project. The project will consist of analyzing the design and development of a system which could utilize the cloud services discussed in class. You may either choose a system of your own or I will provide one that you can use that you will be familiar with if you cannot think of one from your own experience. You will be dropped from the class if you fail to complete the class project.

 

Category Percent
Quizzes 20%
Unit Assignments (10 total) 30%
Discussion Participation (8 weeks) 10%
Final Exam 20%
Class Project 20%

 

Final Letter Grade

Total Percentage
A = 90% -100%
B = 80% – 89%
C = 70% – 79%
D = 60% – 69%
F = 0% – 59%

 

Textbook and Class Materials

 

Required Text Book

There are no required text books for this course. I hope you will find all the course content and the videos in the Canvas shell to be sufficient material to succeed in this course.

Optional Reference Material

  1. Amazon Web Services in Action by G. Wittig and A. Wittig ISBN-13: 978-1617295119
  2. Learning Amazon Web Services (AWS): A Hands-On Guide to the Fundamentals of AWS Cloud Mark Wilkins ISBN: 9780135301098
  3. AWS Certified Cloud Practitioner Complete Video Course by Richard Jones
  4. Miller, M.. Cloud Computing: Web-Based Application That Change The Way You Work And Collaborate Online, 1 ed. Que Publishers, 2013, ISBN: 978-0-7897-3803-5.
  5. Erl, T., Mahmood, Z., Puttini, R.. Cloud Computing: Concepts, Technology & Architecture, 1 ed. Prentice-Hall, 2013, ISBN: 9780133387520.

 

 

Advice for Class Success

Canvas

This course was created using the Course Management System (CMS) called Canvas. For instructions on how to use it, I recommend reviewing their training videos. This knowledge will be beneficial for you in other courses you take in the California Community College system.

Communication

If you have not used the Canvas mobile app for you phone, try it out. You can participate in discussions, view assignments and send messages enabling you to stay on top of the course. See Contacting the Instructor for more information.

Software

In order to access Amazon Web Services, you will need to use a supported web browser. At the present time, Amazon supports the following browsers:

  • Google Chrome: latest 3 versions
  • Mozilla Firefox: latest 3 versions
  • Microsoft Explorer: version 11 and higher Microsoft Edge: version 12 and higher
  • Apple Safari: version 7, 8 and 9

Please use one of these supported products. Install this product on the computer you plan to use to access Amazon Web Services and the Canvas course shell.

Assessments

To do well in the course it is important that you complete the course work. For more detailed information, see the Basis for Grading page.

 

Class Attendance/Drop Policy

Attendance

Please contact me as early as possible if you will not be connected to the class longer for more than 3 days. I monitor the assignment submissions, discussions and conversations inbox for your participation. You are a valuable member of our learning community and we need you. Let me work with you to help keep you moving forward in your studies.

As per college policy, if a student is inactive for more than a week (if 8 week session) or two weeks (if 16 week session), the instructor may exclude the student from the class. For online class, this occurs when a student has not submitted assignments due that week. For materials covered in the class, refer to the schedule on Canvas. If a student misses two weeks in a row of assignments, they will be dropped.

Campus and Class Rules

STANDARDS FOR STUDENT CONDUCT

Dishonesty, such as cheating or knowingly furnishing false information to instructors and college personnel, turning in work that is not one’s one will be grounds for disciplinary action at LAMC according to the Standards of Student Conduct as described on the LAMC Catalog. The penalty may range from no credit for the assignment up to an “F” grade and disciplinary action. Students are expected to adhere to all school policies, and to abide by the standards of student conduct as described in the Los Angeles Mission College Catalog. Any infringement upon the rights of other students in the class will not be tolerated. Please refer to LACCD Board Rul 9800 for further information.

Please read and be aware of the Student Code of Conduct for Los Angeles Mission College.

Los Angeles Mission College Honor Code

9803.12 Academic Dishonesty: Dishonesty, such as cheating, or knowingly furnishing false information to colleges.

This generally means violations of academic integrity which include, but are not limited to, the following actions: cheating on an exam, plagiarism, working together on an assignment, paper or project when the instructor has specifically stated students should not do so, submitting the same term paper to more than one instructor, or allowing another individual to assume one’s identity for the purpose of enhancing one’s grade.

Plagiarism Statement

All students must comply with the policies that regulate all forms of academic dishonesty, or academic misconduct, including plagiarism, self-plagiarism, fabrication, deception, cheating, and sabotage.

 

 

January 11, 2021

Cloudant undeleting a user account

Filed under: Cloud,Cloudant,IBM,IBM Cloud — georgemck @ 6:58 pm

The following procedure can be used to undelete a user document in Cloudant.

First, login to the Cloudant database as an administrator. Use an Administrator’s username and password. Only admins have access to the _users table.

The previously deleted document needs to be retrieved from the database. However, since it has been deleted, all requests for it will fail. You can instead download a file of all deleted revisions for document by browser url as a get request, e.g. https://ACCOUNTUSERNAME-bluemix.cloudant.com/_users/TARGETUSERDOCUMENT/?revs=true&open_revs=all. Looking through the downloaded file, create a target revision working from the most recent. After creating the target revision, you can use it to retrieve it’s document. In the downloaded file, take the latest revision and subtract one from its number, then look at the top of the list of revision ids and get the second one and use it as the TARGETREVISION. It will be immediately following the last revision id. Now the specific revision of the document can be retrieved by browser url get request, e.g. https://ACCOUNTUSERNAME-bluemix.cloudant.com/_users/TARGETUSERDOCUMENT/?rev=TARGETREVISION

The retrieved document will contain the “_rev”. Delete it. Use the rest of the document revision in a put/post/insert into the database to restore it as the version of the document, thus undeleting a user document in Cloudant.

//This Node.js program will restore the deleted user document.

var ACCOUNTUSERNAME = ‘aaa-bbb-ccc-ddd-eee-bluemix’;
var PASSWORD = ‘@dministrator$ecretP@ssW0rd’;

var TARGETUSERDOCUMENT = “org.couchdb.user:randomuserXYZ123@gmail.com”;
var USERDOCUMENTREVISION = {
“_id”: TARGETUSERDOCUMENT,
“name”: “randomuserXYZ123@gmail.com”,
“roles”: [],
“type”: “user”,
“password_scheme”: “pbkdf2”,
“iterations”: 111,
“derived_key”: “9dbbd43599b6fdae170bb6990e9afca99881f6e7”,
“salt”: “e0b6331fe04fc2aef4b152de70fac8d8”,
“updateTime”: “2021-01-11T23:52:45.006Z”
};

var Cloudant = require(‘cloudant’);

var cloudant = Cloudant({
account: ACCOUNTUSERNAME,
key: ACCOUNTUSERNAME,
password: PASSWORD
});

var db = cloudant.db.use(‘_users’);

db.insert(USERDOCUMENTREVISION, function (err, result) {
if (err) {
throw err;
}
});

Also at https://github.com/georgemck/cloudant-utils/blob/main/restore-deleted-user-account

Based on information from:
http://garmoncheg.blogspot.com/2013/11/couchdb-restoring-deletedupdated.html

June 13, 2020

Cloud Day Spring 2020

Filed under: Cloud — georgemck @ 10:31 am

 

Morning Employer and Technology Sessions  10:00am – 12:30pm
CA Cloud Computing Project Overview/Technology Trends/Employment Trends Morning Panel Zoom Link
Afternoon Workshops 1:00 – 2:30 pm 2:30 – 4:00 pm
AWS 101 –Learn about what builds cloud infrastructure the AWS way. Introduction to infrastructure as a service, cloud architecture, EC2, S3, VPC, containerization and Kubernetes. Zoom Link  Password: 289666 Zoom Link  Password: aws101
Cloud Hackathon – Do you have what it takes to troubleshoot with the time ticking? Play a game accumulating points in this competitive approach to accumulate points in developing cloud architecture and testing your skills. Zoom Link   Password: 034432 Login 
AWS Deep Racer- Introduction to reinforcement learning by developing reward functions for a self-driving model car. Virtual verification and feedback through AWS platform Zoom Link  Password: deepracer
Intro to Microsoft Azure – Learn about the cloud in Azure and learn about the cloud technologies that assist building AI architecture. Zoom Link  Password: 918789 Zoom Link  Password: 918789
AWS Alexa Skills – Ever want to create your own Alexa skill to automate something in your life? Learn how to get started with an Alexa skill. Create alexa developer account Zoom Link  Password: 178586 Zoom Link  Password: 178586
Big Data Technologies – Learn about data and how to prepared for downstream usage in Business Intelligence and Machine Learning. Download file Zoom Link  Password: 634318
Raspberry Pi + Cloud – Learn how to collect sensor data from small affordable computer to begin your journey in Internet of Things (IoT). Technologies include Python, MQTT and AWS Zoom Link Password: 247175 Zoom Link  Password: 455497
Cloud Career Preparedness – Learn how you can get prepared with assistance of AWS Educate by developing your resume and talking points in your upcoming interview to secure your next step. Zoom Link  Password: 973054 Zoom Link Password:464235
Intro to Machine Learning – Learn about the algorithms that are used to predict results. General concepts covered with hands-on programming in Python and SciKit-Learn. Download file Zoom Link Password: 331232
Moorpark College Cloud Program – Learn about the new program launching in Ventura. Zoom Link 

Powered by WordPress