Right Abstraction
Process of abstraction is as old as the mankind themselves. Whenever I brain looks at a problem, it tries to simplify by abstracting all the non-contextual aspect. In computer science as well, we follow the same process of hiding details through layering.
Get full Deck is here
Today we are seeing an increasing number of enterprises opting to transform themselves into a "software driven business". They are recognizing software and software based services as a unique differentiator.
This has created a huge demand for cloud based or cloud-alike operating model within the organization. We are regularly find ourself talking to large traditional organizations, about internet-scale or web-scale operting model. They all want to build and deliver software like the Netflix, Uber, Lyft or Airbnb. This is an amazing time to be in the digital transformation space. It is almost a revolutionary change in progress. And I find myself on the front-row seat for this show.
Digital transformation is a very huge topic and deserves a conference of its own. Today I will talk about a very small part of this journey - selecting a runtime environment. It may seem like a no-brainer to an individual, but it is a extremely important decision that an organization makes that influences each and every business and technical decision moving forward. Imagine, as an individual developer you chose to build an application in scala. Six months later Kotlin has become more popular and is far more apealing to use in your project. May be your applcation is not large just a few hundred lines of code, so you decide to migrate to Kotlin. May be you spend good week to fully migrate the whole application.
Now imagine there are 100s of apps and you have to do the same thing. And changing the runtime also needs ensuring right libraries, drivers or SDK for dependent services. It gets very messy, very fast.
In large enterprises, migration is not a result of an individuals preference but driven by variety of economic factors, regulatory changes and/or market forces. You may start with building and running your application on public cloud, but as you grow your service offerings you may be required to have keep data on-prem/onshore.
Hence, choosing right runtime will go a long way in ensuring success for the project and company.
In the presentation deck and in video you will find me going through variety of options that help you in build applications. Based on your preference, reigning technology in your organization, skills available, etc., you can make a more informed decision.