Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Getting Started with the Google Cloud Platform

Dive into this overview of the Google Cloud Platform and learn more about what it offers.


advertisement

Cloud computing makes it relatively easy to manage a large-scale software operation without serious operations expertise. The breadth, quality, services and support offered by today's cloud providers are pretty amazing. It is pretty much a no-brainer for any company that doesn't have hundreds of servers (or already have a working set up). In this article I'll dive into the Google Cloud Platform and describe some of its offerings.

Lock-in, Price, Security and Multi-Provider Capabilities

Before talking specifically about the Google Cloud, I want to address the issue of vendor lock-in. For some companies it is a big deal and they want to preserve the ability to switch to another provider, to bare metal servers, or even run their own data centers. A good strategy to employ in this case is to use standard best practices and introduce a layer of indirection through APIs, tools and user interfaces that isolate you from direct interaction with the cloud provider and also to consider carefully, what platform services you use.

Some companies have such sensitive data that they want full physical control and can't trust a cloud provider, so this, obviously, isn't the right fit.



Another reason companies avoid cloud computing is the price. The (virtual) hardware cost is indeed higher with a cloud provider, but for non-huge clusters the expense of operating your own servers and the inefficiencies associated with capacity planning and self-provisioning will be much higher than the savings on hardware.

The Google Factor

Google is at the forefront of data engineering. Google has possibly innovated more than any other company in recent years in the areas of networking, data center design and data pipelines. Everybody's darling — Hadoop — is based on a more than a decade-old Google technology that was published in a famous MapReduce paper. Google has moved on since and is a couple of generations ahead. They've even conquered time with synchronized atomic clocks.

The Google Cloud Platform

The Google Cloud platform is Google's effort to open up its amazing technology to everybody — for a price. You benefit from Google's hard learned lessons and your hardware and data are managed by Google.

Pricing

Google's pricing is aimed at addressing concerns regarding the high cost of cloud computing. They offer multiple machine types, including cheaper pre-emptible VMs that can be stopped for non-critical loads and several types of storage options with different price/access trade offs. The premise is that you pay for what you use. For example, per minute billing. The latest billing info can be found here.

APIs, Client libraries, Command-line Tools and the Developer Console

All the platform services are available through REST APIs. Client libraries are available for some languages: Python, Go, Node.js and Ruby. The Python page (my favorite) can be found here.

There is also a command-line tool called gcloud as part of the SDK. The gcloud command-line tool allows accessing each and every aspect of the platform.

Finally, the developer's console is a full-fledged web interface for browsing and checking the status of your projects and performing various manual operations:

App Engine

App Engine is a PaaS (Platform as a Service). You can upload web application and benefit from the convenience of Google hosting, operating and scaling your application. There is a free quota that is adequate for development, so you can experiment for free. Give it a try here.

Cloud Storage

Cloud storage is the first, among many, storage services Google provides. It is a blob store organized in buckets and it is API compatible with AWS S3 (some migration either way are super simple). You get three price/availability options: standard, RDA and nearline. They progress from highly available/more expensive to less available/less expensive. Right now, it costs 2.6 cents to store 1GB of data in standard mode, which is available 99.9% of the time in under a millisecond.

Google Compute Engine

This is the bread and butter of cloud computing. The compute engine is similar to AWS EC2 and represents the IaaS (Infrastructure as a Service) offering of Google. You select a machine type, you get SSH access and you're responsible for configuring it as you wish and running your applications on it. You can install pretty much anything (starting with a selection of multiple OS images). There are many machine types and you can add various storage options such as shared network persistent disks, SSD disks and local disks. You can use services like instance groups and images for quickly provisioning instances and balance the load between multiple instances.

Google Container Engine

The container engine is Google's solution to containerization. It is built on top of Kubernetes and provides all the container goodness you expect without concerns of lock-in because Kubernetes is fully open source and runs on other cloud providers as well.

Other Services

There are many more services on the cloud platform such as distributed SQL store, distributed NoSQL key value store, BigQuery for data warehousing and a Pub/Sub for distribution publish/subscribe event notification.

Conclusion

Google provides a first class cloud platform that is based on its first rate technology. It is not the current leader in the market (AWS is), but being a follower has its advantages as there are fewer legacy and backward compatibility issues to consider and Google takes full advantage of that.



   
Gigi Sayfan is the chief platform architect of VRVIU, a start-up developing cutting-edge hardware + software technology in the virtual reality space. Gigi has been developing software professionally for 21 years in domains as diverse as instant messaging, morphing, chip fabrication process control, embedded multi-media application for game consoles, brain-inspired machine learning, custom browser development, web services for 3D distributed game platform, IoT/sensors and most recently virtual reality. He has written production code every day in many programming languages such as C, C++, C#, Python, Java, Delphi, Javascript and even Cobol and PowerBuilder for operating systems such as Windows (3.11 through 7), Linux, Mac OSX, Lynx (embedded) and Sony Playstation. His technical expertise includes databases, low-level networking, distributed systems, unorthodox user interfaces and general software development life cycle.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date