Tag Archives: google cloud

Extend Google Apps Script with your API library to empower users

Posted by Keith Einstein, Product Manager

Banner image that shows the Cloud Task logo

Google is proud to announce the availability of the DocuSign API library for Google Apps Script. This newly created library gives all Apps Script users access to the more than 400 endpoints DocuSign has to offer so they can build digital signatures into their custom solutions and workflows within Google Workspace.

The Google Workspace Ecosystem

Last week at Google Cloud Next ‘21, in the session “How Miro, DocuSign, Adobe and Atlassian are helping organizations centralize their work”, we showcased a few partner integrations called add-ons, found on Google Workspace Marketplace. The Google Workspace Marketplace helps developers connect with the more than 3 billion people who use Google Workspace—with a stunning 4.8 billion apps installed to date. That incredible demand is fueling innovation in the ecosystem, and we now have more than 5,300 public apps available in the Google Workspace Marketplace, plus thousands more private apps that customers have built for themselves. As a developer, one of the benefits of an add-on is that it allows you to surface your application in a user-friendly manner that helps people reclaim their time, work more efficiently, and adds another touchpoint for them to engage with your product. While building an add-on enables users to frictionlessly engage with your product from within Google Workspace, to truly unlock limitless potential innovative companies like DocuSign are beginning to empower users to build the unique solutions they need by providing them with a Google Apps Script Library.

Apps Script enables Google Workspace customization

Many users are currently unlocking the power of Google Apps Script by creating the solutions and automations they need to help them reclaim precious time. Publishing a Google Apps Script Library is another great opportunity to bring a product into Google Workspace and gain access to those creators. It gives your users more choices in how they integrate your product into Google Workspace, which in turn empowers them with the flexibility to solve more business challenges with your product’s unique value.

Apps Script libraries can make the development and maintenance of a script more convenient by enabling users to take advantage of pre-built functionality and focus on the aspects that unlock unique value. This allows innovative companies to make available a variety of functionality that Apps Script users can use to create custom solutions and workflows with the features not found in an off-the-shelf app integration like a Google Workspace Add-on or Google Chat application.

The DocuSign API Library for Apps Script

One of the partners we showcased at Google Cloud Next ‘21 was DocuSign. The DocuSign eSignature for Google Workspace add-on has been installed almost two-million times. The add-on allows you to collect signatures or sign agreements from inside Gmail, Google Drive or Google Docs. While collecting signatures and signing agreements are some of the most common areas in which a user would use DocuSign eSignature inside Google Workspace, there are many more features to DocuSign’s eSignature product. In fact, their eSignature API has over 400 endpoints. Being able to go beyond those top features normally found in an add-on and into the rest of the functionality of DocuSign eSignature is where an Apps Script Library can be leveraged.

And that’s exactly what we’re partnering to do. Recently, DocuSign’s Lead API Product Manager, Jeremy Glassenberg (a Google Developer Expert for Google Workspace) joined us on the Totally Unscripted podcast to talk about DocuSign’s path to creating an Apps Script Library. At the DocuSign Developer Conference, on October 27th, Jeremy will be teaming up with Christian Schalk from our Google Cloud Developer Relations team to launch the DocuSign Apps Script Library and showcase how it can be used.

With the DocuSign Apps Script Library, users around the world who lean on Apps Script to build their workplace automations can create customized DocuSign eSignature processes. Leveraging the Apps Script Library in addition to the DocuSign add-on empowers companies who use both DocuSign and Google Workspace to have a more seamless workflow, increasing efficiency and productivity. The add-on allows customers to integrate the solution instantly into their Google apps, and solve for the most common use cases. The Apps Script Library allows users to go deep and solve for the specialized use cases where a single team (or knowledge worker) may need to tap into a less commonly used feature to create a unique solution.

See us at the DocuSign Developer Conference

The DocuSign Apps Script Library is now available in beta and if you’d like to know more about it drop a message to [email protected]. And be sure to register for the session on "Building a DocuSign Apps Script Library with Google Cloud", Oct 27th @ 10:00 AM. For updates and news like this about the Google Workspace platform, please subscribe to our developer newsletter.

Migrating App Engine push queues to Cloud Tasks

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Banner image that shows the Cloud Task logo

Introduction

The previous Module 7 episode of Serverless Migration Station gave developers an idea of how App Engine push tasks work and how to implement their use in an existing App Engine ndb Flask app. In this Module 8 episode, we migrate this app from the App Engine Datastore (ndb) and Task Queue (taskqueue) APIs to Cloud NDB and Cloud Tasks. This makes your app more portable and provides a smoother transition from Python 2 to 3. The same principle applies to upgrading other legacy App Engine apps from Java 8 to 11, PHP 5 to 7, and up to Go 1.12 or newer.

Over the years, many of the original App Engine services such as Datastore, Memcache, and Blobstore, have matured to become their own standalone products, for example, Cloud Datastore, Cloud Memorystore, and Cloud Storage, respectively. The same is true for App Engine Task Queues, whose functionality has been split out to Cloud Tasks (push queues) and Cloud Pub/Sub (pull queues), now accessible to developers and applications outside of App Engine.

Migrating App Engine push queues to Cloud Tasks video

Migrating to Cloud NDB and Cloud Tasks

The key updates being made to the application:

  1. Add support for Google Cloud client libraries in the app's configuration
  2. Switch from App Engine APIs to their standalone Cloud equivalents
  3. Make required library adjustments, e.g., add use of Cloud NDB context manager
  4. Complete additional setup for Cloud Tasks
  5. Make minor updates to the task handler itself

The bulk of the updates are in #3 and #4 above, and those are reflected in the following "diff"s for the main application file:

Screenshot shows primary differences in code when switching to Cloud NDB & Cloud Tasks

Primary differences switching to Cloud NDB & Cloud Tasks

With these changes implemented, the web app works identically to that of the Module 7 sample, but both the database and task queue functionality have been completely swapped to using the standalone/unbundled Cloud NDB and Cloud Tasks libraries… congratulations!

Next steps

To do this exercise yourself, check out our corresponding codelab which leads you step-by-step through the process. You can use this in addition to the video, which can provide guidance. You can also review the push tasks migration guide for more information. Arriving at a fully-functioning Module 8 app featuring Cloud Tasks sets the stage for a larger migration ahead in Module 9. We've accomplished the most important step here, that is, getting off of the original App Engine legacy bundled services/APIs. The Module 9 migration from Python 2 to 3 and Cloud NDB to Cloud Firestore, plus the upgrade to the latest version of the Cloud Tasks client library are all fairly optional, but they represent a good opportunity to perform a medium-sized migration.

All migration modules, their videos (when available), codelab tutorials, and source code, can be found in the migration repo. While the content focuses initially on Python users, we will cover other legacy runtimes soon so stay tuned.

HLTH: Building on our commitments in health

Tonight kicked off the HLTH event in Boston that brings together leaders across health to discuss healthcare's most pressing problems and how we can tackle them to improve care delivery and outcomes.

Over the past two years, the pandemic shined a light on the importance of our collective health — and the role the private sector, payers, healthcare delivery organizations, governments and public health play in keeping communities healthy. For us at Google, we saw Search, Maps and YouTube become critical ways for people to learn about COVID-19. So we partnered with public health organizations to provide information that helped people stay safe, find testing and get vaccinated. In addition, we provided healthcare organizations, researchers and non-profits with tools, data and resources to support pandemic response and research efforts.

As I mentioned on the opening night of HLTH, Google Health is our company-wide effort to help billions of people be healthier by leaning on our strengths: organizing information and developing innovative technology. Beyond the pandemic, we have an opportunity to continue helping people to address health more holistically through the Google products they use every day and equipping healthcare teams with tools and solutions that help them improve care.

Throughout the conference, leaders from Google Health will share more about the work we’re doing and the partnerships needed across the health industry to improve health outcomes.

Meeting people in their everyday moments and empowering them to be healthier

People are increasingly turning to technology to manage their daily health and wellbeing — from using wearables and apps to track fitness goals, to researching conditions and building community around those with similar health experiences. At Google, we’re working to connect people with accurate, timely and actionable information and tools that can help them manage their health and achieve their goals.

On Monday, Dr. Garth Graham, who leads healthcare and public health partnerships for YouTube, will join the panel “Impactful Health Information Sharing” to discuss video as a powerful medium to connect people with engaging and high-quality health information. YouTube has been working closely with organizations, like the American College of Physicians, the National Alliance on Mental Illness and Mass General Brigham, to increase authoritative video content.

On Tuesday, Fitbit’s Dr. John Moore will join a panel on “The Next Generation of Health Consumers” focusing on how tools and technologies can help people take charge of their health and wellness between doctors’ visits — especially for younger generations. Regardless of age, there’s a huge opportunity for products like Fitbit to deliver daily, actionable insights into issues that can have a huge impact on overall health, like fitness, stress and sleep.

Helping health systems unlock the potential of healthcare data

Across Google Health, we’re building solutions and tools to help unlock the potential of healthcare data and transform care delivery. Care Studio, for example, helps clinicians at the point of care by bringing together patient information from different EHR systems into an integrated view. We’ve been piloting this tool at select hospital sites in the U.S. and soon clinicians in the pilot will have access to the Care Studio Mobile app so they can quickly access the critical patient information they need, wherever they are — whether that’s bedside, at clinic or in a hospital corridor.

In addition to Care Studio, we’re developing solutions that will bring greater interoperability to healthcare data, helping organizations deliver better care. Hear more from Aashima Gupta, Google Cloud’s global head of healthcare solutions, at HLTH in two sessions. On Monday, October 18, Aashima will discuss how digital strategies can reboot healthcare operations, and on Tuesday, October 19 she will join the panel “Turning of the Data Tides” to discuss different approaches to data interoperability and patient access to health records.

Building for everyone

Where people live, work and learn can greatly impact their experience with health. Behind many of our products and initiatives are industry experts and leaders who are making sure we build for everyone, and create an inclusive environment for that work to take place. During the Women at HLTH Luncheon on Tuesday, Dr. Ivor Horn, our Director of Health Equity, will share her career journey rooted in advocacy, entrepreneurship and activism.

From our early days as a company, Google has sought to improve the lives of as many people as possible. Helping people live healthier lives is one of the most impactful ways we can do that. It will take more than a single feature, product or initiative to improve health outcomes for everyone. If we work together across the healthcare industry and embed health into all our work, we can make the greatest impact.

For more information about speakers at HLTH, check out the full agenda.

Using cloud technology for the good of the planet

Editor’s Note: This article was originally published on our Google Cloud blog.

Climate change is a global issue that is getting more urgent by the year, with the past decade recorded as the hottest since records began 140 years ago. The global IT infrastructure contributes to the global carbon footprint, with an estimated 1% of the global electricity consumption attributed to data centers alone.

The good news is that companies are capable of changing course and taking action for the environment. To create the world’s cleanest cloud, here’s a look at what Google Cloud has been focusing on over the past two decades.


Renewable energy and climate neutrality

Computer centers, offices, and infrastructure will continue to require a lot of electricity in the years to come. And sourcing clean energy will become all the more important for companies to pave the way for a renewable future. As the world’s largest corporate purchaser of renewable energy, Google’s mission isn’t just to use carbon-free energy internally, but to make it available to consumers everywhere.

Regular milestones reinforce this mission. In 2007, Google became the first climate-neutral company. In 2017, it became the first company compensating 100% of its energy consumption with renewable energy. Not to mention the years prior: by now, Google has invested enough in high-quality climate compensations to compensate for all its emissions since the company was founded in 1998.

Looking ahead to the future, Google recently announced its commitment to become the first major company to operate fully carbon-free by 2030. That means: 100% carbon-free energy, 24/7.


Smart and efficient data centers

Data centers play an important role in this sustainability strategy. The more efficiently they operate, the more sustainably customers can use Google Cloud solutions. Energy-saving servers, highly efficient computer chips, and innovative water supply solutions for cooling systems are just a few examples of efficiency-enhancing measures in Google’s data centers.

Google Cloud is committed to using these technologies as part of a comprehensive sustainability strategy. But it’s not enough to be efficient on paper, it must be measurable too. That’s why Google calculates a so-called Power Usage Effectiveness value. The result: on average, a Google data center is twice as energy efficient as a typical enterprise data center.


Waste prevention with a circular economy

In a circular economy, materials, components, and products are manufactured in such a way that they can be reused, repaired, or recycled. It’s based on three core principles, which Google follows: designing out waste and pollution, keeping products and materials in use, and promoting healthy materials and safe chemistry. In 2019, Google found a new purpose for 90% of the waste products from its global data center operations and 19% of the components used for server upgrades were refurbished inventory.


Using AI to reduce food waste

Because companies can reduce their ecological footprint with advanced technologies, Google Cloud seeks to make our tools as user-friendly as possible. Many of our solutions put a strong emphasis on sustainability.

Sustainability was a top of mind for French retail group Carrefour, for example, when it established a partnership with Google Cloud in 2018. The problem? Every year, European supermarkets throw away more than four million tons of food. That’s ten kilograms per EU citizen. To reduce food waste, Carrefour and Google Cloud started a joint project for an AI solution that enables precise forecasts for the demands for fresh products in each store. This minimizes waste, as well as costs because employees get the right information they need to fill shelves depending on the existing demand.


Working toward a sustainable future, together

Another partnership, which uses technology to drive sustainability, exists between Google Cloud, WWF Sweden and the British fashion label Stella McCartney. The fashion industry is responsible for about 20% of global water waste and 10% of greenhouse gas emissions. The result of this collaboration: a tool that gives fashion labels a better overview of their supply chains and delivers actionable insights on how to reduce emissions and waste when procuring raw materials.

Sustainable actions have a real impact on our environment, and they also require teamwork. That’s why Google Cloud develops tools and technologies that help other companies and organizations worldwide to become active and create a more sustainable future for our planet.

Find out more on our sustainability page.

We analyzed 80 million ransomware samples – here’s what we learned

Leaders at organizations across the globe are witnessing the alarming rise of ransomware threats, leaving them with the sobering thought that an attack on their business may be not a matter of if, but when.

The stakes are becoming higher. Hackers aren’t just demanding money, they’re threatening to reveal sensitive or valuable information if companies don’t pay up or if they contact law enforcement authorities. For example, if you run a healthcare organization, the impact can be even more dire - as evidenced by this new report on ransomware attacks that finds attacks against hospitals have resulted in delays in tests and procedures, patients being kept longer, and even death.

One of the main challenges to stopping ransomware attacks is the lack of comprehensive visibility into how these attacks spread and evolve. Leaders are often left with bits and pieces of information that don’t add up.

VirusTotal’s first Ransomware Activity Report provides a holistic view of ransomware attacks by combining more than 80 million potential ransomware-related samples submitted over the last year and a half. This report is designed to help researchers, security practitioners and the general public understand the nature of ransomware attacks while enabling cyber professionals to better analyze suspicious files, URLs, domains and IP addresses. Sharing insights behind how attacks develop is essential to anticipating their evolution and detecting cybersecurity threats across the globe.

Of the 140 countries that submitted ransomware samples, Israel was far and away an outlier, with the highest number of submissions and nearly a 600 percent increase in the number of submissions compared to its baseline. Israel was followed by South Korea, Vietnam, China, Singapore, India, Kazakhstan, Philippines, Iran and the UK as the most affected territories based on the number of submissions to VirusTotal.

Geographical distribution of ransomware-related submissions

Geographical distribution of ransomware-related submissions

We saw peaks of ransomware activity in the first two quarters of 2020, primarily due to the ransomware-as-a-service group GandCrab (though its prevalence decreased dramatically in the second half of the year). Another sizable peak occurred in July 2021, driven by the Babuk ransomware family – a ransomware operation launched at the beginning of 2021 that was behind the attack on the Washington DC Metropolitan Police Department.

At least 130 different ransomware families were active in 2020 and the first half of 2021 — grouped by 30,000 clusters of malware that looked and operated in a similar fashion. With 6,000 clusters, GandCrab was the most active family - followed by Babuk, Cerber, Matsnu, Congur, Locky, Teslacrypt, Rkor and Reveon.

Ransomware Activity of 100 Most Active Ransomware Families

Activity of 100 most active ransomware families

While these big campaigns come and go, there is a constant baseline of ransomware activity of approximately 100 ransomware families that never stops. Attackers are using a range of approaches, including well-known botnet malware and other Remote Access Trojans (RATs) as vehicles to deliver their ransomware. In most cases, they are using fresh or new ransomware samples for their campaigns. This broad collection of activity provides vital insights into ransomware growth, evolution and impact on organizations of all sizes, and provides the bread crumbs needed for businesses and governments to be much more proactive in building cybersecurity into their infrastructure.

How We Are Keeping Your Business Safe From This Threat

At Google, our platforms and products have to be secure by default, and have been designed to keep businesses protected from cybersecurity attacks, including the growing threat of ransomware.

Our Chrome OS cloud-first platform has had no reported ransomware attacks — ever — on any business, education or consumer Chrome OS device. Developed with built-in and proactive security, Chrome OS blocks executables that ransomware often hides in, and system files are kept in a read-only partition ensuring the OS can’t be modified by apps or extensions. Additionally, the cloud-first nature of Chrome OS means that your data and files are backed up in the cloud and recoverable if an attack were to happen.

We are committed to offering the industry’s most trusted cloud, and have developed solutions that help companies adhere to the five pillars of NIST’s Cybersecurity Framework - from identification to recovery. For example, our Cloud Asset Inventory helps businesses identify and monitor all their assets in one place. With email at the heart of many ransomware attacks, Google Workspace’s advanced phishing and malware protection provides controls to quarantine emails, defends against anomalous attachment types and protects from inbound spoofing emails. Chronicle, Google Cloud’s threat detection platform, allows businesses to find and analyze threats faster within their infrastructure and applications, whether that's on Google Cloud or anywhere else. With engineered-in capabilities and additional solutions, we also make it simple and efficient to respond and recover in the event of an incident.

With better data from crowdsourced intelligence platforms like VirusTotal, C-level decision makers can proactively ensure a more robust range of security solutions are implemented, and that multi-layered approaches to security become standard across all organizations. It’s the only way to keep our businesses, schools, hospitals and governments safe against ransomware attacks.

To learn more about how Google can help your organization solve its cybersecurity challenges check out our Google Cybersecurity Action Team.

Helping companies tackle climate change with Earth Engine

Recent wildfires, floods and other natural disasters remind us that everyone has to take action to move the needle on climate change — from scientists and researchers to governments at all levels and businesses of all sizes.

Google Earth Engine combines satellite imagery and geospatial data with powerful computing to help people and organizations understand how the planet is changing, how human activity contributes to those changes and what actions they can take. Over the past decade, academics, scientists and NGOs have used Earth Engine and its earth observation data to make meaningful progress on climate research, natural resources protection, carbon emissions reduction and other sustainability goals. It has made it possible for organizations to monitor global forest loss in near real-time and has helped over 160 countries map and protect freshwater ecosystems.

Today, we’re expanding Earth Engine with a commercial offering for select customers in preview as a part of its integration with Google Cloud Platform. Organizations in the public sector and businesses can now use insights from Earth Engine to solve sustainability-related problems, such as building sustainable supply chains, committing to deforestation-free lending, preparing for recovery from weather-related events and reducing operational water use. To learn more about how Earth Engine can help your organization meet its sustainability goals,fill out this form.

Timelapse of satellite imagery showing the Aral Sea’s surface water shrinking from 1984 to 2020.

Surface water change visualization enabled by Earth Engine (shown here: Aral Sea from 1984-2020).

This new offering puts over 50 petabytes of geospatial open data into the hands of business and government leaders. Google Cloud customers and partners can bring together earth observation data with their own data as well as other useful datasets, train models to analyze at scale, and derive meaningful insights about real-world impact. By combining Earth Engine’s powerful platform with Google Cloud’s distinctive data analytics tools and AI technology, we’re bringing the best of Google together.

Already, businesses and organizations across the public sector, agriculture, financial services and consumer goods industries are using insights from this data to improve their operations, better manage and mitigate their risks while also preserving natural resources. For example, consumer goods company Unilever plans to achieve a deforestation-free supply chain for palm oil and other commodities by 2023. With insights from Google Earth Engine and its internal supply chain sourcing information, they can model the source of palm oil to their mills. The U.S. Department of Agriculture is also using Earth Engine to eliminate the overhead of managing vast amounts of geospatial data. This will enable their agency, the National Agricultural Statistics Service, to focus on the analyses of 315 million acres of croplands across the United States. We look forward to seeing more impactful use cases and quantifiable progress towards sustainability goals that Earth Engine will continue to power across organizations.

The time for businesses to act on climate is now, but the advanced analytics resources and sustainability knowledge needed to make change can be hard to access. To make sure businesses can make the most out of Google Earth Engine, we’re working with partners, like NGIS and Climate Engine, to help businesses identify and manage risks related to climate change.

It will take all of us working together to make a difference. Earth Engine will continue to be free for scientists, researchers and NGOs, just as it has always been. We hope that putting Google Earth Engine into the hands of more businesses, organizations and people will multiply the positive impact we can have together on our people and planet.

Next ‘21: Must-see Google Workspace sessions for developers and creators

Posted by Charles Maxson, Developer Advocate

Banner image that shows the Google Workspace logo

Google Workspace offers a broad set of tools and capabilities that empowers creators and developers of all experience levels to build a wide range of custom productivity solutions. For professional developers looking to integrate their own app experiences into Workspace, the platform enables deep integrations with frameworks like Google Workspace Add-ons and Chat apps, as well as deep access to the full suite of Google Workspace apps via numerous REST APIs. And for citizen developers on the business side or developers looking to build solutions quickly and easily, tools like Apps Script and AppSheet make it simple to customize, extend, and automate workflows directly within Google Workspace.

At Next ‘21 we have 7 sessions you won’t want to miss that cover the breadth of the platform. From no-code and low-code solutions to content for developers looking to publish in the Google Workspace Marketplace and reach the more than 3 billion users in Workspace, Next ‘21 has something for everyone.

1. See what’s new in Google Workspace

Matthew Izatt, Product Manager, Google Cloud

Erika Trautman, Director Product Management, Google Cloud

Join us for an interactive demo and see the latest Google Workspace innovations in action. As the needs of our users shifted over the past year, we’ve delivered entirely new experiences to help people connect, create, and collaborate—across Gmail, Drive, Meet, Docs, and the rest of the apps. You’ll see how Google Workspace meets the needs of different types of users with thoughtfully designed experiences that are easy to use and easy to love, Then, we’ll go under the hood to show you the range of ways to build powerful integrations and apps for Google Workspace using tools that span from no-code to professional grade.

2. Developer Platform State of the Union: Google Workspace

Charles Maxson, Developer Advocate, Google Cloud

Steven Bazyl, Developer Relations Engineer, Google Cloud

Google Workspace offers a comprehensive developer platform to support every developer who’s on a journey to customize and enhance Google Workspace. In this session, take a deeper dive into the new tools, technologies, and advances across the Google Workspace developer platform that can help you create even better integrations, extensions, and workflows. We’ll focus on updates for Google Apps Script, Google Workspace Add-ons, Chat apps, APIs, AppSheet, and Google Workspace Marketplace.

3. How Miro, Docusign, Adobe and Atlassian are helping organizations centralize their work

Matt Izatt, Group Product Manager, Google Cloud

David Grabner, Product Lead, Apps & Integrations, Miro

Integrations make Google Workspace the hub for your work and give users more value by bringing all their tools into one space. Our ecosystem allows users to connect industry-leading software and custom-built applications with Google Workspace to centralize important information from the tools you use every day. And integrations are not limited to Gmail, Docs, or your favorite Google apps – they’re also available for Chat. With Chat apps, users can seamlessly blend conversations with automation and timely information to accelerate teamwork directly from within a core communication tool.

In this session, we’ll briefly review the Google Workspace platform and how Miro and Atlassian are helping organizations centralize their work and keep important information a mouse click or a tap away.

4. Learn how customers are empowering their workforce to customize Google Workspace

Charles Maxson, Developer Advocate, Google Cloud

Aspi Havewala, Global Head of Digital Workplace, Verizon

Organizations small and large are seeing their needs grow increasingly diverse as they pursue digital transformation projects. Many of our customers are empowering their workforces by allowing them to build advanced workflows and customizations using Google Apps Script. It’s a powerful low-code development platform included with Google Workspace that makes it fast and easy to build custom business solutions for your favorite Google Workspace applications – from macro automations to custom functions and menus. In this session, we’ll do a quick overview of the Apps Script platform and hear from customers who are using it to enable their organizations.

5. Transform your business operations with no-code apps

Arthur Rallu, Product Manager, Google Cloud

Paula Bell, Business Process Analyst, Kentucky Power Company, American Electric Power

Building business apps has become something anyone can do. Don’t believe us? Join this session to learn how Paula Bell, who self describes as a person with “zero coding experience” built a series of mission-critical apps on AppSheet that revolutionized how Kentucky Power, a branch of American Electric Power, runs their field operations.

6. How AppSheet helps you work smarter with Google Workspace

Mike Procopio, Senior Staff Software Engineer, Google Cloud

Millions of Google Workspace users are looking for new ways to reclaim time and work smarter within Google Workspace. AppSheet, Google Workspace’s first-party extensibility platform, will be announcing several new features that will allow people to automate and customize their work within their Google Workspace environment – all without having to write a line of code.

Join this session to learn how you can use these new features to work smarter in Google Workspace.

7. How to govern an innovative workforce and reduce Shadow IT

Kamila Klimek, Product Manager, Google Cloud

Jacinto Pelayo, Chief Executive Officer, Evenbytes

For organizations focused on growth, finding new ways that employees can use technology to work smarter and innovate is key to their success. But enabling employees to create their own solutions comes at a cost that IT is keenly aware of. The threats of external hacks, data leaks, and shadow IT make it difficult for IT to find a solution that gives them the control and visibility they need, while still empowering their workforce. AppSheet was built with these challenges in mind.

Join our session to learn how you can use AppSheet to effectively govern your workforce and reduce security threats, all while giving employees the tools to make robust, enterprise-grade applications.

To learn more about these sessions and to register, visit the Next ‘21 website and also check out my playlist of Next ‘21 content.

How to use App Engine push queues in Flask apps

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Banner image that shows the Cloud Task logo

Introduction

Since its original launch in 2008, many of the core Google App Engine services such as Datastore, Memcache, and Blobstore, have matured to become their own standalone products: for example, Cloud Datastore, Cloud Memorystore, and Cloud Storage, respectively. The same is true for App Engine Task Queues with Cloud Tasks. Today's Module 7 episode of Serverless Migration Station reviews how App Engine push tasks work, by adding this feature to an existing App Engine ndb Flask app.

App Engine push queues in Flask apps video

That app is where we left off at the end of Module 1, migrating its web framework from App Engine webapp2 to Flask. The app registers web page visits, creating a Datastore Entity for each. After a new record is created, the ten most recent visits are displayed to the end-user. If the app only shows the latest visits, there is no reason to keep older visits, so the Module 7 exercise adds a push task that deletes all visits older than the oldest one shown. Tasks execute asynchronously outside the normal application flow.

Key updates

The following are the changes being made to the application:

  1. Add use of App Engine Task Queues (taskqueue) API
  2. Determine oldest visit displayed, logging and saving that timestamp
  3. Create task to delete old visits
  4. Update web page template to display timestamp threshold
  5. Log how many and which visits (by Entity ID) are deleted

Except for #4 which occurs in the HTML template file, these updates are reflected in the "diff"s for the main application file:

Screenshot of App Engine push tasks application source code differences

Adding App Engine push tasks application source code differences

With these changes implemented, the web app now shows the end-user which visits will be deleted by the new push task:

Screenshot of VisitMe example showing last ten site visits. A red circle around older visits being deleted

Sample application output

Next steps

To do this exercise yourself, check out our corresponding codelab which leads you step-by-step through the process. You can use this in addition to the video, which can provide guidance. You can also review the push queue documentation for more information. Arriving at a fully-functioning Module 7 app featuring App Engine push tasks sets the stage for migrating it to Cloud Tasks (and Cloud NDB) ahead in Module 8.

All migration modules, their videos (when available), codelab tutorials, and source code, can be found in the migration repo. While the content focuses initially on Python users, we will cover other legacy runtimes soon so stay tuned.

Exploring serverless with a nebulous app: Deploy the same app to App Engine, Cloud Functions, or Cloud Run

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Banner image that shows the App Engine, Cloud Functions, and Cloud Run logos

Introduction

Google Cloud offers three distinct ways of running your code or application in a serverless way, each serving different use cases. Google App Engine, our first Cloud product, was created to give users the ability to deploy source-based web applications or mobile backends directly to the cloud without the need of thinking about servers or scaling. Cloud Functions came later for scenarios where you may not have an entire app, great for one-off utility functions or event-driven microservices. Cloud Run is our latest fully-managed serverless product that gives developers the flexibility of containers along with the convenience of serverless.

As all are serverless compute platforms, users recognize they share some similarities along with clear differences, and often, they ask:

  1. How different is deploying code to App Engine, Cloud Functions, or Cloud Run?
  2. Is it challenging to move from one to another if I feel the other may better fit my needs?

We're going to answer these questions today by sharing a unique application with you, one that can be deployed to all three platforms without changing any application code. All of the necessary changes are done in configuration.

More motivation

Another challenge for developers can be trying to learn how to use another Cloud product, such as this request, paraphrased from a user:

  1. I have a Google App Engine app
  2. I want to call the Cloud Translation API from that app

Sounds simple enough. This user went straight to the App Engine and Translation API documentation where they were able to get started with the App Engine Quickstart to get their app up and going, then found the Translation API setup page and started looking into permissions needed to access the API. However, they got stuck at the Identity and Access Management (IAM) page on roles, being overwhelmed at all the options but no clear path forward. In light of this, let's add a third question to preceding pair outlined earlier:

  1. How do you access Cloud APIs from a Cloud serverless platform?
Without knowing what that user was going to build, let's just implement a barebones translator, an "MVP" (minimally viable product) version of a simple "My Google Translate" Python Flask app using the Translation API, one of Google Cloud's AI/ML "building block" APIs. These APIs are backed by pre-trained machine learning models, giving developers with little or no background in AI/ML the ability to leverage the benefits of machine learning with only API calls.

The application

The app consists of a simple web page prompting the user for a phrase to translate from English to Spanish. The translated results along with the original phrase are presented along with an empty form for a follow-up translation if desired. While the majority of this app's deployments are in Python 3, there are still many users working on upgrading from Python 2, so some of those deployments are available to help with migration planning. Taking this into account, this app can be deployed (at least) eight different ways:
  1. Local (or hosted) Flask server (Python 2)
  2. Local (or hosted) Flask server (Python 3)
  3. Google App Engine (Python 2)
  4. Google App Engine (Python 3)
  5. Google Cloud Functions (Python 3)
  6. Google Cloud Run (Python 2 via Docker)
  7. Google Cloud Run (Python 3 via Docker)
  8. Google Cloud Run (Python 3 via Cloud Buildpacks)
The following is a brief glance at the files and which configurations they're for: Screenshot of Nebulous serverless sample app files

Nebulous serverless sample app files

Diving straight into the application, let's look at its primary function, translate():
@app.route('/', methods=['GET', 'POST'])
def translate(gcf_request=None):
local_request = gcf_request if gcf_request else request
text = translated = None
if local_request.method == 'POST':
text = local_request.form['text'].strip()
if text:
data = {
'contents': [text],
'parent': PARENT,
'target_language_code': TARGET[0],
}
rsp = TRANSLATE.translate_text(request=data)
translated = rsp.translations[0].translated_text
context = {
'orig': {'text': text, 'lc': SOURCE},
'trans': {'text': translated, 'lc': TARGET},
}
return render_template('index.html', **context)

Core component (translate()) of sample application


Some key app components:
  • Upon an initial request (GET), an HTML template is rendered featuring a simple form with an empty text field for the text to translate.
  • The form POSTs back to the app, and in this case, grabs the text to translate, sends the request to the Translation API, receives and displays the results to the user along with an empty form for another translation.
  • There is a special "ifdef" for Cloud Functions near the top to receive a request object because a web framework isn't used like you'd have with App Engine or Cloud Run, so Cloud Functions provides one for this reason.
The app runs identically whether running locally or deployed to App Engine, Cloud Functions, or Cloud Run. The magic is all in the configuration. The requirements.txt file* is used in all configurations, whether to install third-party packages locally, or to direct the Cloud Build system to automatically install those libraries during deployment. Beyond requirements.txt, things start to differ:
  1. App Engine has an app.yaml file and possibly an appengine_config.py file.
  2. Cloud Run has either a Dockerfile (Docker) or Procfile (Cloud Buildpacks), and possibly a service.yaml file.
  3. Cloud Functions, the "simplest" of the three, has no configuration outside of a package requirements file (requirements.txt, package.json, etc.).
The following is what you should expect to see after completing one translation request: Screenshot of My Google Translate (1990s Edition) in Incognito Window

"My Google Translate" MVP app (Cloud Run edition)

Next steps

The sample app can be run locally or on your own hosting server, but now you also know how to deploy it to each of Cloud's serverless platforms and what those subtle differences are. You also have a sense of the differences between each platform as well as what it takes to switch from one to another. For example, if your organization is moving to implement containerization into your software development workflow, you can migrate your existing App Engine apps to Cloud Run using Docker or using Cloud Buildpacks if you don't want to think about containers or Dockerfiles. Lastly, you now know how to access Cloud APIs from these platforms. Lastly, you now know how to access Cloud APIs from these platforms.

The user described earlier was overwhelmed at all the IAM roles and options available because this type of detail is required to provide the most security options for accessing Cloud services, but when prototyping, the fastest on-ramp is to use the default service account that comes with Cloud serverless platforms. These help you get that prototype working while allowing you to learn more about IAM roles and required permissions. Once you've progressed far enough to consider deploying to production, you can then follow the best practice of "least privileges" and create your own (user-managed) service accounts with the minimal permissions required so your application functions properly.

To dive in, the code and codelabs (free, self-paced, hands-on tutorials) for each deployment are available in its open source repository. An active Google Cloud billing account is required to deploy this application to each of our serverless platforms even though you can do all of them without incurring charges. More information can be found in the "Cost" section of the repo's README. We hope this sample app teaches you more about the similarities and differences between our plaforms, shows you how you can "shift" applications comfortably between them, and provides a light introduction to another Cloud API. Also check out my colleague's post featuring similar content for Node.js.

GDG NYC members apply their skills to help a local nonprofit reach higher

Posted by Kübra Zengin, Program Manager, Developer Relations

Image of Anna Nerezova and GDG NYC meetup on blog header image that reads GDG NYC members apply their skills to help a local nonprofit reach higher

Google Developer Group (GDG) chapters are in a unique position to help make an impact during a time where many companies and businesses are trying to shift to a digital first world. Perhaps no one knows this better than GDG NYC Lead, Anna Nerezova. Over the past year, she’s seen firsthand just how powerful the GDG NYC community can be when the right opportunity presents itself.

GDG NYC levels up their Google Cloud skills

In the past few years, Anna and other GDG NYC organizers have hosted a number of events focused on learning and sharing Cloud technologies with community members, including Cloud Study Jams and in-person workshops on Machine Learning Cloud-Speech-to-Text, Natural Language Processing, and more. Last year, GDG NYC took Google Cloud learning to the next level with a series of virtual Google Cloud tech talks on understanding BigQuery, Serverless best practices, and Anthos, with speakers from the Google Cloud team.

Image of GDG NYC members watching a speaker give a talk

A GDG NYC speaker session

Thanks to these hands-on workshops, speaker sessions, and technical resources provided by Google, GDG NYC community members are able to upskill in a wide variety of technologies at an accelerated pace, all the while gaining the confidence to put those skills into practice. Beyond gaining new skills, Google Developer Group members are often able to unlock opportunities to make positive impacts in ways they never thought possible. As a GDG Lead, Anna is always on the lookout for opportunities that give community members the chance to apply their skills for a higher purpose.

Building a Positive Planet

Anna identified one such opportunity for her community via Positive Planet US, a local nonprofit dedicated to alleviating global and local poverty through positive entrepreneurship. Positive Planet International, originally formed in France, has helped 11 million people escape poverty across 42 countries in Europe, the Middle East, and Africa since its inception in 1998. Just last year, Positive Planet US was launched in New York City, with a mission to create local and global economic growth in underprivileged communities in the wake of the pandemic.

Anna recognized how the past few years' emphasis on learning and leveraging Google Cloud technology in her GDG chapter could help make a transformative impact on the nonprofit. A partnership wouldn’t just benefit Positive Planet US, it would give community members a chance to apply what they’ve learned, build experience, and give back. Anna and fellow GDG NYC Lead, Ralph Yozzo, worked with Positive Planet US to identify areas of opportunity where GDG NYC members could best apply their skills. With Positive Planet US still needing to build the infrastructure necessary to get up and running, it seemed that there were limitless opportunities for GDG NYC community members to step in and help out.

Volunteers from GDG NYC quickly got to work, building Positive Planet US’ website from the ground up. Google Cloud Platform was used to build out the site’s infrastructure, set up secure payments for donations, launch email campaigns, and more. Applying learnings from a series of AMP Study Jams held by GDG NYC, volunteers implemented the AMP plugin for WordPress to improve user experience and keep the website optimized, all according to Google’s Core Web Vitals and page experience guidelines. Volunteers from GDG NYC have also helped with program management, video creation, social media, and more. No matter the job, the work that volunteers put in makes a real impact and helps drive Positive Planet US’ efforts to make a difference in marginalized communities.

Positive Planet drives community impact

Positive Planet US volunteers are currently working hard to support the nonprofit’s flagship project, the Accelerator Hub for Minority Women Entrepreneurs, launched last year. As part of the program, participants receive personalized coaching from senior executives at Genpact and Capgemini, helping them turn their amazing ideas into thriving businesses. From learning how to grow a business to applying for a business loan, participating women from disadvantaged communities get the tools they need to flourish as entrepreneurs. The 10-week program is running its second cohort now, and aims to support 1,000 women by next year.

Screenshot of participants of Positive Planet US’ second Accelerator Hub Program in a virtual meeting

Some participants of Positive Planet US’ second Accelerator Hub Program

With Positive Planet US’ next cohort for 50 women entrepreneurs starting soon, Anna is working to find coaches of all different skill levels directly from the GDG community. If you’re interested in volunteering with Positive Planet US, click here.

Anna is excited about the ongoing collaboration between Positive Planet US and GDG NYC, and is continuing to identify opportunities for GDG members to give back. And with a new series of Android and Cloud Study Jams on the horizon and DevFest 2021 right around the corner, GDG NYC organizers hope to welcome even more developers into the Google Developer Group community. For more info about GDG NYC’s upcoming events, click here.

Join a Google Developer Group chapter near you here.