Wednesday, August 28, 2019

A tech article that I wrote along with an underlying message that, 'always listen to people and their ideas no matter how small they might seem.....' :)

A lucid article explaining the importance of today's 'Continuous Integration / Continuous Delivery' embedded Software Build & Release management methodologies for efficient and robust software delivery management to a larger ever increasing customer base.
------------------------------ ------------------------------ ------------------------------ ------------------------------

In today's modern era of decentralized computing technologies, it is indeed an established and a proven fact that it is the need of the hour for every company to embrace a CD-CI based Build and Release model that essentially thrives on the updated tools and technology stack already in use in the customer environments and with the competitors to ensure we are always a step ahead of the market.

The very question on why the customers ( be it internal or external ) are looking for an execution model that is simple yet perfectly scale-able , lightweight in terms of the imposed overhead yet highly efficient in terms of throughput, and above all loaded with robust security yet highly end user friendly and with ease of maintenance, answers the need for organizations to revisit their existing models of software delivery based off of the current legacy systems in-use and revamp them to include the state of the art mechanisms composed of latest tools and technologies.
     
With the widespread acceptance of tools & technologies like Docker Containers' execution oriented in-kernel light weight models, decentralized source code management systems (version control systems) like Git, not just highly object oriented APIs but also the public APIs that are modifiable with ease in the customer environment by the field personnel on par with the engineering teams that have developed them in order  to accommodate any dynamic user requests / enhancements. 

(i.e., a code/script snippet that is written in a simple to comprehend fashion and ' cod-ably ' reliable for a larger group of engineers as opposed to only a select few that belong to the 'Only-I-want-to-know-how-to-change-it' category, which isn't apt for any team to prosper ),

it has become extremely important for teams to be agile not just in the process being followed to deliver the software but also in the methodology in which it is being coded / scripted so that the delivery mechanism remains simple yet significantly reliable when it comes to bank on the key features like 
'scale-ability', security and above all the widely requested user friendliness.     

Now that literally every single organization is unanimously bifurcated in to 'Back-end' ( to deal with all the core infra for DBs, AppServers, WebServers, Messaging systems, and the underlying middle ware that entwines all these key layers ), 'Front-end' ( for those cozy web UIs, Widgets, standalone as well as server based dynamic JSPs that rely both on client side & server side validations ), and those important 'Integrations' with external / 3rd party systems that have become so important today to make sure that our software isn't just a fixed piece of a huge chunk of enterprise functionality that is explained across those heavy free docs accompanying the software installation module but also a dynamic enterprise feature that can go beyond what has been built with the help of simple 'plug-and-play' extensions that essentially speak for the functional 'scale-ability' of the software, should the situation demand.

Now, coming to the in-house software re-engineering practices to leverage all of its existing set of licensed external software systems that are used to build its own software, that every organization would like to perform to reduce their operational costs and to strike a balance between what is readily available and what is that missing piece to ensure that our engineering systems are on par with that of our competitors to stay ahead in the market, when it comes to make a statement on how abreast our tools and technologies are behind building and delivering our software, it certainly is the onus on each and every engineer to have his or her inputs provided to the management in the various appropriate endorsed ways which are never to be discouraged or ignored by any one, for that even a small idea might bring in a huge positive change that would help everyone in the long run once they realize its usefulness.

Isn't it true that even a huge banyan tree that is now giving shade to hundreds of folks sitting beneath, ( like the one located in  Sree Ramana aashram, Arunaachalam...) would sprout from a tiny seed...? Hence each and every input from however small or big a person / personality might be, would account for the overall wellness of any system when there is a heart to listen, willingness to respond and reciprocate the good lying within....! :)

------------------------------ ------------------------------ ------------------------------ ------------------------------

Author 
-Vinay Kumar Aitha
A seasoned CI-CD-B&R professional
************** **************  ************** **************

No comments:

Post a Comment