Friday, February 22, 2019

Tutorial 02

PROGRAMMING APPLICATIONS AND FRAMEWORKS                                              
Tutorial 02



01. What is the need for VCS? 

  • VCS needs to merge some Kind of programming codes. Category of software tools that help a software system manage changes to source code over time.
  • It is important to manage the source of different versions ta different stages.



02. Differentiate the three models of VCSs, stating their pros and cons 


  • Local Data Model : simplest variations of VCS and it requires that all developers have access to the same file system.
  • Client-Server Model : Using this model, developers use a single shared repository of files. it does not require that all developers have access to the repository via the internet of a local network.
  • Distributed Model : In this model , each developer works directly with their own local repository, and changes are shared between repositories as a separate step.


03. Git and GitHub, are they same or different? Discuss with facts. 




Git is a version control system, a tool to manage your small to very large projects with speed efficiency.
GitHub is a hosting service for Git repositories and a consequence of the existence of git and not the only hosting service
So they are not the same thing: Git is the toolGitHub is the service for projects that use Git. To get your code to GitHub
                              Git
                   GitHub


  •  Installed locally

  •  Hosted in the cloud

  •  First released in 2005

  •  Company launched in 2008

  •  Maintained by the Linux foundation

  •  Purchased in 2018 by Microsoft

  •  Focused on version control and code sharing

  •  Focused on centralized source code hosting

  •  Primarily a command-line tool

  •  Administered through the web

  •  Provides a desktop interface named git GUI

  •  Desktop interface named GitHub desktop

  •  No user management features

  •  Build-in user management

  •  Minimal external tool configuration features

  •  Active marketplace for tool integration

  •  Open source licensed

  •  Includes a free tier and pay-for-use tiers





04. Compare and contrast the Git commands, commit and push 

Commit - Savings changes to the local repository.
Push - Uploads the saved changes to the online repository.


05. Discuss the use of staging area and Git directory 

The staging area is best described as a preview of your next commit. Meaning, when you do a git commit, git will take the changes that are in the staging area and make the new commit out of those changes. One practical use of the staging area is that it allows you to fine-tune your commits. You can add and remove changes from staging area until you are satisfied with how your next commit will look like, at which point you can do  git commit. And after you commit your changes they go into directory where they are saved as commit, blob and tree objects

Git directory is wherever you have checkout the project. For example the directory within which you have checked out a branch of your project. Its is typically the folder that contains the .git folder. That is the working directory. When you make changes to files in your checked out branch you make changes to the working directory.

06. Explain the collaboration workflow of Git, with example 

·        step 1: Create a branch
·        Step 2: Add commits
·        Step 3: Open a Pull Request
·        Step 4: Discuss and review your code
·        Step 5: Deploy
·        Step 6: Merge



07. Discuss the benefits of CDNs 

Benefits of CDN are,

  • Your server Load will decrease : By distributing content closer to
    website visitors by using a nearby CDN server (among other
    optimizations), visitors experience faster page loading times. As visitors
    are more inclined to click away from a slow-loading site, a CDN can
    reduce bounce rates and increase the amount of time that people spend
    on the site. In other words, a faster a website means more visitors will
    stay and stick around longer.
  • Content delivery will become faster : Due to higher reliability, operators can deliver high-quality content with a high level of service, low network server loads, and thus, lower costs.
  • Segmenting your audience becomes easy :CDNs can deliver different content to different users depending on the kind of device requesting the content
  • Lower network latency and packet loss : End users experience less jitter and improved stream quality. CDN users can, therefore, deliver high definition content with high Quality of Service, low costs, and low network load.
  • Higher availability and better usage analytics :Large amounts of
    traffic or hardware failures can interrupt normal website function. Thanks
    to their distributed nature, a CDN can handle more traffic and withstand
    hardware failure better than many origin servers.
  • Storage and security : CDNs offer secure storage capacity for content such as videos for enterprises that it, as well as archiving and enhances data backup services. CDNs can secure content through digital rights management and limit access through user authentication.



08. How CDNs differ from web hosting servers? 

CDN is a geographically distributed network of proxy servers and their data centers.The goal is to provide high availability and high performance by distributing the service spatially relative to end-users. WebHosting is used to host your website on a serverand let users access it over the internet. ... WebHosting normally refers to one server. A content delivery network refers to a
global network of edgeservers which distributes your content from a multi-host environment


09. Identify free and commercial CDNs 


CloudFlare


Incapsula

Photon by jetpack 

Swarmify
 


10. Discuss the requirements for virtualization 

  • Processor that support Intel VT-X
  • Minimum 2GB Memory
  • Minimum 550MB Hard disk space
  • Minimum two ethernet cables
  • Supported NAS series



11. Discuss and compare the pros and cons of different virtualization techniques in different levels
Pros:

  • Using virtualization for efficient hardware utilization
  • Using Virtualization to Increase Availability
  • Using Virtualization to Increase Availability
  • Save Energy


Cons:
  • Extra Costs
  • Software Licensing
  • Software Licensing



12. Identify popular implementations and available tools for each level of visualization 

Tools:

  • sisense
  • Tableau
  • Tibco Spotfire
  • Quick view
  • Infogram



13. What is the hypervisor and what is the role of it? 

A hypervisor is a process that separates a computer’s operating system and applications from the underlying physical hardware. Usually done as software although embedded hypervisors can be created for things like mobile devices.
Role:
provide an environment identical to the physical environment
provide that environment with a minimal performance cost

Retain complete control of the system resource

14. How does the emulation is different from VMs? 
Virtual machines make use of CPU self-virtualization, to whatever exists to provide a virtualized interface to the real hardware.


Emulators emulate hardware without relying on the CPU being able to run the code directory and redirect some operations to a hypervisor controlling the virtual container.

15. Compare and contrast the VMs and containers/dockers, indicating their advantages and disadvantages 

virtual machine:
Emulation of the computer system. what appears to be many separate computers on hardware that is actually one computer. The operating systems and their applications share hardware resources from a single host server, or from a pool of host servers. Each VM requires its own underlying OS, and the hardware is virtualized. A hypervisor, or a virtual machine monitor, is software, firmware, or hardware that creates and runs VMs. Popular VM
Providers Examples:

  • VMware vSphere
  • Virtual Box
  • Hyper-V

Benefits of VM:

  • Better known security controls.
  • Established management tools.
  • Established security tools.


Container/dockers:

A container is  a standard unit of software that packages up the code and all its dependencies so the application runs quickly and reliably from one computing environment to another

No comments:

Post a Comment

Tutorial 10 – Client-side development 2 - RiWAs

PROGRAMMING APPLICATIONS AND FRAMEWORKS                                                  Tutorial 10 Distinguish the term “Rich Internet...