I am using google cloud platform for my project and planning to use mongodb cloud service.
I am confused in selecting the MongoDB on Cloud Platform.
I had read this link which tells 3 ways through which we can deploy mongodb.
Please help me out for selecting best option.
Recommendation
I have used all three options for deploying MongoDB on the Cloud Platform and believe the Cloud Launcher for MongoDB is by far your best choice.
Justification
I would like to address each of the three deployment options and explain my reasoning.
Cloud Launcher for MongoDB
The Cloud Launcher for MongoDB is what I would recommend. It's much simpler than creating a MongoDB database in any other way, since there are presets and you click through a nice UI. This was the way I created my first MongoDB database and felt pretty confident throughout the setup process.
MongoDB Cloud Manager
The MongoDB Cloud Manager is a more advanced version of the Cloud Launcher for MongoDB. It supports "more complex deployments... ...such as complex replica sets or sharded clusters." You will be able to work your way towards these complex deployments with the Cloud Launcher for MongoDB, without being overwhelmed immediately.
Google Cloud Deployment Manager
The Google Cloud Deployment Manager "lets you automate the setup of [the] MongoDB Cloud Manager." The MongoDB Cloud Manager is already more complicated than the Cloud Launcher for MongoDB, so there is no reason for you to automate deployments at this point.
Documentation Quoted in this Answer
Related
As I dive into the world of Cloud Composer, Airflow, Google Kubernetes Engine, and Kubernetes I've not yet found a good answer to what exactly makes Cloud Composer better than Helm and GKE.
Here are some things I've found that could be unique to Composer but mostly seem like they could be handled by GKE.
On their homepage:
End-to-end integration with Google Cloud products including BigQuery, Dataflow, Dataproc, Datastore, Cloud Storage, Pub/Sub, and AI Platform gives users the freedom to fully orchestrate their pipeline.
On the features page:
Identity-Aware Proxy protects the interface
Cloud Composer associates a Cloud Storage bucket with the environment. The associated bucket stores the DAGs, logs, custom plugins, and data for the environment.
The downsides of Composer I've seen include:
It takes many hours to spin up a new instance
It doesn't support Kubernetes Executor
It is risky to change the underlying GKE config because it could be changed back by a composer update
There are often errors that happen when auto-scaling often happen but are documented as known
Upgrading environments is still beta
To be clear, I'm not saying Cloud Composer is bad. I'm just having trouble seeing why people like it. When I've asked folks why it is better than Helm + GKE they haven't had any compelling answers despite that they can tell many stories of Composer being unpredictable and having lots of issues.
Are you comparing the same things?
On one side, GKE, you have a container orchestrator. Declare that you want, it will deploy and maintain the stability of the cluster according with declared configuration. This configuration can be packaged with helm to write it in an easier mode. Because you deploy container, you can use the language that you want in your services.
On the other side, you have a workflow manager, with scheduler, retry policies, parallel task, context forwarding. you write DAG in python (only!) and you have operators to interact with external product/services. It's mainly designed for data processing and used a lot by data scientist and data engineering team.
Note: Cloud Composer is deployed on top of GKE (scheduler and worker), redis, app engine and Cloud SQL.
You compare 2 different worlds: Ops world (GKE/Helm) and the App/Data world (Composer/Airflow). Have a look to this new video
Update 1:
My bad, I didn't understand!!! Anyway, personally I don't want to manage things by myself: a cluster, the update of K8S, VM patching, replicas, snapshot, backup/restore,...
If someone can do this for me, I prefer, and managed services are perfect for me!!
Do you ask yourselves this question about Cloud SQL and a database managed by yourselves on a Compute Engine instance? If not (because Cloud SQL solve a lot of boring issues), my opinion is the same for Composer.
But it's an opinion, I didn't test both and compare the performance, cost and easiness.
I have a problem with Spring Boot application. I want to connect a Firestore and a MySql database in my Spring boot application. I would to know if it is possible. So I'm wondering if someone have an easy example to know this magic. Thanks.
Connection itself shouldn't be any problem. Firestore has well developed API for all popular languages, very simple and convenient to use, please check reference bellow.
You have mentioned MySQL, not sure if you are aware that GCP has also serverless Cloud SQL that can run MySQL for you (documentation).
You can find it here references and quick-starts here:
Google Cloud Firestore: quickstart, How-to and API reference.
Here I found example app tutorial: youtube.
Other interesting stuff: Spring Boot on GCP, Deploying on cloud from docs.spring.io.
You can also deploy your Spring Boot app on App Engine which can give you serverless solution for whole your stack - whole on GCP.
So recently I started studying MongoDB Atlas. So just wanted to know how I can integrate that cloud database to any cloud integration tool such as MULESOFT. Do I have to create an API from MongoDB Stitch and then integrate it or am I missing something?
Help would be much appreciated.
Specifically for Mule Runtime (MuleSoft is the company name, not a product) you can use the MongoDB connector to connect an application to a MongoDB database. For Atlas compatibility I have seen it is recommended to set the authenticationDB configuration.
I am trying to deploy my postgresql server to google cloud, like how we deploy in heroku. But i am not finding any tutorial or proper docs to start.
Can any one please help me in this, Thanks!
You can easily migrate a postgres database to Google Cloud SQL.
Basically it involves, creating an SQL instance, a replication using a Compute engine VM. Then seeding, and migrating your data.
The official documentation for this from google is here;
Migrate an on-premises PostgreSQL cluster to Google Cloud
This is a very good post giving a detailed step by step guide for the entire process.
How to migrate PostgreSQL databases to Google Cloud SQL
I am migrating Cassandra to Google Cloud and I have checked out few options like deploying cassandra inside Kubernetes, using Datastax Enterprise on GCP and Portworks etc., but not sure which one to use. Can someone suggest me with better options that you have used to deploy Cassandra on cloud?
As Carlos Monroy mentioned in his comment is correct, this is wide-ranging, it highly depends on the use case, number of users, SLA. I've found these links useful that describes how to deploy Cassandra in GCE and how to run Cassandra in GKE with stateful sets. This documentation will guide you to about DataStax Distribution of Apache Cassandra on GCP Marketplace You can also consider the cost between running those products. You can estimate the charges using GCP pricing calculator.