Sunday, November 13, 2016

Infra Store - IT Marketplace

We all are familiar with Apple AppStore or Google Play Store we visit every day to download apps, games and necessary updates for our phones and tablets. AppStore model revolutionize the market place idea making it easy for both the software vendors and consumers to publish and install the software without the hassles of software building, distribution and deployment.

This success encouraged organizations to adopt the same market place model for distribution of enterprise software through enterprise app stores. Through these stores IT could deliver the software and updates with improved OLAs while realising true IT charge back models

While on the other hand, SDN (Software Defined Networks) changed the IT infrastructure paradigm replacing dedicated hardware devices with software components wherein a set of virtualized machines can play the role of routers, switches, gateways (even more than one at a time). This created new possibility in the form of spinning components dynamically to respond to demand of the hour which by traditional means was not possible. Still better, now these software driven virtual devices are apps making it simpler to build, deploy in a dev-ops ways while interact with the other apps to form part of the MeshApp schema of things.

Now imagine a situation wherein we can bring the best of both the worlds and create a new marketplace, a marketplace of IT infrastructure where IT devices are available off the shelf for an IT admin to select and add to the the dynamic network layout on the fly (device on demand model). This type of device store marketplace can delivery all the advantages of enterprise app store like workflow driven approval mechanisms, on demand chargeback models etc., which eases the cost of implementing and maintaining IT governance. These type of Infra Stores can create more and more possibilities which we have not thought through at this point.

Sounds interesting, write to me if you have more thoughts to share on this or to discuss how to implement these models

Wednesday, August 31, 2016

Building MicroServices! Real Fun...

I have been coding for more than 25 years and used more than 18 different programming languages (and the framework each is good and strong at) spanning every programming style from simple scripting, procedural to objected oriented to dynamic, functional (more attractive to Software Engineering community these days). Let me confess, every time I switched to new language or style I always felt “Oh, hope I also had that”. Trust me no language is complete; no style is perfect. So only way to feast your programming appetite is try something different which gives the flexibility. I honestly think, MicroServices style of application is the one that gives the needed flexibility.

It is not said and done. We need a more pragmatic answer to the question “Why it is fun?” In my experience, the biggest challenge in designing & building software systems is that of the identification of all the bit and pieces of the jigsaw puzzle. As we know, it is never easy to identify the position of any piece when we start. We get more clarity as we start putting the bits together. But still we do the mistake of attempting to design a software system upfront in a big piece (most of the core and add additional functionality to the core which is not expandable incurring more and more technical debt). Ideally what we need is a model or mechanism through which we can identify and build smaller components and put them together with great ease. This is why we use lean agile process. But what is the use of an agile process when our engineering approach is monolithic. This is where microservices approach rocks.

microservices are small building blocks of the application which can be put together to build the complete application functionality. Keep building smaller components and weave them together. Need a new functionality? Build and deploy a new microservice. This simple change in perception of developing application provides the flexibility of evolving the application architecture and design as we find more and more pieces of the jigsaw. This helps us in practicing the true agility in software engineering right from design and architecture, not just code development cycles.

Developing smaller blocks eases the pressure of coding and maintaining application modules. Smaller code footprints reduces dev/test/release cycles. Helps in quickly identify and fix bugs. Quickly address business process changes as we can quickly build and deploy a new service without having to fiddle with existing code.

Also, microservices are completely independent of each of other interfacing through messages. This improves application cohesion and helps in scalability. This not only means each can have their dev and ops cycles but also they can have their own technical stack providing completely technical freedom. No challenge of deciding the completely technical stack upfront, application design dictated by technology, tech stack lock downs, challenges in getting right and enough technical resources to dev and maintain etc.,

Moreover, microservices also help in controlling the technical debt.

Wednesday, May 18, 2016

TensorFlow at heart of more AI Research Projects for Google

Since it is open sourced, Google TensorFlow is becoming a more and more popular choice for AI enthusiast and researchers. With its recent announcement of DeepMind using TensorFlow for all its future research activities Google is reiterating its confidence on TensorFlow.

Other google AI research projects using TensorFlow includes

  • DeepDream, Google's visual AI that could transform photos into psychedelic art
  • Magenta - Google's quest to find "Can machines make music and art? If so, how? If not, why not?". To be officially launched on June 1st 

Tuesday, April 12, 2016

Your code on Github - What itz worth?

I am an open source proponent and contributor. As a hobbist I build lot of cool tools and apps which I keep posting onto my GitHub handle. However, to be frank with you so far I never posted any license agreement along with my code. May be I am bit lazy to spare time and research on the open source license models and identifying one which is suitable for me.

Recently while searching in Open Source Licensing models and implications I came across Steven Burnap  answer on stack exchange thread "Open source code with no license… can I fork it?". Further exploration of GitHub opensource license page  I found...

What happens if I don't choose a license?

You're under no obligation to choose a license. It's your right not to include one with your code or project, but please be aware of the implications. Generally speaking, the absence of a license means that the default copyright laws apply. This means that you retain all rights to your source code and that nobody else may reproduce, distribute, or create derivative works from your work. This might not be what you intend.

Even if this is what you intend, if you publish your source code in a public repository on GitHub, you have accepted the Terms of Service which do allow other GitHub users some rights. Specifically, you allow others to view and fork your repository within the GitHub site.

If you want others to use, copy, modify, or contribute back to your project, we strongly encourage you to include an open source license.

This made me realize the code I was posting on GitHub with the intent of attracting tech enthusiast to use it in the best interest of technical community was not serving the purpose.

Friday, April 1, 2016

Congrats! CSC Distinguished Engineers 2016

CSC Distinguished Engineers 2016 announced today. Congrats to these outstanding achievers

Frédéric Auberson (Switzerland) is an information systems architect in GBS where he deftly integrates innovative ideas from across the transportation and railway fields into expert architecture, systems and actions to provide the best technical solutions and implementation for our clients. He has received the 2010 CSC Chairman's Award for Excellence for his work on the Swiss Federal Railway Traffic Management System and was a 2014 CSC Award for Sales Excellence winner for Network Rail's Asset Management Programme, ORBIS.

Martin Bartlett (France) is an information systems architect in our Insurance group and chief architect for CSC's AIA insurance administration product. He is an AWS Certified Solutions Architect–Associate and domain expert in REST APIs. Outside of CSC, he’s known for the original RSS Live Links Chrome Extension, the stack engine underlying the KDE calculator, and XForms4Perl, an early UI framework for PERL. In addition, he is active in mentoring university students and interns both inside of CSC and out.

Pavel Hruby, PhD, (Denmark) is a software engineer and researcher in GBS who specializes in identifying new trends in information technologies. He is also an expert in business modeling and model-driven design using application logic patterns. Pavel is an active writer and published author, including, “Model-Driven Design Using Business Patterns,” and numerous industry articles. He also received the CSC Papers Grand Prize for "Capitalism in UML: Designing Service-Oriented Applications that Understand Your Business.” He holds three patents in the areas of configurable object definitions, business logic patterns and REA model-based security.

JP Morgenthal (United States) is a global solutions executive in the office of the CTO. He is an internationally known thought leader in the areas of IT transformation and strategy, modernization, and cloud computing. His technical expertise includes architecture, application development, infrastructure and operations, cloud computing, DevOps, and integration. JP is a published author of four trade publications, with his most recent being, “Cloud Computing: Assessing the Risks.” He is an avid and industry-recognized blogger.

Bill Ohnemus (United States) is a solution architect in Insurance who focuses on enterprise systems and package-based software with deep expertise in API development and ecosystems. He is co-founder and leader of CSC’s API community and program and is an AWS Certified Solutions Architect–Associate. He is a two-time CSC Grant awardee: the first grant was for the research paper, "Being and Effective Entrepreneur in a Cloud Ecosystem,” and the second grant focused on developing a proof of concept with He’s a recent graduate from Northwestern University with an MSIS in Information Security.
Bio on | LinkedIn | Twitter

Monday, March 21, 2016

Top 10 Tech Trends 2016

1. The Device Mesh
A variety of other trends have led to an increased number of sensors embedded in many technologies and devices that we use personally and professionally. They become smarter as they gather more data on our daily patterns. Gartner predicts that these sensors, which tend to work in silos today will increasingly work in concert, leading to even greater insights about our daily patterns.

2. Ambient User Experience
Gartner refers to these devices and sensors’ ability to gather more contextual data as described above as AMbient UX. The challenge will be with application design, anticipating this level of device synchronicity and collaboration, for lack of better framing. Gartner posits that the devices and sensors will become so smart that they will be able to organize our lives without our even noticing that they are doing so

3. 3D-printing Materials
Though not a new trend, 3D-printing has caught its stride now that companies like Tesla are using it to build engine parts, and SpaceX is using it to create rocket parts. Better applications of the technology to biological material and food will follow, according to Gartner.

4. Information of Everything
According to Gartner, by 2020, 25 billion devices will be generating data about almost every topic imaginable. This is equal parts opportunity and challenge.  There will be a plethora of data, but making sense of it will be the trick. Those companies that harness the power of this tidal wave of information will leapfrog competitors in the process.

5. Advanced Machine Learning
To an increasing extent, technologies will be able to not only collect information, but learn based upon it. In the process, much of the initial analysis that has typically required a human can be done by machines, elevating the analysis in the process. People will need to engage at a higher level as a result.

6. Autonomous Agents and Things
The potential for robots to continue to master and surpass humans in their ability to undertake human tasks will increase rapidly. Perhaps the most prominent example is the autonomous driving car, which leverage learnings from autonomous vehicles that have been used within controlled environments for years. Masdar City in the United Arab Emirates is one such prominent controlled environments. Movingi beyond controlled environments into non-controlled environments, including the airspace that drones occupy will require further advances – advances that Gartner foresees coming soon.

7. Adaptive Security Architecture
A majority of CIOs list security as their top priority, especially with an increased number of companies that have experienced breaches. Historical norms have been to play defense, but Gartner predicts that more tools will be available to go on the offensive, leveraging predictive modeling, for example, allowing apps to protect themselves. Gartner emphasizes that companies must build security into all business processes, end-to-end. Having it as an afterthought is tantamount to inviting issues.

8. Advanced Customer Architecture
Gartner notes that companies are pushing the envelope on making technology mimic human brains. Prominent examples of this in action include Facebook’s Deepface facial recognition technology.

9. Mesh App and Service Architecture
More apps are being built to be plugged together, and the value of the combination is much greater than the sum of the parts.  As Lyft has integrated with comparable offerings in other countries, its ability to expand its offering for traditional customers traveling abroad and the reverse has meant faster growth with minimal cost implications.

10. Internet of Things Architecture and Platforms
Gartner indicates that the providers of Internet of Things platforms are fragmented today, and would benefit greatly from cobbling together a better ecosystem where data is shared more broadly. This issue will persist through 2018, and IT departments will likely procure more one-off solutions as opposed to integrated webs of solutions that would serve them better. As IT leaders clamor for a better way, the change will come, says Gartner.