Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
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

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.

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