Google Cloud Platform’s new interactive CLI
cloudplatform.googleblog.com
cloudplatform.googleblog.com
For instance...Google CloudSQL - Great! Postgres - Beta...Postgres from AppEngine python...err, we'll get around to it, maybe.
Just giving one example, but my point is - finish what you've started before making new. I think recent articles I've read about launching being the track to promotion explain some of the state of things within GCP.
See AppEngine. Had (and still has) much bigger potential than heroku since the beginning. But where do you store data? Random stores with random limits.
CloudSQL is great? Backup/restore in CloudSQL is half baked. Multi master for MySQL is half baked. All these are very well solved with RDS, but Google wants to sell you 3 or 4 different data stores with different arbitrary limits.
AWS free tier provides a tiny RDS insurance for you to store useful data. Google cloud free tier? No standard SQL databases. Again, arbitrary locked in custom nosql with random functionality and usage limits.
It's spread out enough that it looks like a planned strategy to give an open computation platform but lock in the data, even at the risk of driving away potential new/small customers.
We deploy that onto GKE as a service and have our apps use that. Some setup required but cleaner overall.
Most product decisions are not set in stone and can be changed if there's sufficient evidence to suggest that they do more harm than good. There's a lot of work that goes on behind the scenes to keep the service running smoothly and unfortunately/fortunately customers are not exposed to them. Some things that may appear to be simple on the surface are not when you take things like supportability into consideration.
Source: Used to work on Cloud SQL
AWS gives you lots of tuning controls and complexity while GCP tends to hide most of it with easier scaling and performance. It'll vary with individual products themselves but it looks like Cloud SQL is designed with that general outlook.
None of the clouds are perfect, the only viable strategy is to use the best parts of them all that fit your needs.
Check this out - https://issuetracker.google.com/issues/37271935#comment39 and then the update https://issuetracker.google.com/issues/37271935#comment49
This is not a feature. It is a bug. It needs to be at par with RDS.
Personally I think Google App Engine has always had massive potential but has been at about 80% of its potential since its inception.
EDIT: Also I don't want to take away from this press release, the CLI is awesome and its going to help a lot of people.
Perhaps I am reading too much into your comment but you make it seem as though releasing other products slows down the development of those projects that you consider halfway done.
This is definitely not the case; it's not as though the engineers who were working on CloudSQL or AppEngine decided to start working on a CLI instead.
> I think recent articles I've read about launching being the track to promotion explain some of the state of things within GCP.
There are certainly issues with promotion but if anything I'd imagine getting a highly requested customer feature like Postgres out of beta would be awesome for promotion so I don't think that's the underlying issue here.
IAM in GCP is still half-baked. How about they finish that? I understand that GCP is a massive engineering effort with endless things going on in series, but core parts of their platform are still mediocre at best. I'd prefer not to see more hackweek projects on their blog.
The good thing about Google Cloud is that once things are out of beta, it is usually easier, cheaper and often faster to use than AWS equivalents. The "AWS way" of charging of every little thing is migraine inducing. (Ex. IOPS for RDS is tied to instance size but can also be scaled independently.)
The underlying tech and building primitives are the best, so if you just need fast VMs with solid cpu/io/networking then it all works well. Unfortunately that's not enough to compete with AWS and Azure which have so many turnkey services that let you focus on more productive things.
I also find it frustrating that they don't have more turnkey services. In particular, search. It's ironic that Google's doesn't offer a search service (except if you use App Engine).
Do you expect other teams to halt what they're doing and wait for other teams to finish before they continue their work?
In fact, I think it would be an interesting thing to standardize, like super-completion.
Someone else in this thread mentioned that Amazon is working on a similar interactive shell [0], and there is a whole group of tools like this for database CLI's [1], including PostgreSQL, MySQL, MS-SQL, and VerticaDB.
It's a shame that each of these projects have to somewhat re-invent the wheel (though prompt-toolkit does a lot of heavy lifting [2]). And it's even more of a shame that each of these tools require a seperate environment. So, you have to exit Google's interactive shell to do something in AWS.
[0] https://github.com/awslabs/aws-shell
[2] https://github.com/jonathanslenders/python-prompt-toolkit
(Though, Google does also have a Cloud Console that is comparable to Azure's Cloud Shell.)
python3 -m venv az.env
source ./az.env/bin/activate
pip install azure-cli
az --help
Although ms has a strange fetish for complicated installation, one might prefer running it from docker:https://docs.microsoft.com/en-us/cli/azure/install-azure-cli...
Interactive CLIs like are a little different than a "cloud shell", which provides a fully cloud-hosted CLI environment. If you want a fully curated cloud-hosted option, check out https://cloud.google.com/shell/. Note that the Cloud Shell includes the Cloud SDK.
Edit: I am slightly familiar with this family of tools. I was curious if there was a pointer to exactly the one used here.
For Rust this library seems nice: https://github.com/kbknapp/clap-rs (it generates autocompletion scripts for shells)
https://issuetracker.google.com/issues/35876441
http://www.googblogs.com/enhancing-the-python-experience-on-...
I use these 2:
https://github.com/sjmulder/trickle
http://sensi.org/~svo/glasstty/
in combination with a regular terminal application to achieve my retro vt220 VAX/BSD UNIX goodness. Doesn't have the phosphor fade like the above, but still feels pretty 'right'.
Overall, seems a bit too early to start promoting this for any real use.
I guess it just uses whatever theme your terminal is configured for.
Personally I learned to code on an old cathode ray tube monitor with green text, hooked up to a Tandy 1000. The CRT made a lot of heat and emitted a faint electronic tonal noise when it was running.
I think the use of green color in terminals today is kind of a throwback thing to those ancient devices. Even though I wouldn't really want to use an old CRT today I still remember the CRT I grew up using fondly as a much more "live" feeling device compared to modern electronics that are much colder, silent, and sterile bright. When I see a green text terminal it instantly feels familiar and comfortable, in the same way.
my daily driver is grey-on-black these days for that reason, though I keep a warm-and fuzzy green-on-black with vt220 font and slow-baud emulator around for the occasional one-off shell command.
I do agree it's not a disagreeable contrast.