
Need of VCS
Version control assist you to evaluate documents, become
aware of differences, and merge
the adjustments if wished previous to committing any code.
Versioning is also a tremendous manner to keep track of utility builds
being able to discover which model is presently in
development, QA , and manufacturing. Also, while new developers be a part of
the crew,
they are able to easily download the modern version of the
utility to their nearby surrounding the use of the model control device and
able to keep track of the version there are presently
running. During improvement
you could additionally have completely unbiased code
variations in case you chose to keep special improvement ,
effort separate. When equipped, you could merge the document
to create a very last running version
Models of VCSs
Benefits:-
1.It is easy to understand.
2.you have more control over users and access(since it
served from one place)
3.More GUI and IDE clients
4.Simple to get start commenced
Drawbacks:-
1.Dependent on access to the server
2.Hard to mange a server and backups
3.It can be slower because every command connects to the
server
4.Branching and merging tools are difficult to use
Benefits:-
1.It's speedy
2.No server essential
3.More powerful and exact exchange tracking, which means
that less conflicts
4.Branching and merging is more dependable, and therefore
Drawbacks:-
1.The distributed model is harder to understand.
2.It’s new, so not as many GUI clients.
3.The revisions are not incremental numbers, which make them
harder to reference.
4.It can be easier to make mistakes until you are familiar
with the model.
GIT and GIT HUB
everything from small to very large projects with speed and
efficiency
GitHub is a web-based Git repository hosting service, which
offers all of the distributed
revision control and source code management functionality of
Git as well as adding
its own features
GIT commands , commit, push
commit: adding changes to the local repository
push: to transfer the last commit to a remote server
Git commit: "records changes to the repository"
while Git push "updates remote
refs along with associated objects”. So that first one is
used in connection with
your local repository, while the latter one is used to
interact with a remote
repository
Staging area and GIT directory
when you work on your project making changes you are dealing
with your project's working
directory. This is the project directory on your computer's
file system. All the changes
you make will remain in the working directory until you add
them to staging area( via git add
command) .the staging area is best described as preview of
your next commits. Meaning,
when you do a git commit, git will take the changes that are
in the staging area and make a 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 your commit your
changes they go in to .git/Objects directory where they are saved as commit,
blob and three objects.
GIT workflow
Git workflow defines a strict branching model designed
around the project release. This work flow doesn’t add any new concepts or
commands beyond what’s required for the
Feature Branch flow . Collaboration is often about branching workflow. Thinking
ahead on how you will interview commit trees will help you minimize integration
bugs and support your release management strategy.
·
Nimal works on his feature
In his local repository, Nimal can develop
features using the standard Git commit process:
Edit, stage and commit . Remember that
since three commands create local commits, Nimal
Can repeat this process as many times as he
wants without worrying about what’s going on
The central repository.
·
Anne works on her feature
Meanwhile, Anne is working on her own
feature in her own local repository using the same
Edit/stage/commit process. Like Nimal ,she
doesn’t care what’s going on in the central repository, and she really doesn’t
care what Nimal is doing in his local repository, Since all local
repositories are private.
Benefits of CDN
Companies that witness a huge traffic on their website on
daily basis can use cdn to their advantage. When large number of users at the
same time access a web page on same specific content such as video, a cdn
enables that content to be each of them without delay. There are some few of
benefits using a cdn for your website
·
Your server load will decrease
·
Segmenting your audience become easy
·
Lower network Latency and packet loss
·
Higher Availability and better usage analytics
·
Offer secure storage capacity foe content
Differences between CDNs and Web Hosting
Web hosting is used to host your website on a server
and let users access it over the internet. A content delivery network is about speeding
up the access/delivery of your website’s assets to those users.
Web Hosting normally refers to one server. A content
delivery network refers to a global network of edge servers which distributes
your content from a multi-host environment.
Traditional web hosting would deliver 100% of your
content to the user. If they are located across the world, the user still must
wait for the data to be retrieved from where
your web server is located. A CDN takes a majority of your static
dynamic content and servers it from
across the globe, decreasing download times. Most times, the closer the CDN
server is to the web visitor , the faster assets will load for them.
Identify free And Commercial
CDNs
CDN
is a geographically distributed network for 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
CDN
server a large portion of the internet content today, including web objects
, downloadable objects , applications ,
live streaming media, and social media sites.
Requirements for
virtualization
There
is a gap between development and implementation environments
ü
Different platforms
ü
Missing dependencies , frameworks/ run times
ü
Wrong configurations
ü
Version mismatches
Hardware
virtualization
Application
level virtualization
Containerization
(also OS / application level)
Other
virtualization types
Pros and Cons of different
virtualization techniques in different levels
Pro
:-
Ø Efficient
resource utilization:
Virtualization enables business to get the most out of their investments in hardware and
Resources.
Ø Reduced
IT costs:
Virtualization helps business reduce costs in several
way, according to Mike adams who is senior director of cloud platform product
marketing at VMware
v
Capital expenditure savings
v
Operational expenditure savings
v
Data center and energy-efficiency savings
Con:-
Ø Not
all hardware or software can be virtualized
Ø The
upfront costs are hefty
Popular implementations and available tools for each
level of virtualization
Hypervisor and it’s role
A
hypervisor is a process that separate 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. The
hypervisor drives concept of virtualization by allowing physical host machine
to operate multiple virtual machines as guests to help maximize the effective
use of computing resource such as memory, network bandwidth and CPU cycles.
How emulation is different
from VMs
Virtual
machines make use of CPU self-virtualization , to whatever extent it exists ,
to provide a virtualized interface to the real hardware. Emulators emulate
hardware without relying on the CPU
being able to run code directly and redirect some operations to a hypervisor
controlling the virtual container.
VMs vs Container
VMs
|
Containers
|
heavyweight
|
Lightweight
|
Limited performance
|
Native performance
|
Each VM runs in its own OS
|
All containers share the hosts OS
|
Hard ware level virtualization
|
OS virtualization
|
Startup time in minutes
|
Startup time in milliseconds
|
Allocates required memory
|
Requires less money space
|
Fully isolated and hence more secure
|
Process-level isolation , possibly less secure
|
Advantage of VMs:-
Disadvantage of VMs:-
Advantage of
containers:-
Disadvantage of Containers:-











