google-compute-engine - Virtual Machines and billing - google-compute-engine

When i clicked through my google cloud console yesterday, i found 26 virtual machines that i disabled then (because i think that i don´t use these - but i pay for them).
I use firebase, firestore, firestorage, firebase cloud functions and
app-engine / flex-engine for php and python cron-jobs.
But today, there are 26 more vms up and running and my bill goes up. Can I disable / delete these machines and disable building new ones or disable the google-compute-engine overall?

According to our documentation about Billing for stopped instances:
Your instances are not charged for per-second usage charges in TERMINATED state but any resources attached to the virtual machine will be charged until they are deleted, such as static IPs and persistent disks.
The link1 will also provide you with details about the state of resources for stopped instances.
For more pricing information. I would recommend that you visit the following links:
1- Google Compute Engine Pricing.
2- Pricing details on each GCP product.
To know how to manage and modify your project billing settings and many more. Visit our cloud billing documentation.

Related

Does GCP charge for external static IP?

Google Cloud offers a free tier which includes Compute Engine. If I setup a static external IP on this instance, will I be charged, or will I be covered by the free tier?
In the Official Google Cloud Free Program documentation, it states under Free Tier usage limit for Compute Engine,
Google Cloud Free Tier does not include external IP addresses. same as using a GPU for your instance. Meaning you won't be able to change/update it (in-use External IP addresses for f1-micro instance).
Also, take note on this one:
Free Tier: All Google Cloud customers can use select Google Cloud
products—like Compute Engine, Cloud Storage, and BigQuery—free of
charge, within specified monthly usage limits. When you stay within
the Free Tier limits, these resources are not charged against your
Free Trial credits or to your Cloud Billing account's payment method
after your trial ends.

Cannot find the Always Free Eligible VM Instance when creating it

I wanted to create a Always Free Eligible VM Instance (VM.Standard.E2.1.Micro) on the Oracle Cloud, but it's not on my list.
And when I check my limit for VM.Standard.E2.1.Micro in
"Governance > Limits, Quotas and Usage", it say 0.
How can I create one? My Home Region is Canada Southeast (Montreal), ca-montreal-1.
My account's trial is not over yet. Should I wait till my trial is over to create it?
As per the Always Free website, at any time you can have up to the following:
Two Oracle Autonomous Databases with powerful tools like Oracle Application Express (APEX) and Oracle SQL Developer
Two Oracle Cloud Infrastructure Compute VMs; Block, Object, and Archive Storage; Load Balancer and data egress; Monitoring and Notifications
If you already are at capacity for this, then you would not be able to add an additional. Further details of Always Free resources can be found here - https://docs.oracle.com/en-us/iaas/Content/FreeTier/resourceref.htm
The always free provide you with the following
2 Compute virtual machines with 1/8 OCPU and 1 GB memory each.
2 Block Volumes Storage
100 GB total.
10 GB Object Storage.
10 GB Archive Storage.
Resource Manager: managed Terraform.
Focus on the specs of the free one
VM.Standard.E2.1.Micro is not available for ca-montreal-1 at this time (January 2021).
I created a new account in the Ashburn region where VM.Standard.E2.1.Micro is available.

Isn't Google App Engine suppose to be more expensive than Google Kubernetes engine

I had my app in the app engine(Flex). But it's costing a lot with no traffic yet!
I decided to move that to Kubernetes Engine which utilizes the compute engine.
Another reason I moved to Kubernetes because I wanted to run docker container services like Memcached that come with an added cost in App Engine Flex.
If you are tempted to ask why am not using App Engine Standard which is economical, that's because I couldn't find any easy way if at all there's any for running services like GDAL & Memcached.
I thought Kubernetes should be a cheaper option, but what I am seeing is the opposite.
I have even had to change the machine type to g1-small from N1...
Am I missing something?
Any ideas on how to reduce cost in Kubernetes / compute engine instances?
Please have a look at the documentation GKE Pricing and App Engine Pricing:
GKE clusters accrue a management fee of $0.10 per cluster per hour,
irrespective of cluster size or topology. One zonal (single-zone or
multi-zonal) cluster per billing account is free.
GKE uses Compute Engine instances for worker nodes in the cluster. You
are billed for each of those instances according to Compute Engine's
pricing, until the nodes are deleted. Compute Engine resources are
billed on a per-second basis with a one-minute minimum usage cost.
and
Apps running in the flexible environment are deployed to virtual
machine types that you specify. These virtual machine resources are
billed on a per-second basis with a 1 minute minimum usage cost.
Billing for the memory resource includes the memory your app uses plus
the memory that the runtime itself needs to run your app. This means
your memory usage and costs can be higher than the maximum memory you
request for your app.
So, both GAE Flex and GKE cluster are "billed on a per-second basis with a 1 minute minimum usage cost".
To estimate usage cost in advance you can use Google Cloud Pricing Calculator, also you can use it to estimate how changing parameters of your cluster can help you to reduce cost and which solution is more cost effective.
In addition, please have a look at the documentation Best practices for running cost-optimized Kubernetes applications on GKE.

Azure API Management Premium - do we really need a backup strategy

If we use Azure API management premium do we need to create a backup (disaster recovery) strategy?
It is replicated in as many separate regions as you want.
In the past, with non-premium we have called the API Management REST API to backup to Azure blog storage.
Obviously, you should always have a DR strategy but just wondering if it is overkill in this scenario.
Azure ApiManagement offers SLA on Proxy/Gateway uptime, so if you have a API Management deployed in multiple regions, the Proxy will continue to run, automatically failing over to non affected regions.
However the Publisher Portal, Developer Portal and Management REST Endpoint is still only hosted in the Master Region. If there a region wide disaster in the Master region of your service, they will not be accessible. Which would mean you cannot add new API/operations and new customers cannot subscribe for your service.
If one of the additional regions is impacted, the Proxy/Gateway it will sync up to latest configuration before starting up.

Amazon web services - basic workflow

I have a PHP/MySQL application test-deployed on a server, with a domain name that I own. In order for this to be a real world scalable product, I decided to use Amazon Web Services. However, I'm new to using cloud services (this is my first), and since the past 2 days, after going through tutorials and "how to start" guides given on Amazon, I've still been unable to grasp "what exactly should I do, so that I can use my present domain name and use Amazon's services?" My users should be able to access my product using, let's say www.xyz.com which is the name I own. My PHP code gets some data from client, which it then stores in a SQL DB. This is the existing, working set up.
Now, how do I get my PHP code, to use Amazon Web Servics and store it in a database that Amazon provides? My product's DB will be continuously growing, and I will pay for whatever is used. Also, if I decide to use the PHP services from Amazon too, does Amazon host my code? In that case, what will be the domain name?
To summarize, my biggest concern is the domain name I've bought, and I've seen no documentation on how to go forward in such a case.
This is the only part I have been unable to figure out, rest was clear from the documentation..
Thanks for your help!
Amazon Web Services (AWS) is a cloud platform composed of multiple services that jointly enable you to host infrastructure and applications on it. It's not a single offering that magically does everything for you. In order to achieve your goal you will want to do the following:
Use Amazon Elastic Compute Cloud (EC2) to spin up servers that host your PHP application. They will handle the incoming traffic for you. Have a look at this link to get started.
In order to store data you will want to use some sort of database. AWS offers various database types. Since you are looking for a SQL-type database, you will want to use RDS. This service allows you to provision a functional database and relieves you of certain administrative tasks.
In order to use your current domain, you will have to transfer its registration to AWS Route53. Just Google 'Route53 domain transfer' and the documentation will show you how to do it.
There are many whitepapers available that show architectural patterns across the AWS cloud. I suggest you read them so you can get a better understanding of the platform.
To get started quickly I recommend using Amazon Elastic Beanstalk for your purposes:
Amazon Web Services (AWS) comprises dozens of services, each of which
exposes an area of functionality. While the variety of services offers
flexibility for how you want to manage your AWS infrastructure, it can
be challenging to figure out which services to use and how to
provision them.
With Elastic Beanstalk, you can quickly deploy and manage applications
in the AWS Cloud without worrying about the infrastructure that runs
those applications. AWS Elastic Beanstalk reduces management
complexity without restricting choice or control. You simply upload
your application, and Elastic Beanstalk automatically handles the
details of capacity provisioning, load balancing, scaling, and
application health monitoring.
Learn more about it here
regarding the domain, you could transfer it to route 53
OR
route your domain traffic by using route53 name servers