<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Robert Grootjen</title>
    <description>The latest articles on DEV Community by Robert Grootjen (@robertasaservice).</description>
    <link>https://dev.to/robertasaservice</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1670991%2F4b0b2ede-7624-4076-a56e-d71e90133485.png</url>
      <title>DEV Community: Robert Grootjen</title>
      <link>https://dev.to/robertasaservice</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/robertasaservice"/>
    <language>en</language>
    <item>
      <title>What is Dataplex on Google Cloud? - Explained the simple way</title>
      <dc:creator>Robert Grootjen</dc:creator>
      <pubDate>Thu, 27 Jun 2024 14:05:34 +0000</pubDate>
      <link>https://dev.to/robertasaservice/what-is-dataplex-on-google-cloud-explained-the-simple-way-21bi</link>
      <guid>https://dev.to/robertasaservice/what-is-dataplex-on-google-cloud-explained-the-simple-way-21bi</guid>
      <description>&lt;p&gt;Dataplex is a unified data management service on Google Cloud. It provides a centralized dashboard where you can manage, monitor, secure, and govern all your data across various storage systems like data lakes and data warehouses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Unified Data Management&lt;/strong&gt;&lt;br&gt;
Unifies data lakes, data warehouses, and databases&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Data Governence and Security&lt;/strong&gt;&lt;br&gt;
Ensures consistent security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Data Discovery and Cataloging&lt;/strong&gt;&lt;br&gt;
Automatically discoverys and catalogs data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Data Quality and Monitoring&lt;/strong&gt;&lt;br&gt;
Checks/monitors data quality and provides data health&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Collaboration and Data Sharing&lt;/strong&gt;&lt;br&gt;
Fascilitates colaboration and sharing with team&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Simple Metaphor to Understand Dataplex:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine Dataplex as a modern, high-tech library system for a large university:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Traditional Libraries (Traditional Data Management):&lt;/strong&gt;Each department has its own library with its own cataloging system, rules, and security measures.&lt;br&gt;
Finding a specific book might require visiting multiple libraries and dealing with different sets of rules.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dataplex (Unified Data Management):&lt;/strong&gt;A central library system manages all the books across various departmental libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unified Management:&lt;/strong&gt; Regardless of where a book (data) is located, you can manage and access it from a single system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Governance and Security:&lt;/strong&gt; There is a consistent set of rules and security measures applied to all books, ensuring they are well-protected and accessible only to authorized individuals.&lt;br&gt;
Discovery and Cataloging: The system automatically catalogs new books, making it easy to find them through a unified search interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Quality and Monitoring:&lt;/strong&gt; The library system monitors the condition of books and provides alerts if any book needs maintenance or replacement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaboration and Sharing:&lt;/strong&gt; Students and faculty can easily share books and resources securely, with the library system tracking who has access to what.&lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>gcp</category>
      <category>cloud</category>
      <category>dataplex</category>
    </item>
    <item>
      <title>What is GCP Interconnect?</title>
      <dc:creator>Robert Grootjen</dc:creator>
      <pubDate>Wed, 26 Jun 2024 14:35:00 +0000</pubDate>
      <link>https://dev.to/robertasaservice/what-is-gcp-interconnect-2ja1</link>
      <guid>https://dev.to/robertasaservice/what-is-gcp-interconnect-2ja1</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is GCP Interconnect?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google Cloud Interconnect is a service that provides a direct connection between your on prem or datacenter and the Google Cloud Network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of Interconnect:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dedicated Interconnect:&lt;/strong&gt; Provides a direct physical connection from your data center to Google Cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Partner Interconnect:&lt;/strong&gt; Uses a supported service provider, like a third-party, to connect your network to Google Cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Methaphor to understand:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you have a house (your on-premises network) and you frequently need to visit a store (Google Cloud) to get supplies (data and services).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Public Internet Connection:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Public Roads:&lt;/strong&gt; Using the public roads to get to the store. It can be slow and unpredictable due to traffic, and there is always a risk of encountering hazards (security risks).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GCP Interconnect:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Private Road:&lt;/strong&gt; Instead of using public roads, you build a private road (Interconnect) directly from your house to the store.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dedicated Interconnect:&lt;/strong&gt; You build a private road exclusively for your use, ensuring a fast, secure, and reliable journey every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Partner Interconnect:&lt;/strong&gt; You use a private road provided by a trusted partner, which connects you to the store with similar benefits of speed, security, and reliability.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What is Google Cloud Functions (simplified)?</title>
      <dc:creator>Robert Grootjen</dc:creator>
      <pubDate>Tue, 25 Jun 2024 19:52:32 +0000</pubDate>
      <link>https://dev.to/robertasaservice/what-is-google-cloud-functions-simplified-10gp</link>
      <guid>https://dev.to/robertasaservice/what-is-google-cloud-functions-simplified-10gp</guid>
      <description>&lt;p&gt;Google Cloud Functions is a service that runs specific code (a function) in response to events, without needing to keep servers running all the time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Event-driven:&lt;/strong&gt; Functions are triggered or executed through HTTP requests, changes in database, or uploads to cloud storage&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scalability:&lt;/strong&gt; Functions scales automatically based on incoming requests&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Serverless:&lt;/strong&gt; No need to manage servers&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Simple Metaphor to Understand Google Cloud Functions:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you run a bakery. &lt;/p&gt;

&lt;p&gt;In this bakery, you have a bell that rings whenever a customer enters, signaling the bakers to start baking a specific type of pastry based on the customer's request.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Bell:&lt;/strong&gt; This is like the event trigger in Google Cloud Functions. It could be an HTTP request, a new file uploaded to cloud storage, or a database update.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Bakers:&lt;/strong&gt; These are like the cloud functions. They are small, specific tasks (functions) that get executed in response to the bell ringing (event).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Recipe:&lt;/strong&gt; This is the code you write for your function, dictating what the bakers should do when the bell rings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Bakery Manager:&lt;/strong&gt; This is Google Cloud, managing the bakers (functions). You don’t worry about hiring more bakers (scaling), ensuring they have the ingredients (resources), or dealing with their schedules (server management). The manager takes care of everything so that the right number of bakers are always ready to respond to the bell.&lt;/p&gt;

&lt;h1&gt;
  
  
  cloudfunctions #serverless #gcp #googlecloud #cloud #google
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>GCP for beginners 2024: Build a simple web app with Cloud Run and Cloud Build through terminal</title>
      <dc:creator>Robert Grootjen</dc:creator>
      <pubDate>Sun, 23 Jun 2024 16:37:34 +0000</pubDate>
      <link>https://dev.to/robertasaservice/gcp-for-beginners-2024-build-a-simple-web-app-with-cloud-run-and-cloud-build-through-terminal-2kop</link>
      <guid>https://dev.to/robertasaservice/gcp-for-beginners-2024-build-a-simple-web-app-with-cloud-run-and-cloud-build-through-terminal-2kop</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Cloud Run?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud run is a fully managed compute platform managed by Google Cloud that automatically scales containers and it allows developers to deploy containerized applications in minutes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are the key features of Cloud Run?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Auto scaling = Scales up or down depending on traffic&lt;/li&gt;
&lt;li&gt;Containerized applications = Run any stateless container&lt;/li&gt;
&lt;li&gt;Fully managed = No need to manage servers, google takes care of everything&lt;/li&gt;
&lt;li&gt;Pay per use = Pay only for the resources you use&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;What is Cloud Run used for?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Web applications and API’s = Great for deploying microservices, Restful API’s, and as well web applications&lt;/li&gt;
&lt;li&gt;Data processing = Suitable for data transformation and ETL tasks&lt;/li&gt;
&lt;li&gt;Background jobs = Can handly simultanious jobs &lt;/li&gt;
&lt;li&gt;Event-driven applications = Works perfectly with event sources like cloud storage and pub/sub&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s a solid combination of Cloud Functions and App Engine, best of both worlds and it can be used as a PaaS or Faas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud Run in a Metaphor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you’re running a food truck business. Each containerized application you deploy is like a food truck.&lt;/p&gt;

&lt;p&gt;You can design and customize your food truck however you like, with any equipment, recipes (code), and ingredients (dependencies).&lt;/p&gt;

&lt;p&gt;Now, think of Cloud Run as a food truck park.&lt;/p&gt;

&lt;p&gt;The food truck park is the managed platform where your food trucks operate.&lt;/p&gt;

&lt;p&gt;This park offers several features:&lt;/p&gt;

&lt;p&gt;First, it provides flexibility—you can bring any type of food truck, serving any cuisine (programming language or framework).&lt;/p&gt;

&lt;p&gt;Second, the park has a smart system that monitors customer traffic. When there are more customers, more food trucks are called in to handle the demand. When there are no customers, the food trucks are sent away to save costs.&lt;/p&gt;

&lt;p&gt;Lastly, you don’t have to worry about maintaining the park infrastructure (like cleaning, security, or utilities).&lt;/p&gt;

&lt;p&gt;The park management (Google Cloud) takes care of all that, so you can focus on your food (application) and customers (users).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to build a cloud run through cloud shell&lt;/strong&gt; &lt;a href="https://youtu.be/rGxegu0Hsfc?si=F5EU4MXcUXEYALmX"&gt;(Here's the video)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a dir&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir my-cloud-run-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;cd into the folder we just created&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd my-cloud-run-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a main.py file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, Cloud Build!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a requirements.txt with the following&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Flask==2.0.1
Werkzeug==2.0.1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a dockerfile&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano Dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Use the official Python image from the Docker Hub
FROM python:3.9-slim

# Set the working directory
WORKDIR /app

# Copy the requirements file and install dependencies
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt

# Copy the rest of the application code
COPY . .

# Expose the port the app runs on
EXPOSE 8080

# Run the application
CMD ["python", "main.py"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Create a cloudbuid.yaml file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano cloudbuild.yaml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-cloud-run-app', '.']
  - name: 'gcr.io/cloud-builders/docker'
    args: ['push', 'gcr.io/$PROJECT_ID/my-cloud-run-app']
images:
  - 'gcr.io/$PROJECT_ID/my-cloud-run-app'

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you should have something like this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8phut89esvrktz99jv21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8phut89esvrktz99jv21.png" alt="files" width="193" height="112"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run cloud build to containerize the application&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud builds submit --config cloudbuild.yaml .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Deploy the cloud run (Make sure you put your Project ID and preferred region for example: us-central1)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud run deploy my-cloud-run-app \
  --image gcr.io/PROJECT_ID/my-cloud-run-app \
  --platform managed \
  --region YOUR_PREFERRED_REGION \
  --allow-unauthenticated
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After everything has been succesfully deployed, it will give you an URL to open/access your web app and it should say "Hello, Cloud Builders!"&lt;/p&gt;

&lt;p&gt;Now make sure to remove it, after you are done! If not GCP will charge you.&lt;/p&gt;

&lt;p&gt;Remove cloud run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud run services delete my-cloud-run-app --platform managed --region YOUR_PREFERRED_REGION
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remove container image&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud container images delete gcr.io/YOUR_PROJECT_ID/my-cloud-run-app --force-delete-tags

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
