Chapter 1. What is “Cloud”?
Overview of “the cloud”
When and when not to use cloud hosting and what to expect
Explanation of cloud pricing principles
What it means to build an application for the cloud
A walk-through of Google Cloud Platform
Collection of services that helps developers focus on their project.
Provide APIs to provision virtual servers, where customers pay per hour.
Computing, storage, analytics, networking
Away from CPUs and RAM
APIs for higher-level operations such as storing or querying for data.
Extremely flexible with no provisioning or long-term contracts.
Scale up and down with no advanced notice paying only for the resources you use in a given month.
1.1. What is Google Cloud Platform?
Google Cloud Platform (often abbreviated as GCP) is a collection of products that allows the world to use some of Google’s internal infrastructure.
On-demand virtual machines via Google Compute Engine
Object storage for storing files via Google Cloud Storage.
APIs to some of the more advanced Google-built technology
Bigtable, Cloud Datastore, or Kubernetes.
Created incredible new technologies.
MapReduce (the research paper that spawned Hadoop and changed how we handle “Big Data”).
Bigtable (the paper that spawned Apache HBase), and Spanner.
Google operates at such a scale that it has many economic advantages.
Lower prices. immense physical infrastructure.
1.2. Why Cloud?
Cloud hosting offers a lot of flexibility
How much computing power you need.
Maintenance built in for several products.
No need to manage databases, operating systems, and hardware.
1.2.1. Why not Cloud?
Already own hardware, legacy systems with no development needed.
Some security or privacy concerns.
1.3. What to expect from cloud services
1.3.1. Computing
Provisioning your machine will be fast.
Compared to colocated or on-premises hosting will be significantly faster.
Turn on a VM right now, there’s no mention of payment.
Typical virtual private server, where you agree on a set price and purchase the VPS for a full year, making monthly payments.
They don’t know how long you’ll keep that machine running, so there’s no way to know how much to charge you at the end of the month.
1.3.2. Storage
Storage is necessary.
Data to be edge-cached to speed up downloads for users on the internet?
Are you optimizing for throughput or latency?
How many concurrent readers do you need to support?
Abstraction provided by a storage service gives you the ability to configure your storage mechanisms for various levels of performance, durability, availability, and cost.
The failure aspects of storing data typically disappear.
A hard drive never fails and your data is never lost.
Capacity (measured in GB)and in performance (I/O).
Cloud Datastore - unique to cloud hosting, relying on huge, shared, highly scalable systems built by and for Google.
1.3.3. Analytics (aka, Big Data)
Analytics, see this area called “Big Data.”
Logging and storing almost everything,
Amount of data they have to analyze and use to draw conclusions is growing.
Iteresting open source projects are popping up, such as Apache Spark, HBase, and Hadoop.
1.3.4. Networking
Those pieces to talk to each other, your system isn’t a single system—it’s more of a pile of isolated systems.
Faster-than-normal network connections, advanced firewalling abilities (where you only allow certain IPs to talk to certain ports).
1.3.5. Pricing
Compare costs of hosting infrastructure use TCO, or total cost of ownership. the cost of purchasing the physical hardware.
Costs such as human labor (like hardware administrators or security guards), utility costs (electricity or cooling) support and on-call staff who make sure that any software services running build redundancy for your systems so that data is never lost.
1.4. Building an application for the cloud
1.4.1. What is a cloud application?
Difference is in the assumptions made about the application’s architecture.
Traditional applications deploy binaries running on particular servers.
Relies on hosted or managed services whenever possible.
Relies on containers the way a traditional application would rely on servers.
Cloud applications are more flexible and able to grow and shrink.
Have a single web server living somewhere inside a data center, serving a photo it has stored locally on its disk.
Edge caching, or relying on a content distribution network. services is that you give them copies of your data in lots of different geographical locations.
Cloud hosting is to provide managed services that solve the problem
managed storage service, which handles content distribution automatically
Summary
Cloud has become a buzzword, a collection of services that abstract away computer infrastructure.
Cloud is a good fit if you don’t want to manage data centers and needs change often.
No comments:
Post a Comment