Monthly Archives: November 2021

Why Do We Need Electives?

A quick update on project progress first: after struggling for the last couple of weeks, we have finally gotten at least some parts of the local development environment set up so we can start working on implementing the first changes for the Capstone Website Project.  Setting up the environment has been difficult and tedious, and has solidified for me the importance of clear and helpful documentation so that future developers don’t have to struggle through simply getting started.

One new technology I had to quickly install and learn the basics of in order to set up development was Docker (as mentioned in one of my previous blog posts). It just so happens that now I’m learning more extensively about containerization in my Cloud Application Development class and have an assignment that specifically uses Docker.  Another fun coincidence is that we had a discussion post on cloud development in this class, and I have been working with Google Cloud for the first time in the same cloud dev class for the last couple of months.  Since these are both Computer Science classes, it’s not that surprising that they have overlapping concepts and tools, but this happens sometimes between completely unrelated classes.  I remember learning about truth tables in an Intro to Philosophy class at the same time as learning about them in one of my early Math classes.  While I never thought some required Philosophy class that I had no interest in taking would be any help to me in my Math classes, by having two different perspectives of the same general principle I was able to get a much better understanding.

I am of the opinion that electives are important, but colleges should not require so many.  Even within the same area of study I don’t think students should not be forced to pay for extra classes that don’t pertain to their specific path.  This intermingling of topics between related as well as seemingly unrelated classes however has shown me the value of getting multiple perspectives.  While I still think you shouldn’t be able to force people to take too many extra classes, I now see the value and potential benefit of getting knowledge in a wide range of topics.

Head in the Clouds

For our Discussion Post this week we had to choose a cloud service to do some brief research and analysis on.  I chose to look into Google Cloud because I am using it in another class this term, and so far my experience has been great.  I had not used a cloud service before this term so it has been really fun and informative getting to learn how to work with “the cloud”, so I thought it would be fun to discuss it here as well.

Google cloud offers a lot of services, around 95 to be exact, that fall into areas such as AI and machine learning, data analytics, computing, API management, and more [2].  From using Google Cloud in my Cloud Application Development class I have been impressed with all the features so far, though I have only used a couple.  

As I mentioned, I haven’t used other cloud service providers other than Google Cloud, so it is difficult for me to compare it to others based on personal experience. I can say Google Cloud’s UI, while a little overwhelming at first,  is very rich with a clean and informative dashboard that I think would be a challenge for other services to compete with.

Comparing it to one of its main competitors, AWS, Google cloud service wins out when it comes to costs by being up to 20% cheaper.  However, it does not offer as many services as AWS, which offers around 200 – over double Google’s amount.  AWS also has a much further reach than Google, having customers in 245 countries and territories where Google only has 35.  Google does have a better option for a free tier though, with basic features that are always free and a free $300 of credit for new users [1].

So when it comes to cloud services, and choosing which one to work with, it really boils down to your project’s specific needs and which fits best for your available resources.  Personally, I think it would be interesting to try out other cloud services in the future, but I am very likely to continue using Google Cloud for both personal and professional projects in the future.

Sources:

[1] “Google Cloud vs AWS: How Do The Two Cloud Providers Compare?”, CloudHealth by VMware, October 19, 2020.  Retrieved from: https://www.cloudhealthtech.com/blog/google-cloud-vs-aws

[2] “Google Cloud Documentation”, Google, Retrieved from: https://cloud.google.com/docs

Our Roadmap to Success

We are finally turning in our official Design Document for the project at the beginning of next week.  This document will include aspects from our Problem Statement, Requirements Document, and Preliminary Design and bring them all together to form our guidelines for the rest of the year. 

I think it is important to have a plan and to stick to it, but I also think it is extremely important to understand that nothing is set in stone.  Not having a clear, concise, and well thought out plan at the beginning of a project is a recipe for conflict and low productivity.  Having goals and a clear path to those goals helps move work along and ensures everyone has a clear idea of what our team is working towards at each step of the project.  

It is impossible to see the future though, so we need to be prepared to deal with unexpected hurdles and roadblocks that may change our plan, and to not get discouraged in the process.  As long as we’re prepared and willing to put in the work now to make a good plan and persevere in the future when things don’t go exactly according to that plan, this design document will serve as a roadmap to our team’s success.