Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Google Cloud for Developers

You're reading from   Google Cloud for Developers Write, migrate, and extend your code by leveraging Google Cloud

Arrow left icon
Product type Paperback
Published in May 2023
Publisher Packt
ISBN-13 9781837630745
Length 364 pages
Edition 1st Edition
Languages
Arrow right icon
Authors (2):
Arrow left icon
Hector Parra Martinez Hector Parra Martinez
Author Profile Icon Hector Parra Martinez
Hector Parra Martinez
Isaac Hernández Vargas Isaac Hernández Vargas
Author Profile Icon Isaac Hernández Vargas
Isaac Hernández Vargas
Arrow right icon
View More author details
Toc

Table of Contents (20) Chapters Close

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

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.

You have been reading a chapter from
Google Cloud for Developers
Published in: May 2023
Publisher: Packt
ISBN-13: 9781837630745
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image