In this article, I evaluate how Application Integration supports growing your Google Cloud Landing Zone with data and increasing efficiency through self-service. After introducing Google Cloud’s Application Integration, we will illustrate this concept through the “new project request” process and store the collected data in a central landing zone metadata platform. Data stored in this platform can now be used as a central overview and offers an opportunity for new automations to manage and expand the foundation services such as project governance, security, FinOps and much more.
Disclaimer: I work at Google in the cloud team. Opinions are my own and not the views of my current employer.
As organizations grow their landscape to run business operations it is no longer sustainable to implement point to point integrations with custom code. Adoption of cloud and the rise of low code / Gen AI applications will lead to accelerated growth and complexity. This is where Application integration comes into the picture.
Application Integration is an Integration-Platform-as-a-Service (iPaaS) solution in Google Cloud. It allows connecting applications with point-and-click configurations instead of code. The visual interface and large set of connectors make it simple to automate business processes and workflows quickly. It comes with many out-of-the-box triggers, connections and tasks, which make it easy to set u[p and expand as needed.
You can find more information on the product landing page.
In the blog post Growing your Google Cloud Landing zone with data I evaluate how data can enrich a landing zone and set you up for a modern, scalable, future proof and user centric solution. Typically organizations set up a dedicated team to manage the landing zone and enable the different workload teams. This can be achieved by organizing automated services, orchestrating them centrally and storing the necessary data in a landing zone metadata platform.
User story: as an IT Team Lead, I want to request a new GCP project, so that my team can start their development work
User journey:
In order to capture the request details, we will use a Google Form but many options are possible here. From a no code solution such as AppSheet, a low-code solution such as StreamLit, a custom solution or a SaaS solution (for instance Confluence, ServiceNow, etc.) — the integration connectors will allow you to use the service of choice and connect to it.
Learn more about Google Forms here.
The next step is to create the integration in the Google Cloud Platform. Get started following the guides from the documentation. (Note the documentation links that you can read to follow the detailed steps)
var POST_URL = "";
function onSubmit(e) {
var form = FormApp.getActiveForm();
var allResponses = form.getResponses();
var latestResponse = allResponses[allResponses.length - 1];
var response = latestResponse.getItemResponses();
var payload = { "eventContent": "formSubmitted", "event":{} };
for (var i = 0; i < response.length; i++) {
var question = response[i].getItem().getTitle().replace(' ','');
var answer = response[i].getResponse();
payload.event[question] = answer;
}
var options = {
"method": "POST",
"contentType": "application/json",
"payload": JSON.stringify(payload),
};
options.headers = {"Authorization": "Basic " + Utilities.base64Encode("")};
response = UrlFetchApp.fetch(POST_URL, options);
console.log(JSON.stringify(payload))
console.log(response.getResponseCode())
};
For the first version, let’s register the request in a BigQuery table and send out a confirmation email.
From now on, new features and steps can be added as needed.
For our next version, let’s add an approval task. This allows us to configure an approval-based integration to control the flow of this process. When the control reaches the Approval task, execution is halted, and all tasks after the Approval task are suspended. The integration resumes the execution only when a user manually approves or rejects the approval request.
Finally, we will add a call to Gemini to illustrate the integration of our automated process with Generative AI. For instance, let’s create a more personalized email message created by Generative AI. Obviously, you can consider any type of use case here for your own workflows.
Adding a data mapping task before the connector will help to form the appropriate input parameters for the Gemini model.
Adding javascript task after the connector will help to get the output from the Gemini model.and use it downstream using a parameter:
function executeScript(event) {
var input = event.getParameter("`Task_7_connectorOutputPayload`");
var obj = JSON.parse(input[0]["ResponseBody"]);
var output = obj['candidates'][0]['content']['parts'][0]['text'];
event.setParameter("`GeminiOutput`", output);
}
More information about the Gemini API structure can be found here.
Now that we have illustrated the basic concept of automation processes using Application Integration, it is your time to get started and ideate on how you can bring this to life for your organization. Interested in the technical capabilities, have a look at the documentation and start experimenting.
The following steps help you to successfully design and implement automation workflows that improve efficiency, reduce errors, and free up your team to focus on more valuable tasks. Remember that this is a journey, and each step taken will bring you closer to a more automated and efficient future.
Read more in my blog post Architecting for Automation: A Holistic Approach to Drive Efficiency and Innovation in the Cloud.