Devops : What kind of animal is it, and what dogfood does(n’t) it eat.

Wikipedia
Where I believe from that cornerstone of my hear in this role, I often see it misinterpreted or even abused… So today we’ll talk about the “devops”-animal, and what it should be doing. Let’s first take a glance at Wikipedia (as it’s always a nice reference) ;

DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.

So the essence of the role (and yes, it is a role, not an animal, sorry to disappoint you) lies as a bridging function between “Development” & “Operations”. This statement is backed up in the Wikipedia article too ;

DevOps is frequently described as a more collaborative and productive relationship between development teams and operations teams. This improved relationship and collaboration increases efficiency and reduces the production risk associated with frequent changes.

The role of a DevOps professional has similarities to that of a Chief Engineer within the Toyota Production System. Such persons have responsibilities for the project’s success, but no formal authority over different teams involved. This requires technical knowledge in order to convince managers of the needs. Company executives can make convincing the managers more effective by formally endorsing the role of the Chief Engineer.

Many organizations divide Development and System Administration into different departments. While Development departments are usually driven by user needs for frequent delivery of new features, Operations departments focus more on availability, stability of IT services and IT cost efficiency. These two contradicting goals create a “gap” between Development and Operations, which slows down IT’s delivery of business value.

What does it bring?
The article visualizes the role as following ;
400px-Devops.svg
Where this might seem a bit different from the “bridging role” as just mentioned, imaging the “Quality Assurance” as the role you often see with your Architect(s). When we go to the stereotypes of each departement; we see that development is typically the team that wants to “inovate”, where operations is the team that wants the least amount of change in order to provide the needed stability. The devops will take both worlds into account. (S)he will introduce things like “High Availability”, “Scalibility”, “Performance”, “Security”, “Data Integrity”, “Monitoring”, and so on from the Operations world. On the other side, (s)he’ll also introduce versioning, automation, release management, and so on from the development world.

So what isn’t it?
Think about the following pitfalls ;

  • Devops is not a team…
  • Devops does not live within one technology team. (S)he stretches accross boundaries!
  • It’s also not the chinese volunteer that will be scr*wed with all your releases.

I think with those statements a lot of companies their interpretation of “Devops” went down the drain…

Still confused?
Still not sure what it is? Check Patrick Debois’s slideshare presentation on Devops, as that one is spot on!

Disk Investigator

Disk Investigator is a pretty unique hard drive data retrieval tool that takes a totally different approach than the usual hard drive data recovery tools. What Disk Investigator does is to provide direct access to the raw data sectors of a selected hard drive so that the hard driveโ€™s data can be explored up to the last bit.

hard_drive_data_retrieval-500x346

More info? Check out ghacks!

Raid Levels

The basics
RAID combines two or more physical hard disks into a single logical unit by using either special hardware or software. Hardware solutions often are designed to present themselves to the attached system as a single hard drive, and the operating system is unaware of the technical workings. Software solutions are typically implemented in the operating system, and again would present the RAID drive as a single drive to applications.

There are three key concepts in RAID: mirroring, the copying of data to more than one disk; striping, the splitting of data across more than one disk; and error correction, where redundant data is stored to allow problems to be detected and possibly fixed (known as fault tolerance). Different RAID levels use one or more of these techniques, depending on the system requirements. The main aims of using RAID are to improve reliability, important for protecting information that is critical to a business, for example a database of customer orders; or to improve speed, for example a system that delivers video on demand TV programs to many viewers.

The configuration affects reliability and performance in different ways. The problem with using more disks is that it is more likely that one will go wrong, but by using error checking the total system can be made more reliable by being able to survive and repair the failure. Basic mirroring can speed up reading data as a system can read different data from both the disks, but it may be slow for writing if the configuration requires that both disks must confirm that the data is correctly written. Striping is often used for performance, where it allows sequences of data to be read from multiple disks at the same time. Error checking typically will slow the system down as data needs to be read from several places and compared. The design of RAID systems is therefore a compromise and understanding the requirements of a system is important. Modern disk arrays typically provide the facility to select the appropriate RAID configuration. PC Format Magazine claims that “in all our real-world tests, the difference between the single drive performance and the dual-drive RAID 0 striped setup was virtually non-existent. And in fact, the single drive was ever-so-slightly faster than the other setups, including the RAID 5 system that we’d hoped would offer the perfect combination of performance and data redundancy”.

Continue reading “Raid Levels”

OpenSource Storage Management

I came across OpenFiler a while ago and was intriged by it. Now I’ve taken the liberty to testing it in my lab, and I must say that I’m impressed by the features. It’s something every sysadmin should check out to see if it isn’t a viable solution for their overpriced storage solution… ๐Ÿ˜‰

.

Openfiler is a powerful, intuitive browser-based network storage software distribution. Openfiler delivers file-based Network Attached Storage and block-based Storage Area Networking in a single framework. Its uses the rPath Linux metadistribution and is distributed as a stand-alone Linux distribution. The entire software stack interfaces with third-party software that is all open source.

File-based networking protocols supported by Openfiler include: NFS, SMB/CIFS, HTTP/WebDAV and FTP. Network directories supported by Openfiler include NIS, LDAP (with support for SMB/CIFS encrypted passwords), Active Directory (in native and mixed modes) and Hesiod. Authentication protocols include Kerberos 5.

Openfiler includes support for volume-based partitioning, iSCSI (target and initiator), scheduled snapshots, resource quota, and a single unified interface for share management which makes allocating shares for various network file-system protocols a breeze.

Talking about NAS or SAN?

NAS
A NAS unit is essentially a self-contained computer connected to a network, with the sole purpose of supplying file-based data storage services to other devices on the network. The operating system and other software on the NAS unit provide the functionality of data storage, file systems, and access to files, and the management of these functionalities. The unit is not designed to carry out general-purpose computing tasks, although it may technically be possible to run other software on it. NAS units usually do not have a keyboard or display, and are controlled and configured over the network, often by connecting a browser to their network address. The alternative to NAS storage on a network is to use a computer as a file server. In its most basic form a dedicated file server is no more than a NAS unit with keyboard and display and an operating system which, while optimised for providing storage services, can run other tasks; however, file servers are increasingly used to supply other functionality, such as supplying database services, email services, and so on.

SAN
Put in simple terms, a SAN is a specialized, high-speed network attaching servers and storage devices and, for this reason, It is sometimes referred to as “the network behind the servers.” A SAN allows “any-to-any” connection across the network, using interconnect elements such as routers, gateways, hubs, switches and directors. It eliminates the traditional dedicated connection between a server and storage, and the concept that the server effectively “owns and manages” the storage devices. It also eliminates any restriction to the amount of data that a server can access, currently limited by the number of storage devices attached to the individual server. Instead, a SAN introduces the flexibility of networking to enable one server or many heterogeneous servers to share a common storage utility, which may comprise many storage devices, including disk, tape, and optical storage. Additionally, the storage utility may be located far from the servers that use it.

Comparing NAS & SAN
Look towards NAS as sharing on file level, where you provide access to a filesystem to many by protocols such as CIFS, Samba, NFS, HTTP, … SAN shares a disk on block level, where you should look at it as a raw disk that you share over a network (iSCSI, Fiber Channel, …). It’s a one-on-one relation where the operating system (or application) should take care of the filesystem. (More info)

Demystifying Storage

If you’re looking for a good Open Source product for all your storage needs:
www.openfiler.com

2 GB of Free Online Backup

Today I want to talk about Mozy. It provides a Simple, Automatic & Secure way to backup your files online. Enjoy peace of mind in knowing that your data is encrypted and stored in a safe, remote location. Maybe the last point might frighten you, as your data/information is kept on infrastructure that isn’t yours. Then you might think to add an extra layer of encryption yourself.

The features of Mozy;

  • Block-level incremental backup: After the initial backup, MozyHome only backs up files that have been added or changed, making subsequent backups lightning fast.
  • Open/locked file support: Mozy will back up your documents whether they’re open or closed.
  • 128-bit SSL encryption: The same technology used by banks secures your data during the backup process.
  • 448-bit Blowfish encryption: Secures your files while in storage, providing peace of mind that your private data is safe from hackers.
  • Automatic: Schedule the times to back up and MozyHome does the rest.
  • New and changed file detection: MozyHome finds and saves the smallest changes.
  • Backs up Outlook files: Disaster-proof email protection.

An the last thing… You get 2GB of free online storage space! This might help you to keep important data safe?!? ๐Ÿ˜‰

How does an email get delivered?

The basics
When asked for which purposes people most frequently use their computer, then the response often contains the term “email”. Yet in my experience most people have no clue how this digital letter gets from person X to person Y. This article will sketch a rough image of how email works.

Email Person X types an email in his/her mail client (to for example bob@example.com). This can either be a web based or locally installed client. After pressing the “send” button, the email will be sent towards an outgoing mail server (MTA). This server will queue the mail, and lookup the location where this mail should be delivered by using a DNS server. Imagine the DNS server as a catalog of the internet. It contains (or can lookup) the network locations of a certain domain name (like example.com). The MTA will ask the DNS server to give the location of the mail server (mx record) for bob@example.com.

Continue reading “How does an email get delivered?”