Bandwidth

In computer networking circles, bandwidth means how much data a channel can carry, so the more the merrier. It’s usually measured in a multiple of bits per second (bps)—Kbps, Mbps, Gbps, and so on.

With fiber-optic cabling bandwidth is usually expressed in terms of MHz-km. So, a cable rated at 400 MHz-km could carry 400 Mbps of data a distance of 1 kilometer, 200 Mbps of data a distance of 2 kilometers, 100 Mbps of data a distance of 4 kilometers, etc.

Big Data

Big data depends on Linux because it’s a powerful scalable platform that allows analytical tools (many of them also open source) to process the huge amounts of data involved. Businesses produce more data than ever before now, but it’s only useful if it can be mined for insights. These days a company’s next efficiency improvement or revenue increase is as likely to come from new opportunities turned up by sifting through vast amounts of data than through launching a new product or service.

C++

The C++ programming language (also referred to as C++ scripting language) is a general-purpose programming language that can be labelled in various ways, including—statically typed, free-form, multi-paradigm, and compiled. C++ (pronounced “see plus plus”) as well as a group of intermediate-level languages, because it comes with a mixture of features found in both high and low level languages. Bjarne Stroustrup created the ground work for C++ in 1979 while he was employed at  Bell Labs. It has object-oriented features, such as classes, but also includes other improvements over the original. C++ was an improvement over the original name of “C with Classes,” which doesn’t have such a nice ring to it. The new name was given in 1983, and is a play on words. It literally means “Increment C by 1”, alluding to the fact that it’s better than C.

C++ is one of the most widely accepted programming languages that has found its way into a great many hardware and OS platforms. It is known to be able to compile native code efficiently, and is used for developing operating systems, applications, device drivers, embedded software, high-performance server and client applications, and video games. A number of groups offer both free and paid C++ programming language compiler software, including the GNU Project, Microsoft, Intel and Embarcadero Technologies. The C++ programming language has been a significant influence on other popular programming languages, and in particular C# and Java. Other widely used and popular languages, like Objective-C use a markedly different syntax and approach to adding classes to the C++ language.

CDN

CDN stands for “Content Delivery Network“, which is a group of servers spread throughout the country or around the world. They replicate the data for a website in one country in another country. So you could call up a webpage from an Indian website but the server that delivers it to you would be located in your country, so it has less far to travel and loads faster.  The CDN intelligently delivers the same content to people from the server that is closest to them.

This approach is great for large businesses because it allows them to avoid the kind of bottlenecks that would happen if they served data from just one location. A CDN also makes DDoS / DoS  attacks less effective, because it naturally provides multiple targets. Downtime from things like technical problems can be virtually eliminated because the CDN can route traffic to working servers when something breaks. All

Cloud services and media distribution networks like YouTube or Netflix will often use CDNs to keep things running smoothly. Every user is connected to the best server for them, eliminating the need to choose the best location manually, which is what you need to do with some FTP services.

Note that although CDNs usually use standard URLs, you may see a tell-tale “cdn” in their web address.

CGI

CGI or Common Gateway Interface is an interface type for web servers to execute apps that execute like console applications running on a server that generates web pages in dynamical way. CGI program is an executable file, therefore there are a number of security measures you need to follow while using CGI programs. Most typical approach – CGI program will reside in a special directory ( with limited rights ) in order to let the web server to understand that the file is for execution only and not to display in the user’s browser.

Cloud Computing

Cloud computing, also known as distributed computing, has become the backbone of many organizations both large and small. It’s allowed computing itself to become a subscription service, and its relieved companies and individuals of the need to invest in large amounts of computer equipment that they then have to maintain. Linux and open source have provided elements of the foundations for cloud computing to develop. It’s both scalable and flexible, taking massive deployments in its stride without an equally massive cost.

Cloud Service Architecture

The term cloud service architecture refers to all of the cloud computing solutions and services utilized in, and across, an enterprise business network’s boundaries. It can also be called cloud computing service architecture and enterprise cloud service architecture.

It deals with diagnosing, analyzing, designing, deploying, and integrating cloud services, enabling businesses to conduct operations in the cloud. Cloud service architecture focuses on the main business needs and finds a cloud solution that’s a suitable fit.

Explaining Cloud Service Architecture

Cloud service architecture, as with any other technology architecture, defines the deployment of enterprise cloud solutions — specifically, the structured guidelines, procedures, and constraints.

The fundamental goal is to create a roadmap for cloud deployment that utilizes the finest procedures, covering cloud computing’s technical and business governance elements. Cloud service architecture defines the way in which a company will incorporate its cloud solution, and any potential ramifications that may result. It may include all services the cloud provides, such as software, infrastructure, security, and storage.

Cryptography

Information can be protected if it is transformed into a more secure format. In essence, cryptography is the science which allows ordinary information to be transformed into secure information. The process itself is called encryption, and it’s not something that’s come with the internet age – cryptography has been around for centuries, even when people used to send messages written by hand.

Of course, nowadays most cryptography techniques are used to protect data that is digital, not handwritten. Cryptography is a computer science which involves manipulating data into a format which can only be recognized by users who are authorized.

To illustrate how cryptography works, imagine a message where each letter is replaced by a different character – based on a regular map. So, to decode the content you would need the table that explains how letters are transposed. This grid is called a cipher. Grids can be simple: just mapping one letter to another, but for more security a more advanced algorithm can be used that makes the grid mapping much more complex.

If you’re just going to be handwriting a note you could probably work with a simple 1-1 grid mapping, but these types of codes are easy to decipher using a computer. Computers can analyze codes at the speed of billions of operations per second, so a code has to be very complex to withstand cracking attempts. In fact, cryptography used in modern secure applications must be complex enough to be difficult for even a super computer to crack.

DevOps

DevOps is an all-encompassing term, touching on everyone from developers through to IT staff and operations across a company. DevOps, as you may guess, combines “development” and “operations”.

The rationale behind DevOps is an attempt to make operations and development teams collaborate better, teams who previously may have operated in solos. By example, an ops manager could ask a development team to update the features of a website app. For a successful update the operations team will need specify as accurately as possible what feature they need. In turn the development staff will program the features and test the update internally, then release it to the ops team who will make it live for production.

Operations teams can also advise development teams when a big is found in a webite that is live or in an app so that engineers can review and fix the problem. A more structured approach to matters like bug reporting and requesting updates ensures that the request is implemented smoothly – and that updates are effortlessly published. As a result a company can push out bug fixes in a quicker and more efficient manner.

A process under a DevOps management style would look a bit like this, where a software update is concerned:

  1. The operations team receives feedback from users, and writes it up
  2. A concerted effort between the operations and development teams ensure the update is designed correctly
  3. The development team will write the code for the update, and implement it
  4. Internal tests will be run by the development team
  5. Making the update live for user is the task of the operations team
  6. Both operations and development teams are involved in the testing of an update

We’ve outlined one example of how a DevOps team could work but there are no hard and fast rules – smaller teams could skip some of the steps, with more overlap between internal teams, when compared to a large enterprise. Either way DevOps is intended to fix bugs as quickly as possible, and to roll out highly reliable software at all times.

DevOps offers a strong set of principles that work even better if some key tips are followed:

  1. Make sure the testing environment perfectly matches the production environment
  2. Try to automate some software testing efforts – consider unit testing for example
  3. Ensure your software is easy to scale, by design
  4. Always utilise version control when you make changes

As DevOps have become increasingly important to efficient technology processes a new job title has emerged – the DevOps manager. This IT position involves the oversight of both the development and operations divisions, a role which was previously separated. The DevOps manager is positioned to help development and operations departments communicate effectively, and to ensure smooth co-operation.

Encoding

It’s often necessary to convert data from one format to another format. This process is called encoding. You might encode data to save space, to make it easier to process, or for a variety of other reasons. Think, for example about image encoding and of course video and audio encoding. Even written characters can be encoded so that text can be read by computers.

For example, a media file is often encoded to reduce the amount of space it takes up on a disk. Compressed formats, a typical reason to encode video, images and audio, are simply more efficient. The quality is typically quite similar to the file before it is encoded but the size of the media is smaller.

Typical encoding formats include .WAV, which is a WAVE file, and a .MP3 file – where the MP3 format is about a tenth of the size of a WAVE file. Likewise, video stored in a .DV or Digital Video format can be encoded using the MPEG algorithm, which compresses digital video into an .MPG file which is just a much smaller version of the .DV file.

Another important application of encoding is character encoding, where text characters are converted into bytes. This is done because a computer can only ready binary data, not text. So each character of text must be changed into binary code – whether it is a space, a number or a letter. Encoding systems used to convert text to binary include ASCII and Unicode.

Note that, when data is encoded, only programs that support the specific encoding in use will be able to read the data. For video and audio it means that a codec must be available, and often the codec works in real-time to decode data. On the flipside, many text editors would be able to read files with any one of a number of text encoding methods. However, where the encoding in a file is not fully supported you could find that some of the letters appears as odd symbols like boxes instead of the original text.