Need advice about which tool to choose?Ask the StackShare community!
Azure Functions vs Knative: What are the differences?
Deployment Options: Azure Functions provides a fully managed, serverless environment for executing functions, which means that developers do not have to worry about infrastructure management. On the other hand, Knative offers a platform for running serverless workloads on Kubernetes. This allows for more control and flexibility in terms of deployment options, as Kubernetes provides a rich set of features for managing containers.
Programming Languages: Azure Functions supports a wide range of programming languages, including C#, JavaScript, Java, Python, PowerShell, and TypeScript. Knative is language-agnostic and can run functions written in any language as long as it can run within a container. This allows developers to use the programming language of their choice when using Knative.
Scalability: Azure Functions automatically scales based on the number of events or requests, ensuring that there are enough resources to handle the workload. Knative also provides auto-scaling capabilities, allowing functions to scale up and down based on demand. However, Knative offers more fine-grained control over the scaling behavior by allowing developers to define custom scaling policies.
Event Triggers: Azure Functions provides a variety of event triggers, such as HTTP requests, timers, message queues, and database changes, that can trigger the execution of a function. Knative also supports event-driven programming, allowing functions to be triggered by various events. However, Knative provides a more extensible framework for defining custom event sources, allowing developers to create their own triggers.
Integration: Azure Functions integrates seamlessly with other Azure services, such as Azure Blob Storage, Azure Cosmos DB, and Azure Event Grid, making it easy to build serverless applications that leverage various Azure services. Knative can be integrated with any service that can send or receive events, allowing functions to interact with a wide range of external systems.
Pricing Model: Azure Functions offers a consumption-based pricing model, where developers only pay for the actual execution time and resources consumed by their functions. Knative, being an open-source project, does not have a built-in pricing model and the costs associated with running Knative workloads depend on the underlying infrastructure.
In summary, Azure Functions and Knative differ in terms of deployment options, programming languages, scalability, event triggers, integration capabilities, and pricing models. While Azure Functions provides a fully managed serverless environment with extensive integration options within the Azure ecosystem, Knative offers more control over deployment and scaling, supports any programming language, and can integrate with any event source.
Need advice on what platform, systems and tools to use.
Evaluating whether to start a new digital business for which we will need to build a website that handles all traffic. Website only right now. May add smartphone apps later. No desktop app will ever be added. Website to serve various countries and languages. B2B and B2C type customers. Need to handle heavy traffic, be low cost, and scale well.
We are open to either build it on AWS or on Microsoft Azure.
Apologies if I'm leaving out some info. My first post. :) Thanks in advance!
I recommend this : -Spring reactive for back end : the fact it's reactive (async) it consumes half of the resources that a sync platform needs (so less CPU -> less money). -Angular : Web Front end ; it's gives you the possibility to use PWA which is a cheap replacement for a mobile app (but more less popular). -Docker images. -Kubernetes to orchestrate all the containers. -I Use Jenkins / blueocean, ansible for my CI/CD (with Github of course) -AWS of course : u can run a K8S cluster there, make it multi AZ (availability zones) to be highly available, use a load balancer and an auto scaler and ur good to go. -You can store data by taking any managed DB or u can deploy ur own (cheap but risky).
You pay less money, but u need some technical 2 - 3 guys to make that done.
Good luck
My advice will be Front end: React Backend: Language: Java, Kotlin. Database: SQL: Postgres, MySQL, Aurora NOSQL: Mongo db. Caching: Redis. Public : Spring Webflux for async public facing operation. Admin api: Spring boot, Hibrernate, Rest API. Build Container image. Kuberenetes: AWS EKS, AWS ECS, Google GKE. Use Jenkins for CI/CD pipeline. Buddy works is good for AWS. Static content: Host on AWS S3 bucket, Use Cloudfront or Cloudflare as CDN.
Serverless Solution: Api gateway Lambda, Serveless Aurora (SQL). AWS S3 bucket.
Pros of Azure Functions
- Pay only when invoked14
- Great developer experience for C#11
- Multiple languages supported9
- Great debugging support7
- Can be used as lightweight https service5
- Easy scalability4
- WebHooks3
- Costo3
- Event driven2
- Azure component events for Storage, services etc2
- Poor developer experience for C#2
Pros of Knative
- Portability5
- Autoscaling4
- Open source3
- Eventing3
- Secure Eventing3
- On top of Kubernetes3
Sign up to add or upvote prosMake informed product decisions
Cons of Azure Functions
- No persistent (writable) file system available1
- Poor support for Linux environments1
- Sporadic server & language runtime issues1
- Not suited for long-running applications1