Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Google Cloud for Developers
  • Table Of Contents Toc
Google Cloud for Developers

Google Cloud for Developers

By : Hector Parra Martinez, Isaac Hernández Vargas
5 (7)
close
close
Google Cloud for Developers

Google Cloud for Developers

5 (7)
By: Hector Parra Martinez, Isaac Hernández Vargas

Overview of this book

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.
Table of Contents (20 chapters)
close
close
1
Part 1: Foundations of Developing for Google Cloud
5
Part 2: Basic Google Cloud Services for Developers
10
Part 3: Extending Your Code – Using Google Cloud Services and Public APIs
14
Part 4: Connecting the Dots –Building Hybrid Cloud Solutions That Can Run Anywhere

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.

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Google Cloud for Developers
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon