Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Google Cloud for Developers
Google Cloud for Developers

Google Cloud for Developers: Write, migrate, and extend your code by leveraging Google Cloud

Arrow left icon
Profile Icon Isaac Hernández Vargas Profile Icon Hector Parra Martinez
Arrow right icon
€17.99 €26.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (7 Ratings)
eBook May 2023 364 pages 1st Edition
eBook
€17.99 €26.99
Paperback
€33.99
Subscription
Free Trial
Renews at €18.99p/m
Arrow left icon
Profile Icon Isaac Hernández Vargas Profile Icon Hector Parra Martinez
Arrow right icon
€17.99 €26.99
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (7 Ratings)
eBook May 2023 364 pages 1st Edition
eBook
€17.99 €26.99
Paperback
€33.99
Subscription
Free Trial
Renews at €18.99p/m
eBook
€17.99 €26.99
Paperback
€33.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

Google Cloud for Developers

Choosing Google Cloud

I have written this book with a clear purpose in mind: to make it as easy as possible for developers to start writing, running, profiling, and troubleshooting their code in Google Cloud. Indeed, I’m a developer too, and I would love to share my story so I can better explain why I think, first, that you should be writing code on the cloud and, second, why, in my opinion, Google Cloud is the best option to do so nowadays.

We’ll cover the following main topics in this chapter:

  • My story as a developer
  • Project management, Agile, DevOps, and SRE
  • Introducing Digital Transformation
  • Why should you run your code on the cloud?
  • Introducing Google Cloud
  • Why should you choose Google Cloud?

My story as a developer

I got my first computer in 1987 as a gift from my parents. I must admit that I chose an Amstrad CPC 464 because it came bundled with a few cassette tapes with games:

Figure 1.1 – Amstrad CPC 464 (author: Bill Bertram, source: https://en.wikipedia.org/wiki/Amstrad_CPC#/media/File:Amstrad_CPC464.jpg)

Figure 1.1 – Amstrad CPC 464 (author: Bill Bertram, source: https://en.wikipedia.org/wiki/Amstrad_CPC#/media/File:Amstrad_CPC464.jpg)

I used to play some of those games during my initial days with the computer, but they were unfortunately quite boring and primitive. One of them was called Animal, Vegetal, Mineral and it especially caught my attention. It was a very simple text game that tried to guess any animal, plant, or mineral that you could think of as soon as possible, by asking questions such as is it a vegetable?, is it green?, and is it a lettuce?

I have always been a very curious person and started to think how that game could work, and mentally pictured some kind of tree structure organizing all the information about potential answers so that the answers provided to the questions could help the code decide which leaf of that tree to traverse. As you can see, my mind was already a good fit for data structures, wasn’t it?

The CPC 464 came with a small book, which was one of the reasons why I became a developer (I’ll leave the other story about reverse engineering the protection scheme of a Lemmings game for another time). The title of the book in English was called Basic Reference Manual for Programmers. I loved reading at that age, indeed the worst punishment I could get was not being allowed to read at night, but this manual surprised and entertained me even more than the sci-fi classics I was used to reading because it opened the door to learning and fostered my digital creativity at the same time:

Figure 1.2 – CPC-464 Basic Reference Manual for Programmers

Figure 1.2 – CPC-464 Basic Reference Manual for Programmers

One step at a time, I was able to learn how to code in Basic on my own and implemented an even more primitive version of the game I mentioned earlier. But much more important than that, I loved the experience and decided at quite a young age that computers in general, and programming, in particular, would both be core parts of any professional career I would choose in the future.

Programming at that time was like writing with a pen on a blank piece of paper but using the bundled and primitive Line Editor application instead. In 1985, I just had that Basic manual to learn and get inspiration from. Forget about autocompletion, online help… and, oh my God, there was no Stack Overflow! Just take a look:

Figure 1.3 – Amstrad screen with Basic code

Figure 1.3 – Amstrad screen with Basic code

In the following years of my professional career, I had the chance to start working with Unix and Linux systems and started using vi and emacs as code editors for shell and Perl scripts, together with code written in C. I have always felt quite comfortable with the console, even for editing code, but I have to admit that graphical and integrated interfaces were game-changers.

A few years later, I moved to a pharma company where the presence of Windows systems was much more frequent. That meant meeting Microsoft’s Visual Studio UI for the first time, and I must admit it was a very pleasant surprise. Coding in Visual Basic felt different when compared with my good old Amstrad CPC and exploring interface design was a very interesting experience. I also started using Notepad++ for my PHP, Perl, and bash scripts. It was great to see how all these applications added new features year after year.

But I still realized I had to create everything from scratch whenever I started working on a new project, and the time required to develop an application or service was just too long.

Fortunately, nowadays, there are a lot of different integrated development environments (IDEs) to choose from, with amazing features such as code completion, code control integration, online references, and samples, which make writing code a much more enjoyable experience. I love the idea of using web-based IDEs, which in my opinion make the experience comfortable. Being able to open a browser and have access to an IDE full of options is just amazing!

Visual Studio Code (https://code.visualstudio.com/) is one example that I use quite often when I develop applications for Google Cloud. Just compare the following screenshot with the previous one from the Amstrad CPC...

Figure 1.4 – Interface of Visual Studio Code

Figure 1.4 – Interface of Visual Studio Code

And we are getting closer and closer to code being automatically written by just providing a summary of what the piece of code should do (https://www.forbes.com/sites/janakirammsv/2022/03/14/5-ai-tools-that-can-generate-code-to-help-programmers/).

However, what I love about developing for the cloud is how easy it is to integrate external services that provide advanced features, or how accessible architecture patterns, reference implementations, or sample code are. Now, I can put together pieces of code during a single day of work that can do much more than what I could achieve years ago working for 2 weeks.

During my first few months at Google, I worked on a solution that analyzed display ads and let advertisers know what elements worked better. Knowing whether ads with a palm tree worked better than those with a swimming pool, or whether an image of a couple with a baby got more clicks than one with a group of friends was cool.

And implementing this application was reasonably easy thanks to what Google calls the Cloud Vision API, an AI-based service able to detect objects, text, and colors on an image. Imagine how long it would take me to develop this system on my own. I will admit it: I would never have been able to do it. But now, it just takes a few minutes to integrate the API of this service with my code.

And the same happens with other key services, such as storage, messaging queues, databases, and many others that we will cover later in this book. I can say loud and clear that Google Cloud has changed the way I understand and conceive software development. Not only can I develop applications much faster and much more securely but I can also deploy them much more comfortably and make them available to any amount of users worldwide. And all of this can be done from a browser running on my laptop.

Now, I can focus my time on innovative applications and use different components, which make use of cutting-edge technologies, to develop and deploy these applications in record time. And this is what Google Cloud can do for you, too.

So, long story short, after spending endless days fixing the effects of bad initial designs and upgrading hardware, operating systems, and applications, I realized that it would be much better if I could design and build resilient and distributed applications while reusing cutting-edge components and services, which would scale great and deploy faster, and try to decouple them from the hardware and the operating system.

But when we talk about developing, it’s not just writing code but also getting to identify what problem or challenge needs to be solved and decide how we can provide a solution that works. And doing all of this properly is the real challenge.

In my case, I was lucky because, just before joining Google, my employer happened to start exploring ways to make projects shorter and more successful. That’s how I became familiarized and started to use project management, Agile, DevOps, and, once I joined Google, Site Reliability Engineering (SRE) practices.

Let’s discuss what these are and how they can help developers.

Project management, Agile, DevOps, and SRE

Organizations put a lot of effort into minimizing the waste of time and money in projects since both are frequently scarce. Being able to anticipate bottlenecks and blockers can help reduce the chances for a project to fail.

And it is here that project managers become the key players. Among other tasks, they are responsible for identifying stakeholders, dividing the work into tasks, assigning times to each activity, and following up to ensure that everything is completed on time.

Traditional project management used the so-called waterfall methodology, which divides a project into different steps that are completed in sequential order one after another: requirement gathering, design, implementation, testing, and maintenance.

However, there can be projects that may run for much longer than planned due to different reasons – for example, wrong or incomplete initial assessments leading to undetected dependencies, or never-ending tasks that block others.

Also, projects managed using waterfall methodologies are more rigid in terms of features. As these are defined in the initial phases, any changes due to unexpected reasons, such as a feature not being needed anymore or becoming obsolete, could derail the project.

Project management has evolved and one of the most common practices to reduce the risk of long delays is to split the project into different phases of incremental complexity, also known as sprints, while following an iterative approach instead of a linear one. These practices were introduced in more recent methodologies, such as Agile, which aim to speed up the progress of projects and offer tangible results as soon as possible.

In Agile and similar methodologies, a Minimum Viable Product (MVP) can be provided after completing just one or a few of the initial code sprints; then, the team will work on improving it using an iterative approach that adds new features and capabilities. It fixes any found bugs in each new sprint until the project meets all the requirements and is then considered to be finished.

The following diagram summarizes the different phases for each sprint:

Figure 1.5 – Agile development phases

Figure 1.5 – Agile development phases

Agile is a project management methodology aimed at getting an MVP ready earlier, but it needs a compatible process on the development side to ensure agility. And here is where DevOps comes to the rescue.

DevOps is a set of practices that aims to increase the software delivery velocity, improve service reliability, and build shared ownership among software stakeholders. Many organizations use DevOps to complement Agile project management methodologies and reduce the lead time – that is, how long it takes for a team to go from committing code to having code successfully deployed and running in production:

Figure 1.6 – DevOps development cycle (source: https://nub8.net/wp-content/uploads/2019/12/Nub8-What-is-Devops-1-min.png)

Figure 1.6 – DevOps development cycle (source: https://nub8.net/wp-content/uploads/2019/12/Nub8-What-is-Devops-1-min.png)

By implementing DevOps, you can improve a lot of your development metrics by increasing the speed of your deployments, reducing the number of errors in these deployments, and building security from the start.

These methodologies are very interesting for developers, but agility can only be achieved if the underlying infrastructure components are also compatible with fast deployments. For example, running short and fast sprints will not make sense at all in a platform where virtual machines are provided no earlier than 3 days after being requested and databases after 5 (and I have seen that happen, I promise).

An environment that can help you speed up all your processes is the best option, not only for developers but for everyone involved in IT projects. As we’ll see shortly, the cloud is an extremely good option if you use Agile methodologies, are a big fan of code sprints, or want to implement DevOps in your organization.

And if DevOps helps automate deployments, SRE can also help in a later stage by automating all the manual tasks required to keep your environments up and running, such as those included as part of change management or incident response processes. And guess what – the cloud is a great place to implement SRE practices, too! To learn more about SRE, visit https://sre.google/.

If you are new to concepts such as Agile or DevOps, you may still be wasting a lot of your precious time as a developer doing the wrong kind of things. You should be spending most of your hours on innovating, thus contributing to the Digital Transformation of your team and the whole organization. We’ll use the next section to explain what Digital Transformation means and why it is really important and should be appropriately prioritized if it hasn’t been already.

Introducing Digital Transformation

I can imagine that many of you, while reading the first part of this introductory chapter, will have remembered your very own unpleasant experiences of working with infrastructure, applications, and architectures that started to grow and run out of resources due to a limited physical or virtual on-premises environment, a monolithic or overcomplicated initial design that made the application or service die of success after growing much more than expected and that you had to fix for good, or data split among so many databases in the organization that a minor update in the schema of a supposedly rarely used table broke most of the corporate applications.

The situations I just pictured are quite common among organizations that are still using an important amount of their IT time to decide where their infrastructure should run. And that’s probably because they haven’t completed their Digital Transformation yet. Even if you work for a start-up in its first stages, you may still be asking yourself these kinds of questions today. If that is the case, you should embrace the practices of digital transformation starting today.

The reason is that all these sadly common situations are incompatible with innovation. And IT professionals in organizations where innovation is constantly postponed because there are other higher priorities will become either outdated or burnt out, if not both, over time. If we combine this golden jail scenario with the burden of system and infrastructure migrations, there is a lot of precious time wasted on tasks that developers and engineers hate, and that don’t add any value to the organization.

Let’s say it loud and clear: if you want to innovate and if you want to be disruptive, you should focus your efforts on transforming or creating an organization where everyone can drive innovation. Otherwise, you will be wasting precious time and resources focusing on the wrong tasks.

Rob Enslin, former President of Global Customer Operations for Google Cloud, mentioned a few areas to focus on during a digital transformation process in a blog post from the Google Cloud website: https://cloud.google.com/blog/topics/inside-google-cloud/innovation-in-the-era-of-the-transformation-cloud. This list is, in my opinion, a very good summary of four of the main pillars of digital transformation, where organizations should put their efforts to free time and resources and be able to innovate more.

Let’s comment on each of these pillars:

  • Accelerate the transformation, while also maintaining the freedom to adapt to market needs. This is a very important point because while the digital transformation should happen in a reasonable amount of time, the process itself needs to be flexible too; otherwise, it may fail miserably if either the market or any other important external variable suddenly changes without prior notice. For example, during the pandemic, many companies were forced to speed up their digital transformation, and those who were ready to provide remote working capabilities for their employees earlier suffered less from the effects of the lack of productivity during those months that all of us had to spend working from home.
  • Make every employee, from data scientists to sales associates, smarter with real-time data to make the best decisions. First-party data is power; however, it is often split into silos across an organization. A digital transformation should break down these silos by centralizing, deduplicating, and consolidating all data sources so that all the information is available to all members of the organization together with real-time insights that each department can use to make their own informed strategical decisions.
  • Bring people together and enable them to communicate, collaborate, and share, even when they cannot meet in person. After the pandemic, it’s even more clear that physical distance should not be a stopper, and all cultural elements of the organization should be replicable for people working remotely too so that people can also collaborate and share comfortably when they are far away from each other. Consider this as flexibility seen from a very specific angle.
  • Protect everything that matters to your organization: your people, your customers, your data, your customer’s data, and each transaction you undertake. Security is more important than ever, especially now that companies are using the power of technology to provide better services, and it should be a key element in any modern company transformation plan. Your data is your treasure and, together with your intellectual property, it might be what differentiates your organization from the competition. But it is also your responsibility to keep all your data safe, even more so when it probably contains personal and private information about your customers.

Rob summarizes these four pillars into their corresponding objectives: application and infrastructure modernization, data democratization, people connections, and trusted transactions. Any organization able to meet these objectives will have much more time and resources to dedicate to innovation.

If you read the previous paragraph carefully, you will realize that we developers are the key players in each of the four pillars of Digital Transformation, one way or another. During the digital transformation of an organization, developers will be working hand in hand with engineers on application and infrastructure modernization, which should be achieved by simplifying monolithic architectures by splitting them into elastic microservices. These apps and services will be using data as an input, and probably also generating data and insights as an output in many of the cases, so they will benefit from both the data centralization and the democratization mentioned earlier, and code should become simpler once data is easier to access.

And being connected to the rest of the team will also be important to make sure that our code meets everyone’s needs. If we work using sprints, we need to be aligned with the rest of the team, even if each of us is located in a different office, country, or even continent. Finally, security is the key to ensuring that our apps and services are safe to be used and that our customers trust us more than ever.

Designing a Digital Transformation plan is not easy, and that’s why there are a lot of companies working to help others succeed on their transformation journey. Some companies can help you design and execute the plan, but many others have created platforms that can make things much easier.

Some years ago, tech giants had the idea of abstracting the infrastructure up to the point that the customer wanted, letting organizations focus on what they love to do: architect, write, and run modern applications, centralize their data, make the most out of it, and get people connected, all of it in a secured platform. And guess what – Google Cloud is one of them.

Why should you run your code on the cloud?

There are a few reasons why I would recommend developers run their code on the cloud.

First of all, let me say once again: if you are spending too much time setting up servers, installing operating systems, deploying patches, and performing migrations, then you simply deserve better. I’ve been there and I can’t put into words how happy I felt after I left it behind. I used to dedicate 20% of my time (and much longer on specific occasions) to maintaining, troubleshooting, and supporting the operating system, applications, and database. Since I joined Google, I can use that extra time to learn, brainstorm innovative solutions with my team, or write better code. I also think that code is poetry (https://www.smashingmagazine.com/2010/05/the-poetics-of-coding/), so IMHO, inspiration arrives better when we have more time and less pressure.

Besides, most cloud-based services offer customizable infrastructure components, or at least different sizes, so you can still have a reasonable degree of control over where your code runs. In summary, running code on the cloud will provide you with more options and better performance and will allow you to focus your time on coding, not on other distracting tasks.

Also, a cloud provider has many data centers in different locations across the world. If the start-up or organization you work for is planning to grow and have customers in more than one market at some point, a single server or even a few servers in a single location may not be enough to offer decent-quality service. This is becoming more and more important as real-time services become predominant and latency has to remain low.

If you can anticipate that you may suffer a potential scaling or latency problem in the future, already being in the cloud can make things much easier if you need to replicate your architecture in another continent for local users. Having infrastructure located closer to users can also help you meet legal requirements, as some countries require data or processes to be located in-country.

And speaking about scaling, the pay-per-use model is reasonably compatible with organizations growing because you will use more resources as you make more business and generate more revenue. Besides, most cloud providers will offer bigger discounts as you increase your usage. And if you have very particular needs, you can use huge clusters for a few minutes or hours and pay a very reasonable price. Indeed, you can have thousands of servers at your command at a very affordable price, something that would be prohibitive in an on-premises data center.

If your infrastructure is affected by traffic peaks, the cloud is also your place to go. If you have a lot of visitors on Sundays, your website crashes during Black Friday, or your app is usually down during the Christmas holiday season because of seasonality peaks, you may have decided not to increase the resources available for your application or website because, during most of the year, it can handle the average demand. With a cloud provider, you can scale up your application automatically when there is a peak and you can do the contrary too – that is, you can scale it down while your customers are sleeping so that you can reduce your costs. You can also schedule some tasks to run when the data center has less workload and save more money. We will discuss all of these opportunities later in this book.

What if you want to implement Agile and DevOps practices? Cloud providers have very fast provisioning times, so you can deploy complex applications and the infrastructure associated with them, as it is no longer static, in a matter of minutes. And that makes a huge difference, which allows you to use that extra time for better testing or even to do more iterations, which in the end will translate into better code.

And regarding the everyday life of a developer, if you are worried because you may not be able to keep on using your favorite IDE or fear that latency while writing code could be a problem, or that processes might be more complicated, just give it a try – you will be delighted. Hosting your repository in the cloud should be easy and you will not notice the difference. And you can connect from anywhere, even while commuting back home if you realize that you forgot to submit a very important CL before leaving the office.

I hope that you have been convinced that running your code on the cloud is a great idea. Now, let me show you why I think that Google Cloud is the best cloud provider to do so.

Introducing Google Cloud

Cloud providers offer different infrastructure components and managed services on demand using a pay-per-use model so that you don’t have to worry about migrations, updates, patches, and similar time thieves.

Google’s specific vision is to run their customer’s code (and any other stuff they want to bring over to the cloud) on the same infrastructure used by its well-known products with billions of users, such as Google Search, Gmail, Google Drive, and YouTube. Using these same services is a guarantee of scalability and reliability. And this is what Google calls Google Cloud, a public cloud provider that many companies choose for their digital transformation journey.

If you are new to Google Cloud or are unsure about the number of products it offers, then it’s a perfect time to visit Google's Developer cheat sheet (https://googlecloudcheatsheet.withgoogle.com/) so that you can understand the real magnitude of this offering; there are hundreds of services, organized in different areas, which allow you to accomplish virtually any task on the cloud. When you load the cheat sheet, you will see all the products, along with their corresponding names and icons, organized in different areas with different colors. You can scroll down to see the whole list; putting your mouse cursor over any of the tiles will show a very short description of each product.

A zoomed-out view of the cheat sheet looks like this:

Figure 1.7 – Zoomed-out view of the Google Cloud cheat sheet (source: https://googlecloudcheatsheet.withgoogle.com/)

Figure 1.7 – Zoomed-out view of the Google Cloud cheat sheet (source: https://googlecloudcheatsheet.withgoogle.com/)

If you feel overwhelmed at this point, that’s OK. I do too. This book is not aimed at going through that whole list, but to guide you on a quick and easy path to get you to write, run, and troubleshoot your code as easily as possible in Google Cloud. This book will cover those services directly or indirectly related to code development.

The product and service offerings of Google Cloud cover many different areas. I have selected just a few of the main services so that you can get a better idea of what I’m talking about:

  • Computing resources: Virtual machines running in Google’s Data Centers.
  • Serverless platforms: Run your code without having to worry about the hardware or the operating system, including services such as Cloud Functions or App Engine.
  • Containerized applications: You can use either Cloud Run or Kubernetes Engine.
  • Databases: These offer all flavors: relational, NoSQL, document, serverless, and memory-based. They even offer managed instances of MySQL, PostgreSQL, and SQL Server and tools to easily migrate your database from Oracle, MySQL, and PostgreSQL to Cloud SQL.
  • Storage: This is either for files or any kinds of objects and supports many different scenarios in terms of availability and retention.
  • Data analytics: You can do this with a complete set of tools to help you ingest, process, and analyze all your data.
  • Artificial intelligence and machine learning: These help turn your data into insights and generate models able to make predictions.
  • Networking: This offers cloud and hybrid connectivity security solutions, together with load balancing and content distribution services, among many others.
  • Mobile platform: This provides tools to help you make the most out of your mobile applications.
  • Hybrid and multi-cloud: These options use Anthos to migrate, run, and operate your applications anywhere.
  • Migration tools: These make it easier for you to move your stuff from an on-premises environment or other cloud providers.

But where are the services for developers? I’m a really bad guy and left them out of the previous list on purpose so that you didn’t skip the rest. These are some of the development-related services that you can enjoy in Google Cloud, in addition to those already mentioned:

  • Development tools and services, such as command-line tools and libraries, CloudShell, Cloud Source Repositories, Tools for PowerShell, Cloud Scheduler for task automation and management, Cloud Code, and IDE support to write, run and debug Kubernetes applications.
  • DevOps continuous integration and continuous delivery (CI/CD) tools and services, allowing fast and safe code deployments with low error rates. Use Cloud Build for CI/CD, Artifact Registry to store build artifacts and dependencies, Google Cloud Deploy for fully managed purposes, Google Kubernetes Engine, Tekton for declaring CI/CD pipelines, and Cloud Deployment Manager to create and manage Google Cloud resources. Operations and monitoring tools and services are also provided, built to help you once your code is running in production. Log, Trace, Profile, and Debug can be used to troubleshoot any issue.
  • A long list of public APIs provides a wide range of advanced features offered using a pay-per-use model that you can use to modernize your applications very quickly.

Indeed, the Google Cloud website has a page with a list of all the developer tools: https://cloud.google.com/products/tools.

Combine this a wide variety of managed services with the ability to connect your code to a huge API platform and ecosystem, allowing you to manage all your Google Cloud products and services. Besides, some of these Google Cloud APIs provide access to a set of machine learning that’s pre-trained with advanced capabilities using a pay-per-use model, such as the following:

  • Vision API: Able to identify objects, texts, colors, and faces in images and videos, and also flag explicit content
  • Speech-to-Text: Used to transcribe audio into text (and vice versa) in more than 125 languages and variants
  • AutoML: Allows you easily create, train, and productize custom machine learning models, even if you don’t have any experience
  • Natural Language AI: Allows you to analyze text, understand its structure and meaning, extract sentiment, and annotate it
  • Cloud Translation: This is very useful for translating texts from one language into another
  • Dialogflow: This can help you implement chat or voice conversation agents easily

These APIs can also help you simplify and modernize your applications by integrating the corresponding services to provide advanced capabilities with a few lines of code.

You can find the full list of APIs available in Google Cloud here: https://cloud.google.com/apis.

Technical documentation and videos are also available to help you solve some of the most common developer problems and use cases. You can read more about them here: https://cloud.google.com/docs/get-started/common-developer-use-cases.

Why should you choose Google Cloud?

There are many reasons why I would recommend you choose Google Cloud, not only to run your code but also to take your organization to the next level, because I picture us, developers, as main actors in any digital transformation process.

Summarizing all the topics previously covered in this chapter, these are the six key factors I would consider when choosing a cloud provider, in no particular order:

  • Compatibility with Agile practices and app modernization
  • Capabilities for data democratization
  • People connections
  • Protection and security
  • Level of freedom and use of open software
  • Cost-effectiveness

Note

Apart from my personal opinion, which I have shared during this chapter, to put together a more objective list of reasons why you should choose Google Cloud, let’s review each of these factors and summarize all the information about these topics, all of which can be found on Google Cloud’s website (https://cloud.google.com/why-google-cloud).

Thinking about app modernization and agility, Google Cloud is the first cloud provider to release a platform, Anthos (https://cloud.google.com/anthos), that empowers you to quickly build new apps and modernize existing ones to increase your agility and enjoy all the benefits of the multi-cloud. Also, the managed Kubernetes service seamlessly allows you to implement DevOps and SRE practices with cloud-native tools so that you can deploy your code with agility.

From the data democratization point of view, Google Cloud offers the ability to manage every stage of the data life cycle, whether running operational transactions, managing analytical applications across data warehouses and data lakes, or breaking down rich data-driven experiences. Besides, the key differentiator is that artificial intelligence/machine learning is a core component of the data cloud solution, which helps organizations not only build improved insights available to all members but also automate core business processes using data as the core.

Speaking about bringing people together, in Google Cloud, you can integrate video calling, email, chat, and document collaboration in one place with Google Workspace, which already connects more than 3 billion users. Google Workspace is built with a zero-trust approach and comes with enterprise-grade access management, data protection, encryption, and endpoint protections built in.

Protection is a key element of digital transformation, and Google Cloud can help you defend your data and apps against threats and fraudulent activity with the same security technology Google uses. Google keeps more people safe online than anyone else in the world: billions of users and millions of websites globally. Google pioneered the zero-trust model at the core of its services and operations and enables its customers to do the same. Besides, data is encrypted in transit between their facilities and at rest, ensuring that it can only be accessed by authorized roles and services with audited access to the encryption keys.

And if freedom is important for your organization, you should take into account that Google Cloud is the only cloud provider with a clear multi-cloud strategy. In Google Cloud, you can deploy and run each of your applications wherever you want: on-premises, on Google Cloud, or with other cloud providers. Google is also one of the largest contributors to the open source ecosystem, working with the open-source community to develop well-known open-source technologies such as Kubernetes, then roll these out as managed services in Google Cloud to give users maximum choice and increase their IT investments’ longevity and survivability.

Another important point is that Google Cloud is open and standards-based and offers best-in-class integration with open-source standards and APIs, which ensures portability and extensibility to prevent lock-in, with easy interoperability with existing partner solutions and investments.

From a financial point of view, organizations can see significant savings when building on or migrating to a cloud-native architecture on Google Cloud. In addition, a reliable platform with 99.99% availability reduces risk and increases operational efficiency.

In summary, if you choose Google Cloud for your digital transformation, the result will be an organization and its workers being able to take advantage of all of the benefits of cloud computing to drive innovation.

Summary

I hope you are convinced about the benefits of choosing Google Cloud and how it is the best platform to help your organization simplify its development and infrastructure-related work to put more focus on innovation by completing your digital transformation, which will help you become much more competitive in your field.

In the next chapter, I will describe how developers work in legacy environments and highlight the differences in development workflows once you move to the cloud in general and Google Cloud in particular.

But before closing this chapter, and especially if you are new to the platform, before your development journey begins, I would recommend you make sure that someone in your organization takes care of building a proper Google Cloud Foundation by completing the 10-step checklist at https://cloud.google.com/docs/enterprise/setup-checklist.

And if you need more details about how to complete these steps, Packt has published an amazing book about it that I had the pleasure to review, called The Ultimate Guide to Building a Cloud Foundation (https://www.amazon.com/Ultimate-Guide-Building-Google-Foundation/dp/1803240857), so that you can start developing with peace of mind, knowing that all the basics have been taken care of.

Further reading

To learn more about the topics that were covered in this chapter, take a look at the following resources:

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Maximize your code potential using Google Cloud services
  • Migrate legacy code to the cloud seamlessly and create code that runs anywhere
  • Use hands-on examples to learn and showcase your experience with Google Cloud

Description

As more organizations embrace cloud computing, developers new to the cloud often feel overwhelmed by cloud migration and code running directly on the cloud. Google Cloud for Developers comes packed with practical tips and expert advice to accelerate your application development journey and help you unlock the full potential of cloud computing. You’ll begin by understanding and comparing all the available options to run your code. You’ll write, deploy, monitor, and troubleshoot your code without leaving the Google Cloud IDE while selecting the best option – serverless or GKE containers – for each use case. After that, you’ll get to grips with the basic Google Cloud infrastructure services and connect your code with public APIs. This will help you add features to your application, such as language translation and object detection in images or videos. Furthermore, you’ll explore a comprehensive list of tips and best practices to make your migration smooth. You’ll also gain the necessary knowledge to write code from scratch, by employing the basics of hybrid cloud applications and build services that can run virtually anywhere. By the end of this book, you’ll be well equipped to carry out the application development process and successfully move your code to Google Cloud.

Who is this book for?

Google Cloud for Developers is for cloud architects, engineers, or developers willing to migrate their applications and services to Google Cloud or build them from scratch. Entrepreneurs in early-stage start-ups and IT professionals who want to know more about Google Cloud from a developer perspective will also benefit from this book. A basic understanding of Cloud concepts and basic experience in writing Python and Shell scripts is a must.

What you will learn

  • Understand how to write, run, and troubleshoot code on Google Cloud
  • Choose between serverless or GKE containers for running your code
  • Connect your code to Google Cloud services using public APIs
  • Migrate your code to Google Cloud flawlessly
  • Build hybrid cloud solutions that can run virtually anywhere
  • Get to grips with Cloud Functions, App Engine, GKE, and Anthos

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 26, 2023
Length: 364 pages
Edition : 1st
Language : English
ISBN-13 : 9781837636273
Vendor :
Google
Languages :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning

Product Details

Publication date : May 26, 2023
Length: 364 pages
Edition : 1st
Language : English
ISBN-13 : 9781837636273
Vendor :
Google
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 110.97
Google Cloud for Developers
€33.99
Terraform for Google Cloud Essential Guide
€31.99
Official Google Cloud Certified Professional Cloud Security Engineer Exam Guide
€44.99
Total 110.97 Stars icon

Table of Contents

19 Chapters
Part 1: Foundations of Developing for Google Cloud Chevron down icon Chevron up icon
Chapter 1: Choosing Google Cloud Chevron down icon Chevron up icon
Chapter 2: Modern Software Development in Google Cloud Chevron down icon Chevron up icon
Chapter 3: Starting to Develop on Google Cloud Chevron down icon Chevron up icon
Part 2: Basic Google Cloud Services for Developers Chevron down icon Chevron up icon
Chapter 4: Running Serverless Code on Google Cloud – Part 1 Chevron down icon Chevron up icon
Chapter 5: Running Serverless Code on Google Cloud – Part 2 Chevron down icon Chevron up icon
Chapter 6: Running Containerized Applications with Google Kubernetes Engine Chevron down icon Chevron up icon
Chapter 7: Managing the Hybrid Cloud with Anthos Chevron down icon Chevron up icon
Part 3: Extending Your Code – Using Google Cloud Services and Public APIs Chevron down icon Chevron up icon
Chapter 8: Making the Best of Google Cloud Networking Chevron down icon Chevron up icon
Chapter 9: Time-Saving Google Cloud Services Chevron down icon Chevron up icon
Chapter 10: Extending Applications with Google Cloud Machine Learning APIs Chevron down icon Chevron up icon
Part 4: Connecting the Dots –Building Hybrid Cloud Solutions That Can Run Anywhere Chevron down icon Chevron up icon
Chapter 11: Architecture Patterns for Hybrid and Multi-Cloud Solutions Chevron down icon Chevron up icon
Chapter 12: Practical Use Cases of Google Cloud in Real-World Scenarios Chevron down icon Chevron up icon
Chapter 13: Migration Pitfalls, Best Practices, and Useful Tips Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(7 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Xiang Shen Jul 19, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Many books about cloud computing focus on the infrastructure, such as networking, IAM, and landing zones. However, this book takes a developer-centric approach to Google Cloud, which I find to be exceptionally valuable. In addition to covering the essential tools and services for building modern applications on Google Cloud, I also appreciate the emphasis on serverless and containers. This book is also very practical, with helpful code examples, architecture patterns, and best practices. I highly recommend this book to anyone interested in Google Cloud, especially developers!
Amazon Verified review Amazon
Julio Quinteros Jul 24, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
As a beginner, for sure you are going to need a trustable guide on the best approach to start learning a new skill. In this case, I feel this book will be the right companion for you to begin this trip as a developer on the Google Cloud Platform.It starts with what I think is the best approach for learning this kind of technology: start by doing, fail fast, and fail safe. The very first chapter on content is about how to start doing things on GCP ("Starting to Develop on Google Cloud") and provides you direct hints on what to do in order to get your hands on practical things! this is definitely the approach!Once you are done with your gear/setup, you will follow with a sound introduction to the most relevant products as today, meeting serverless services, up to the robust kubernetes managed offering in GCP and its unique and revolutionary next step, that is Anthos. You will be also introduced to many complementary services on GCP in the next chapters, organized in a practical way more than a commercial or logical hierarchy (that is the usual way this contents are delivered).Finally, once you are ready on the elementary tools and be familiarised on most advanced complementary services, you are given an excellent compendium on best practices, architectural patterns, practical use-cases, and "do and do nots" based on practical experience.In the case you missed it, I started this review with trying to explain you this is a breaking and disruptive way to approach a new platform. Usually, you will find several and several of resources explaining you the context, the ideas and concepts, and just then, after a while, getting to work with the platform. This book maybe assumes a little background on some sort of compatible technology, but focuses on a practical way to learning by doing, as soon as possible.
Amazon Verified review Amazon
M Jul 19, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book takes a developer approach to Google Cloud, which I find to be really helpful and valuable.In addition to covering the essential tools and services for building modern applications on Google Cloud, I also appreciate the emphasis on serverless and containers.This book is also very practical, with helpful code examples, architecture patterns, and best practices.I highly recommend this book to anyone interested in Google Cloud, especially developers!
Amazon Verified review Amazon
Giuliano Ribeiro Jul 19, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
The book is a great read, offering a concise guide to how to work in Google Cloud. The author's perspective is very narrow when it comes to how app developers can make use of the Google Cloud offerings to enhance their apps. Another interesting point you can find in this book is the Common pitfalls when migrating your app to Google Cloud. I mean fascinating because it is very common to see it happening, but only a few books of developer-focus have this included. Thanks to the author, he made an excellent book for developers.
Amazon Verified review Amazon
SA Jul 20, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Very informative book for developers new to Google Cloud or developers new to cloud computing altogether. Part One of the book does a very good job of explaining cloud computing and various aspects and has a small section to give the user an example of Google Cloud before getting into the more robust parts in Part Two.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.