Neeran M. Karnik

Eminent Speaker

Short CV: Neeran Karnik is a researcher and software architect, with interests in areas like distributed systems, cloud computing and security. He obtained a PhD in Computer Science from the University of Minnesota, with a thesis in the area of mobile agent security. He has worked in large organizations like IBM, Veritas and BMC Software as well as startups like CricInfo (where he was a co-founder), Vuclip and Tarana Wireless. He has also taught courses at University of Minnesota and IIT-Delhi. Neeran has published 20+ peer-reviewed papers in conferences and journals, and holds 25 US patents.

Title of Talk 1: Hints for Computer System Design
Synopsis: Butler Lampson, the ACM Turing award winner for 1992, wrote a famous paper with this title, summarizing his learnings from many years of systems development at Xerox PARC. His experience included work on the first person workstation (the Xerox Alto), the first WYSIWYG editor (Bravo), the first laser printer, etc. The Hints paper, first published in 1983, has stood the test of time and is relevant even for today's web-scale systems. The paper provides several generalized hints for systems design—a mix of fundamentals and best practices—accompanied by several examples from real systems designs. There are hints for ensuring correct functionality, speed, and fault tolerance. This talk will give a quick overview of the breadth of Lampson's research and implementation work, and then dive into the Hints paper itself.

Title of Talk 2: CricInfo—A Tech History
Synopsis: CricInfo, now owned by ESPN, started way back in 1993 as a service for providing online cricket-related information (live commentary, scorecards, news updates, statistics and records) on the Internet. We faced several technical challenges in the early days of CricInfo, and either built our own tools or repurposed existing ones to address our requirements. In this talk, I will give an overview of several of these tools and how they helped connect cricket-starved fans (especially in countries without live television coverage of cricket) to the information they sought. This includes tools like IRC bots for sharing live commentary, dougie for cricket scoring, gopher as an information system, vat for transmitting audio over the 'net, etc. We will also briefly look at the infrastructure used for hosting CricInfo back then, and the constraints it posed.

Title of Talk 3: Cloud-Native Computing
Synopsis: Cloud-native Computing is a modern approach to software development in which the application is architected from scratch "for the cloud". This influences the application's design, implementation, deployment as well as operations.

This talk will give an overview of cloud-native computing, its historical context, and several building blocks such as microservices architecture, containerization, clusters and service meshes. Microservices enable us to design and develop the application as a set of autonomous, loosely-coupled modules communicating over standard protocols. Open-source tools like Docker, Kubernetes, Envoy and Istio facilitate the deployment, orchestration, monitoring and control of cloud applications at runtime. Finally, we will consider how such cloud-native applications can be hosted on public as well as private clouds, and the tradeoffs involved.

Neeran M. Karnik

Qualifications: Ph.D. (Computer Science)

Title: Principal Architect

Affiliation: Tarana Wireless

Contact Details: neeran@yahoo.com