reading-notes

Reading notes for CodeFellows Coding

View project on GitHub

Class 17

Resources:

Review, Research, and Discussion

  1. Describe “The Cloud”
    • “The cloud” refers to servers that are accessed over the Internet, and the software and databases that run on those servers. Cloud servers are located in data centers all over the world. By using cloud computing, users and companies don’t have to manage physical servers themselves or run software applications on their own machines.
  2. What is a container (as it relates to computers and servers)?
    • A container is a software package that contains everything the software needs to run. This includes the executable program as well as system tools, libraries, and settings. Containers are not installed like traditional software programs, which allows them to be isolated from the other software and the operating system itself.
  3. What is auto-scaling?
    • It is a cloud computing technique for dynamically allocating computational resources. Depending on the load to a server farm or pool, the number of servers that are active will typically vary automatically as user needs fluctuate.
  4. What is bandwidth?
    • Bandwidth is measured as the amount of data that can be transferred from one point to another within a network in a specific amount of time. Typically, bandwidth is expressed as a bitrate and measured in bits per second (bps).
  5. How do cloud providers compute service costs?
    • When setting price, cloud providers determine the expense to maintaining the network. They start by calculating costs for network hardware, network infrastructure maintenance, and labor. These expenses are added together and then divided by the number of rack units a business will need for its IaaS cloud.

Vocabulary Terms

  1. Server Instances
    • An instance is a single copy of the software running on a single physical or virtual server. If you run two copies of the software on the same physical or virtual server, that counts as two instances.
  2. Containers
    • Containers are a method of building, packaging and deploying software. A container includes all the code, runtime, libraries and everything else the containerized workload needs to run.
  3. Cloud Services
    • Cloud services are services available via a remote cloud computing server rather than an on-site server. These scalable solutions are managed by a third party and provide users with access to computing services such as analytics or networking via the internet
  4. Cloud Architecture
    • Cloud architecture is the way technology components combine to build a cloud, in which resources are pooled through virtualization technology and shared across a network. The components of a cloud architecture include - front-end platform,back-end platform, cloud-based delivery model and network
  5. AWS
    • Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. In simple words AWS allows you to do the following things- Running web and application servers in the cloud to host dynamic websites.
  6. EC2/Beanstalk vs Heroku
  • Use AWS when:
    • You need infrastructure flexibility from the first deployment of your application.
    • You can afford a DevOps engineer or several DevOps engineers to manage the infrastructure.
    • You’re ready to spend more time deploying new versions of your app.
    • Your project demands great computational resources.
  • Use Heroku when:
    • You need to deploy and test a Minimum Viable Product.
    • You need to improve your application quickly after getting feedback from users.
    • You can’t afford a DevOps engineer (or engineers).
    • Your project doesn’t demand that many computational resources.