What do you consider the "fundamentals" of application development with Google Cloud? | C2C Community

What do you consider the "fundamentals" of application development with Google Cloud?

  • 26 January 2021
  • 3 replies
  • 74 views

Userlevel 7

Your input on this thread can make a difference for those just getting started, as well as set the foundation for community discussions we have in this forum. 

If you were building a “101” syllabus for application development on Google Cloud, what would you put in it? 

  • What technology concepts?
  • What strategies or approaches?
  • What terms? 
  • What business processes? 
  • Which products? 
  • What are 3-5 areas of focus you would recommend to someone getting started?

Together, we can identify a community-vetted list of the fundamentals. From there, we can build resource lists, tutorials, explainer articles, and content plans to cover all the “must have” topics. 


3 replies

Userlevel 4
Badge +1

Danny,

I am sharing my thoughts and experience on this question.

  • What technology concepts?

I would start to see if my existing tech stack is supported on Google Cloud. In my case I was a C# developer with MS SQL server as database. When I explored Google Cloud to develop .NET applications, we hit few roadblocks because of some limitation in the .NET core framework on Google Cloud. I also use PHP, so I evaluated how to run my PHP applications. I found PHP support on Google Cloud was better. I also realised that the best choice to develop applications on Google Cloud may be Python and I learnt that.

I am sharing a mistake we did recently. In the beginning I customised CodeIgniter PHP framework and made it run natively on Google Cloud App Engine and it worked for us. We saw some tutorials about running Laravel framework in PHP on AppEngine we experimented with Laravel 6 and It worked fine but Laravel 7 and 8 have problem with AppEngine because the pages were slow due to precompilation and caching and AppEngine does not allow app to write files to cache and precompiled views folder.

Now we learnt that we should use only Google endorsed frameworks and I see Django has be officially endorsed by Google Cloud for developers and we are now going to use Django on AppEngine for our future projects. Another factor that helped us choose Django was the frameworks documentation and Google SDK uses Python, so we felt it is a good choice.

  • What strategies or approaches?

The first step for me to try is to see which infrastructure service will help me run my current app without any modification. AppEngine, Container, Compute Engine are our choices in that order respectively. Our first choice is to see if AppEngine can run the app without any modification because it is completely managed by Google but it has its own limitations that we understood. If that does not work, then we evaluate Container and Compute Engine.

  • What terms? 

Can you please give an example of terms so that I can add answer to this?

  • What business processes?
  • I would not move business critical applications to Google Cloud at the start of my journey to cloud.  I will start with supporting applications, reporting related projects to migrated to Google Cloud.

 

  • Which products? 

We will start with BigQuery for data side of the enterprises and AppEngine for API based to start with and then we explore specialized services like Cloud Vision,NLP, DialogFlow etc.

  • What are 3-5 areas of focus you would recommend to someone getting started?

 

  • Compare current tech stack vs the tech stack you envision to use in Google Cloud. Because developers are the primary people who will be working with cloud.
  • Identify the infrastructure services in Google Cloud that can host and run your various applications that you are currently running on-premises.
  • Learn the specialized services offered on Google Cloud that can take your application next level eg: Cloud Vision, Cloud NLP etc.
  • Explore how to transform your enterprise architecture that is schedule driven to event driven when you migrate to Google Cloud.
  • Explore if you can bring in your processes for development like CI/CD, Automated Testing to Google Cloud and speed up your release cycles.

 

Userlevel 7

Thanks so much, @hthirukkumaran. This will go a long way to informing our C2C content strategy, and I hope it’ll also ignite some conversations with other members. 

To answer your question about what I mean by “what terms” in my list above: I mean terms, acronyms, or phrases like “CI/CD,” “DevOps,” or similar concepts that might be new to someone who is a novice in App Development or App Modernization. 

Userlevel 1
Badge

Hi Danny,

Love the idea of constructing for newcomers which I need to learn alot from everyone over here. I guess the most common things I have discussed with fellow friends are around the first adoption which includes some terms that you have mentioned:

“IaC”, “CI/CD”, “DevOps”, “Microservices”, “messaging service” and around the infrastructure it self “Kubernetes” “Serverless” is a valuable information which allow people to actually have options to actually adopt these practices into their own work.

But beyond those terms, I think the capability to understand about ‘why’ is one of the most critical skills (thats why I love to see and learn peoples thought around their approaches).

Reply