Last week, AWS introduced Lambda@Edge and AWS Step Functions (plus a few more), which enable enterprises to build the next generation of distributed applications using micro-services, edge compute functionality, server-less functions, APIs, content delivery, container and VM technologies. The bad news – we believe the EC2 business model will eventually be replaced by a newer and improved competitive model for the delivery of dynamic web applications. Lambda@Edge and AWS Step Functions are band-aids for an antiquated system. Today, the new paradigm is to leverage micro-services, APIs, containers, etc. to coordinate the delivery and consumption of components/content at the edge. What this really means is that there are two schools of thought: the old fashion AWS way and EC-CDN.
Keep in mind, this is our perspective. We’re not drinking the AWS Kool-aid. At its core, EC2 is the foundation for the AWS platform. And what are EC2 and EBS? EC2 and EBS are nothing more than an instance (VM) sitting on top of a shared server, where application business logic, database and data reside.
What is the biggest problem with EC2? The application business logic, database and data can only reside in one physical place at a time. This is more of a database architecture problem, because unlike caching software which can be everywhere at one time, the web application business logic, database and data are constrained to one location. Because EC2 doesn’t solve the application/database problem, AWS invented features to compensate for the flaw.
What are Lambda@Edge and AWS Step Functions? They are processes which extend the functionality of a limited EC2 environment housing application logic/database.
The two schools of thought are demonstrated in this diagram. At the bottom, we have the old school model of compute. EC2 instances and application business logic + database + data reside in one physical location. Lambda@Edge and AWS Step Functions are processes which help extend the functionality sitting in one location to PoPs around the world. The superior architecture is EC-CDN, which takes the application business logic + database + data to the edge. No processes are required to transact from data center to edge.
The entire AWS platform is built on the premise of EC2 + Application Business Logic + Database + Data residing in one location. With EC-CDN, that premise crumbles. We don’t expect the EC-CDN to be a good fit for a data warehouse, ERP or back-end database intensive applications. Rather, this is the best fit for web applications housing dynamic content.
EC-CDN vs Lambda@Edge and AWS Step Functions