This post today is focusing on 3 things:
• Enterprise Use Case for Serverless
• Serverless
• Dispatch
Most of the customers I work with are large enterprises, and like all large enterprise’s they lag some what with the mainstream adoption of newer technologies. Many I deal with, containers still have not really got there, maybe for a couple apps in PoC’s but not yet in production or very few in production, either way not a core technology used.
In comes Serverless (AKA Function as a Service), This has some of these large enterprises asking do they skip containers and go serverless with application architecture? Lets talk quickly about severless for those who might not be too familiar with the subject.
First off lets just say the term sucks IMO, there is still servers involved, it’s just referring to the fact you don’t require dedicated infrastructure like a VM or a container to function (see what I did there). Basically it is a bit of code or a script that executes somewhere (you shouldn’t care where), taking inputs and providing an output. Serverless really came into the light when AWS offered Lambda in 2014 to the world.
Like any immature technology there is a lot of change, there is many choices and there isn’t really a standard in place. New use cases are popping up constantly and things like IOT or edge computing is a big focus of Serverless functions right now.
Due to this changing and evolving nature, it makes it harder for enterprises to commit to the technology. This is where I think Dispatch from VMware comes into the picture.
What is Dispatch?
Dispatch is an opensource project from VMware, what these very smart people did was not do what everyone else is doing and that’s creating a new function scheduler and executor. Instead they developed a framework which incorporates production level services like iDM (Identity Management) and API gateway, while playing well with others and providing a level of agnostically around which FaaS implementation you want to use, currently has drivers for OpenFaaS and Riff.
Identity Management:
Security is a big ticket item in enterprise environments. Dispatch supports OAuth 2 compatible identity providers like Active Directory, this enabled multi tenancy solutions and role bases access approach, common requirements in the enterprise landscape.
API Gateway:
To offer web based services to trigger functions as part of a deployments requires the use of an API gateway. Dispatch uses Kong API gateway built into the platform to provide that production level functionality that enterprise deployments rely on.
Agnostic:
Clouds have quickly become the new silo’s, locking enterprises in with a very expensive exit cost. Enterprises today want choice, they are tied of being locked down to once specific flavour or a technology. Dispatch plays well with other, currently supporting 2 FaaS implementations. Important to not that this is not end game, there will be more. This makes the platform perfect for enterprises as it gives them choice of current offerings as well as future FaaS offerings.
That last point is a big point not just to enterprise but to anyone looking to adopt FaaS into their environment. In the last couple of years organisations are wanting choice and freedom, wanting to limit lock in into a specific platform. FaaS is no different.
Enterprise interest in FaaS.
I work with a number of customers who still run mainframes (yes they still exist), the bulk of the work is Data processing and ETL(Extract, Transform and Load) what the mainframes are doing is not hard, its the threads and scale they can achieve which still keep them in business.
FaaS is a perfect use case in enterprise for this, running a function to pull data from multiple sources transform and load that data back into another data set, it is capable to scale in parallel to meet peak demands and reduces the cost significantly both from hardware and licensing.
Some customers I have been talking to are already in the stages of PoCing the capability and have proven it is possible but there remains a lot of red tape around security, reliability, lock in, maturity, etc. All this basically amounts to risk. Dispatch is well positioned to reduce this risk and be the framework that can slot in here and make these types of transformations a reality.
For more information on dispatch please visit https://github.com/vmware/dispatch
Dispatch has a lot of maturing to do, but I can see in true VMware spirit a product that will abstract FaaS, give customer a choice while making it secure and manageable to operate. Looking forward to see what people can achieve going forward.
Cheers