Which execution environment best suit your application needs on Google Cloud Platform

Image for post
Image for post

Google Cloud Platform offers a wide range of options to run your code on. In this article, we will see every service features, use cases, and pricing, and you decide which one fits the needs of your application and the level of control over the infrastructure you want.

Let's compare Cloud Functions, Cloud Run, App Engine, Cloud Dataflow, Compute Engine, and Kubernetes Engine (GKE), side by side.

TL;DR

  • Cloud Functions: serverless, fully managed, event-driven, for lightweight applications.
  • Cloud Run: serverless, fully managed, event-driven, for stateless containers.
  • App Engine: serverless, fully managed, highly scalable, for any kind of application.
  • Cloud Dataflow: serverless streaming and batch processing for data processing pipelines. …


Writing, debugging and deploying serverless container on Cloud Run with Cloud Code

Image for post
Image for post

Cloud Code is a tool that helps you write, debug, and deploy your application to Google Cloud services. Extensions to IDEs such as Visual Studio Code, Cloud Shell Editor, and the JetBrains IDEs family. It offers development tools to Google Kubernetes Engine and Cloud Run.

If you not familiar with the CLI or use the web console, it can save you a lot of time since it's way easier to make deploys and integrates a lot of tools into your IDE.

I will be showing step by step of an everyday workflow using the tool, from running the local emulators to deploying your container. …


How to use the same container to run and test your application

Image for post
Image for post

One of my favorite things that Docker does is saving us from the headache of setting up a new environment. When you work with a lot of third-party dependencies or with languages like C++ that don’t have a package manager, you learn to love it.

And Docker is like a universal language, there is multiple tools that can work with it, like Kubernetes, Google Cloud Run, AWS ECS, etc. When we use a CI tool, we usually build and run tests outside a Container, but there is an easy way to do everything inside.

This is specially useful when you are using tools like GitHub Actions or Jenkins, then you need to build your application only once and use your Docker image to test and deploy anywhere else. …


Using GitHub Actions to test and deploy Docker containers on Google Cloud Run

Image for post
Image for post

In this article, we will be setting up step by step an environment for automated building, testing, and deployment, using Docker and Google Cloud Run.

I will be assuming that you already have some knowledge of what CI/CD is, and you are looking to implement its ideas on your project. We will create a simple REST API, put it inside a container, and write a GitHub Actions script to deploy on Google Cloud Run.

Since we are talking Docker, the language you are using it's not important, but in this tutorial, I will be using Golang. …


How to set up a serveless monitoring environment on Google Cloud Platform for IoT devices.

Image for post
Image for post

In this article, we’ll be setting up step by step, a monitoring environment for IoT devices with an Arduino based board (ESP32), Grafana, and Google Cloud Platform tools. We’ll be using other tools like Docker and Prometheus, you don’t need to know how to use them, but I highly recommend that you know what they are and what they do.

First, let’s take a look into our infrastructure:

Image for post
Image for post

We’re using the built-in temperature sensor from ESP32 to sent data every 5 seconds to a pub/sub service in GCP. …


Image for post
Image for post

In this article, we’ll be setting up an environment for automated building, testing, and deployment, using containers and services hosted in the cloud.

I’ll be assuming that you already have some knowledge of what CI/CD is, and you’re looking to implement its ideas on your project. Furthermore you must have some previous knowledge of Docker, some of basics AWS services, and software engineering in general.

Given we’re working with Docker, the technology you’re using is not so important. But for this tutorial, we’ll be using Flask for its simplicity.

First things first, let me present to you our tools. For our code repository, we’ll be using Github. We need a CI tool to build, run the tests, and deploy our application (if everything goes well). And for that, we’re taking Travis-CI. For last, we need somewhere to host our application and, since we’re talking Docker, let’s use AWS Elastic Container Service (ECS). …


Image for post
Image for post

C++ doesn’t have a default package manager, making the development with external libraries complex, especially if you’re making a multiplatform system. Because of this absence, the community has created some strategies to work around and there are even some pretty consolidated package managers out there, such as Conan and Vcpkg, but none of them are simple and easy to use like CPM (no, we aren’t talking about this one).

CPM is the new kid on the block, its first version was released on April 2019, it’s a CMake script that gives CMake the capacity to make version control, caching, and install the dependencies of your project, created by Lars Melchior. …

About

Leonardo Lima

Computer Engineering student, C++ and Python developer, robotics and astronautics enthusiast, and open source defender

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store