Cloud or Server?
Es ist mir egal, ob es Cloud oder Server ist.
It was and it is still my attitude towards the trend of cloud, personally, I still prefer to use barebone VPS as I can and need to care more than just application development - it is about skill building.
As an application developer, what I essentially need is a place or an infrastructure to deploy and run my applications. For this, classical servers / VPS can do and the cloud can also just do.
To be fair, cloud can provide a bit more than VPS as more RESTful APIs are now cloud-privatized as cloud functions which in my oppionion is a clever and successful strategy to promote the adoption of cloud. However, using cloud functions also means a dependency on the cloud which makes it hard to migrate away from the cloud.
So to say: More freedom and more work on VPS. Less work (Easier) and less freedom (more dependency or being controled) on Cloud.
I cannot go against the trend of tech world. I need to embrace the trend. So I also look into clouds - AWS, Azure, Google Cloud Platform and so on. Of course, for the aspects I care.
Why really Cloud? In my opinion, it is because many organizations no longer want to manage / deal with own servers - therefore prefering easier infrastructures although losing much of the controls.
(In fact, the birth of this article is also triggered by the online meetup. I thought it is the time for me to note down something.)
Cloud
History (Timeline)
(source: https://www.pluralsight.com/resources/blog/cloud/serverless-showdown-aws-lambda-vs-azure-functions-vs-google-cloud-functions)
a brief summary of the FaaS services offered by AWS, Azure, and GCP
Service GA Since Regional Availability
AWS Lambda November 2014 Global
Azure Functions March 2016 Global
Google Cloud Functions February 2016 Global
Price
(source: https://www.pluralsight.com/resources/blog/cloud/serverless-showdown-aws-lambda-vs-azure-functions-vs-google-cloud-functions)
The table below compares what each provider offers in terms of free tier quota, and how much additional usage costs.
Provider Free Monthly Duration (GB-seconds) Free Monthly Requests Cost of Each Additional 1 Million Requests Cost of Each Additional 1 GB-second Duration is Rounded to the Nearest
AWS 400,000 1 Million $0.20 $0.000016 1ms
Azure 400,000 1 Million $0.20 $0.000016 1ms
GCP 400,000 2 Million $0.40 $0.0000125 100ms
Free Tiers
https://github.com/cloudcommunity/Cloud-Free-Tier-Comparison
(4 months ago as of 20240424)
-
AWS (https://aws.amazon.com/free/)
Always Free
Amazon DynamoDB (NoSQL): 25 GB of storage
AWS Lambda (FaaS): 1 Million free requests per month
Amazon SNS: 1 Million publishes -
Azure (https://azure.microsoft.com/en-us/free/)
Free for Limited-time
US$200 credit for 30 days
Popular services free for 12 monthsAlways Free
54+ other services free always -
Google Cloud (https://cloud.google.com/free/docs/gcp-free-tier)
Always Free
Compute VM: 0.25 vCPU, 1 GB RAM (only on us-west1, us-central1 and us-east1)
30 GB of standard persistent disk
1 GB of network egress (except China and Australia) - in premium tier
200 GB of network egress to any region in standard tier. (Comes with increased latency of around 20%.)
BigQuery (SQL): 1 TB of querying per month and 10 GB of storage each month
Cloud Storage: 5 GB-months of regional storage (US regions only) per month
Programming language support
So what are the most supported (runtime)?
- Java
- Node.js (JavaScript)
- .NET (C#)
- Python
(source: https://www.pluralsight.com/resources/blog/cloud/serverless-showdown-aws-lambda-vs-azure-functions-vs-google-cloud-functions)
The table below shows the currently supported FaaS runtimes for AWS, Azure, and GCP:
Service Supported Languages
AWS Lambda C#, Go, Java, Node.js, PowerShell, Python, Ruby
Azure Functions C#, F#, Java, Node.js, PowerShell, Python, TypeScript
GCP Cloud Functions C#, F#, Go, Java, Node.js, Python, Ruby, Visual Basic
(source: https://www.pluralsight.com/resources/blog/cloud/serverless-showdown-aws-lambda-vs-azure-functions-vs-google-cloud-functions)
Or Custom Runtimes
Provider Support for Custom Runtimes
AWS Lambda Yes, using custom deployment packages or AWS Lambda Layers
Azure Functions Yes, using Azure Functions custom handlers
GCP Cloud Functions Yes, using custom Docker images
Not really cloud
But Kubernetes and Docker
https://kubernetes.io/docs/concepts/overview/
- Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.
- Google open-sourced the Kubernetes project in 2014.
- Kubernetes combines over 15 years of Google's experience running production workloads at scale with best-of-breed ideas and practices from the community.
https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-kubernetes/#watch-how-kubernetes-works
- Kubernetes is open-source orchestration software for deploying, managing, and scaling containers.
- Modern applications are increasingly built using containers, which are microservices packaged with their dependencies and configurations.
- Kubernetes (pronounced “koo-ber-net-ees”) is open-source software for deploying and managing those containers at scale—and it’s also the Greek word for helmsmen of a ship or pilot. Build, deliver, and scale containerized apps faster with Kubernetes, sometimes referred to as “k8s” or “k-eights.”
- Why use Kubernetes?
- Keeping containerized apps up and running can be complex because they often involve many containers deployed across different machines.
- Kubernetes provides a way to schedule and deploy those containers—plus scale them to your desired state and manage their lifecycles.
- Use Kubernetes to implement your container-based applications in a portable, scalable, and extensible way.
More References
- https://cloud.google.com/docs/get-started/aws-azure-gcp-service-comparison
- Compare AWS and Azure services to Google Cloud
* cached version, generated at 2024-04-24 11:24:18 UTC.
Subscribe by RSS