Hello. This is Furuyama, a programmer.
We are a major MSP with AWS, Azure, and GCP. This time, we will take up GCP. GCP has a long history, and GAE in particular has been available since 2008. By the way, AWS will be available in 2006. Although we are slightly lost, GAE is PaaS, which is quite fast for PaaS. By the way, the earliest PaaS seems to be Force.com. In 2007. It's delicious. By the way, GAE stands for Google App Engine, and it is a PaaS with a completely hidden server layer. PaaS stands for Platform as a Service. Since you don't need to be aware of the server layer, it is for app engineers. Sorry for all the abbreviations.
Now, if you are talking about this area, you can ask ISAO for a detailed explanation, and I will subtly touch on it at the level of an overview. Just in case, this is not all that is mentioned here. If you are interested, please contact ISAO.
About Cloud Endpoints
https://cloud.google.com/endpoints/
It is a service that provides an API for easy access to Google Cloud Datastore. It's super easy because the SDK is complete. The backend side is implemented simply, and the front side is implemented with native apps and JS. However, at this time, it can only be implemented in Java or Python, so those who are all about Golang or love PHP need to be careful.
I used to use Java before, and I used a library for data access called JDO. This was so heavy that it actually made me cry quite a bit, but from what I learned later, it seems that I don't usually use it because it's a bat practice. It seems that Google makes it the default when doing it in Java, so it was easy to automatically generate classes. I can cry. If you want to do it in Java, it is not very maintained, but I recommend Slim3 or the world-standard Objectify. But the best thing is to implement it in GO. In that case, you will need to use a full-scratch or 3rd-party library.
go-endpoints https://github.com/GoogleCloudPlatform/go-endpoints Since it is Google's language, the spin-up time from receiving the request to the launch of the instance is by far the shortest. It seems to be about 40msec. By the way, JDO is 7000msec. GO Amazing. Should I go now?
About Authentication
Apps and websites usually have a login function. The easiest way to implement login authentication in apps and websites created with CloudEndpoints and GAE is to authenticate using a Google account. This is super easy. But in fact, there are people who don't have a Google account, and there are many services that don't want to authenticate with a Google account in the first place. Is it a Google account hoi-hoi strategy? I got the impression that the darkness seemed to be deep.
About GCP Management UI
The GCP console is much cleaner than it was a long time ago, but it still feels naïve compared to the feature-packed AWS console. Complicated is not necessarily good, so I think this is fine. GCP is happy with the free tier, but you need to set your quota appropriately to take full advantage of it. However, it is not that difficult and relatively intuitive. At least I felt that GCP and GAE were the best for Sunday programming. Aim for EXIT! (?)
About Cloud Datastore
https://cloud.google.com/datastore/
It's a NoSQL DB. Combined with GAE, it offers unbeatable scalability. No matter how much DAU increases or access spikes, it seems that you can leave it almost alone. Amazing.
You can also use a query called GQL, which is like SQL, albeit in NoSQL.
GQL reference https://cloud.google.com/datastore/docs/apis/gql/gql_reference Although it is very restrictive and requires a completely different amount of care than SQL to achieve performance, I think GQL has lowered the threshold considerably. Please try it.
I think there are various data stores that are classified as NoSQL, such as Redis and Mongo, but rather than having best practices as NoSQL, it seems that it is difficult to expand horizontally because each data store has its own best practices. Also, I was vaguely aware of it, but I was a little shocked in terms of learning costs.
Cloud SQL
https://cloud.google.com/sql/docs/
It's a fully managed MySQL that runs on GCP that everyone has been waiting for. It seems that they have gotten a performance that can be stretched with Aurora in v2. GCP's Tokyo region should open soon, so latency is no longer an issue, and I think it's a golden rod for demons. You can't just restrict access from a VPN, so be careful if you insist on that. In fact, it seems that sufficient security can be ensured by properly managing access rights.
So, I rushed to introduce GCP. If you can use this, you can take advantage of Google's invincible infrastructure. If you are interested, please contact ISAO.
Kuramane https://www.colorkrew.com/kuramane/
A Meetup is also planned at our office on September 28th, so you can ask questions there. Please take this opportunity!
What is new in Firebase & Swift 3 that you can feel like using http://isao.connpass.com/event/40442/