Bringing together the best of PaaS and IaaS
By Navneet Joneja, Cloud Platform
Team
Cross-posted from the
Google Cloud Platform blog
Editor’s note: This post is a follow-up to the announcements we made on March 25th at
Google
Cloud Platform Live.
For many developers, building a cloud-native application begins with a fundamental decision.
Are you going to build it on Infrastructure as a Service (IaaS), or Platform as a Service
(PaaS)? Will you build large pieces of plumbing yourself so that you have complete flexibility
and control, or will you cede control over the environment to get high productivity?
You shouldn’t have to choose between the openness, flexibility and control of IaaS, and the
productivity and auto-management of PaaS. Describing solutions declaratively and taking
advantage of intelligent management systems that understand and manage deployments leads to
higher availability and quality of service. This frees engineers up to focus on writing code
and significantly reduces the need to carry a pager.
Today, we’re introducing
Managed Virtual Machines
and
Deployment
Manager. These are our first steps towards enabling developers to have the best of
both worlds.
Managed Virtual Machines
At
Google Cloud Platform Live we took
the first step towards ending the PaaS/IaaS dichotomy by introducing
Managed Virtual Machines.
With Managed VMs, you can build your application (or components of it) using virtual machines
running in
Google Compute Engine
while benefiting from the auto-management and services that
Google App Engine provides. This allows
you to easily use technology that isn’t built into one of our managed runtimes, whether that
is a different programming language, native code, or direct access to the file system or
network stack. Further, if you find you need to ssh into a VM in order to debug a particularly
thorny issue, it’s easy to “break glass” and do just that.
Moving from an App Engine runtime to a managed VM can be as easy as adding one line to your
app.yaml file:
vm:true
At Cloud Platform Live, we also demonstrated how the next stage in the evolution of Managed
VMs will allow you to bring your own runtime to App Engine, so you won’t be limited to the
runtimes we support out of the box.
Managed Virtual machines will soon launch in Limited Preview, and you can request access
here starting today.
Introducing Google Cloud Deployment Manager
A key part of deploying software at scale is ensuring that configuration happens automatically
from a single source of truth. This is because accumulated manual configuration often results
in “snowflakes” - components that are unique and almost impossible to replicate - which in
turn makes services harder to maintain, scale and troubleshoot.
These best practices are baked into the App Engine and Managed VM toolchains. Now, we’d like
to make it easy for developers who are using unmanaged VMs to also take advantage of
declarative configuration and foundational management capabilities like health-checking and
auto-scaling. So, we’re launching
Google Cloud Deployment
Manager - a new service that allows you to create declarative deployments of Cloud
Platform resources that can then be created, actively health monitored, and auto-scaled as
needed.
Deployment Manager gives you a simple YAML syntax to create parameterizable templates that
describe your Cloud Platform projects, including:
- The attributes of any Compute Engine virtual machines (e.g. instance type, network
settings, persistent disk, VM metadata).
- Health checks and auto-scaling
- Startup scripts that can be used to launch applications or other configuration
management software (like Puppet, Chef or SaltStack)
Templates can be re-used across multiple deployments. Over time, we expect to extend
Deployment Manager to cover additional Cloud Platform resources.
Deployment manager enables you to think in terms of logical infrastructure, where you describe
your service declaratively and let Google’s management systems deploy and manage their health
on your behalf. Please see the
Deployment Manager
documentation to learn more and to sign up for the Limited Preview.
We believe that combining flexibility and openness with the ease and productivity of
auto-management and a simple tool-chain is the foundation of the next-generation cloud.
Managed VMs and Deployment Manager are the first steps we’re taking towards delivering that
vision.
Update on operating systems
We introduced support for
SuSE and Red
Hat Enterprise Linux on Compute Engine in December. Today, SuSE is Generally
Available, and we announced Open Preview for Red Hat Enterprise Linux last week. We’re also
announcing the limited preview for Windows Server 2008 R2, and you can
sign up for access now. Windows Server will be
offered at $0.02 per hour for the f1-micro and g1-small instances and $0.04 per core per hour
for all other instances (Windows prices are in addition to normal VM charges).
Simple, lower prices
As we
mentioned on Tuesday, we think pricing should
be simpler and more closely track cost reductions as a result of Moore’s law. So we’re making
several changes to our pricing effective April 1, 2014.
First, we’ve cut virtual machine prices by up to 53%:
- We’ve dropped prices
by 32% across the board.
- We’re introducing sustained-use
discounts, which lower your effective price as your usage goes up. Discounts start
when you use a VM for over 25% of the month and increase with usage. When you use a VM for an
entire month, this amounts to an additional 30% discount.
What’s more, you don’t need to sign up for anything, make any financial commitments or pay any
upfront fees. We automatically give you the best price for every VM you run, and you still
only
pay for the minutes that you use.
Here’s what that looks like for our standard 1-core (n1-standard-1) instance:
Finally, we’ve drastically simplified pricing for App Engine, and lowered pricing for
instance-hours by 37.5%,
dedicated
memcache by 50% and
Datastore
writes by 30%. In addition, many services, including
SNI
SSL and
PageSpeed
are now offered to all applications at no extra cost.
We hope you find these new capabilities useful, and look forward to
hearing from
you! If you haven’t yet done so, you can sign up for Google Cloud Platform
here.
Navneet Joneja, Senior Product Manager
Posted by Louis Gray,
Googler