Definitions of Chef, Puppet, Vagrant, and Docker

In my pursuit to help people about DevOps terminologies here are the definitions of Chef, Puppet, Vagrant, and Docker. There are so many others out there. This is my attempt. Chef : Chef is an automation platform to transform your infrastructure into code. It is also called, Configuration Management Software. You can define the state with different parameters as your config files, s/w, tools, access types and resource types, etc. Also, you can configure different machines with different functionality based on your need. Puppet : Puppet is a tool that allows you to abstract specific concepts of the target machine and make the configuration process more operating system agnostic. It allows to install a package or run a background service on startup independently. Define a command, packages those need to installed, step dependencies, file content, and other things you would need to get machine up and running without problems. Vagrant : Vagrant is a project that

Infrastructure as Code

Infrastructure as Code Picking up my blogs after a very long time, let’s see how long I last this time. So I decided to write something about a topic which I am hearing a lot, seems like it’s a buzz word these days. “Infrastructure as Code” Infrastructure as Code/Infrastructure automation is the process of scripting environments, from installing an operating system, to installing and configuring servers on instances, to configuring how the instances and software communicate with one another, and much more. By scripting environments, you can apply the same configuration to a single node or to thousands. Infrastructure automation brings agility to both development and operations because any authorized team member can modify the scripts while applying good development practices ·        Such as automated testing and versioning to your infrastructure. Developers can learn a lot from operations, and operations can learn a lot from developers. There are many open so

Mutual SSL Handshake .NET, SSL Client Authentication

Few days back I was working on this Mutual SSL Handshake Issue. I was stuck on this for quite sometime. Lack of information and very limited number people actually using this, caused me to work for lot of hours, which was supposed to be a very tiny piece of work. I was supposed to talk to a webserver from my webserver (IIS 7.5) using the SSL certificate client authentication. Because of limited information out there I figured few things on my own and thought of creating this blog about it so that people who are working on this can get some benefit out of it. Client certificate should have following Key Usages. Digital Certificate, Key Encipherment and extended usage of Client Authentication. The private key should be exportable and not protected. The root signers of your certificate should be on the target webserver’s trust store. Server certificate’s root signers should be on your server’s trust store. You don’t need to import your certificate to your certificate store. In

Generating PHP SHA1 Hash in Windows Phone and Windows 8 App

If you want to generate the PHP SHA1 (sometimes called hex digest format) in windows phone or windows 8 app us the following method. private string HashString(string str) { string dataHash = string.Empty; string hashType = "SHA1"; try { HashAlgorithmProvider Algorithm = HashAlgorithmProvider.OpenAlgorithm(hashType); IBuffer vector = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf8); IBuffer digest = Algorithm.HashData(vector); if (digest.Length != Algorithm.HashLength) { throw new System.InvalidOperationException("Failed"); } dataHash = CryptographicBuffer.EncodeToHexString(digest); return dataHash; } catch (Exception){} return null; }