Posts

Showing posts from October, 2015

CI/CD: A Perspective

Image
This is a series of articles planned to explain what is Continuous Integration and Continuous Distribution. It also discusses CI best practices, features and types. Further it tries to find out what is the value-add CI/CD brings to the software development, and what points should be consider while deciding upon a CI/CD engine. So, without further delay let's start with the CI first. Disclaimer : The diagrams/images used in my articles are "inherited" from the Internet. I am willing to give proper credit to the author if he/she contacts me. Also, if anybody has any objections about me using these diagrams/images, please let me know and I will remove them from my articles. Continuous integration As more and more projects are embracing Agile development methodology, CI is becoming an integral part of development process. CI is always there in one form or other, right from the beginning days of software development. In the initial days, having a build script and a

Thoughts on Source Code Packaging

Ever since the computer became a personal computer and came within easy reach of masses, writing and sharing software has been an essential feature eventually leading to the Free Software movement. In old days, software was being share by means of paper media, magnetic media etc. In the nascent days of computer networks, the software sharing came in the form of the bulletin boards, maturing along with technology to public software repositories generously hosted by big corporations and research institutes. These days we have dedicated software repositories such as GitHub, Sourceforge etc. teaming with hundreds of thousands of developers and teams. Ever since the first software source code was distributed, there has been a need to provide easy compilation mechanism. Sometimes this came as instruction set in a README file, INSTALL file etc. It was sufficient at the time, as the platforms hosting this software were limited to a very few Operating Systems. With the advent of e

IoT Platforms

Image
Internet of Things Entire Internet of Things (IoT) can be represented in 3 tiers as shown in following figure. Things comprise of a large number of intelligent sensors or devices deployed in field, which gather information about certain aspect of their environment. These devices interact with the “Infrastructure”. The communication media, Internet and server farm or Cloud, are part of the “Infrastructure”. The third part is the “Applications” which run on a wide range of devices are used by the end-user. The applications consume data produced by the “Infrastructure”. An ideal IoT platform is expected to cover the middle tier (the “Infrastructure”), including the interfaces on both sides. Ideal IoT Platform An ideal IoT platform should be reliable and secure . It should be scalable in terms of number of devices connected simultaneously, capability to handle concurrent communication channels etc. It should provide high availability , ease of integration and should be