The blueprint to success for any business is a short time-to-market. Whether it is an emerging outfit, or an established corporation, the topmost priority is to launch deliverables through the fastest route possible. In IT, that route is through developer experience (DX or DevEx).
Developers are an asset to organizations, and their experience is intertwined with its innovation and progress. They are the people responsible for building software programs that run digital applications and services. Their roles primarily entail writing code, designing and testing software, debugging, maintenance, and so on.
The more efficiently developers can do these tasks with fewer obstacles and distractions in their way, the better is the business outcome. If developer productivity suffers, the bottom-line suffers with it.
Lately, a lack of focus on developer experience has slowed these professionals down leading to unusually long go-to-market timelines. Aside from essential tasks, frequently, developers are required delve into the underlying infrastructure and make fine-grained decisions, a chore that is neither quick, nor painless, and is a constant source of frustration in the developer community.
At the AppDev Field Day event in California, Google Cloud showcased Cloud Run, a developer-centric compute platform that flips the script. Cloud Run is designed to automate infrastructure management, and ensure a top-notch developer experience.
It Takes a Village to Run IT
The day-to-day execution of sundry things is the result of crossovers and collaborations between teams. “There are usually a lot of different stakeholders, security team that’s worried about centralized security policy, network team that sets network policy, etc. Developers want to move fast, but they want to do so within the boundaries sets by the organization,” says Sridhar Venkatakrishnan, Engineering Manager.
A fully managed platform helps developers bypass these secondary responsibilities and have more time to focus exclusively on writing and deploying code. This is why Google Cloud has developed Cloud Run.
“Cloud Run is our fully managed platform. You can provide it a container and it abstracts away everything else underneath the hood. You don’t have to think about Kubernetes, orchestration, networking or any of it,” Yunong Xiao, Director of Engineering explains.
Xiao likens the experience to taking an Uber ride. Uber takes care of providing passengers their vehicles of choice, finding the most efficient route, and drivers to drop them off safely to their destinations without having to worry about a thing.
Large corporations in different sectors use Cloud Run for this easy, hands-off infrastructure management. Some names include IKEA, L’Oréal, LangChain, Nasdaq, BBC, Ford, Airbus and Colgate.
How Cloud Run Forges a Positive Developer Experience
Google Cloud positions GCP as an AI-first product, and everything within it is focused on DX. “From console to development tools to the way that we structure our APIs, all of it makes it very very easy for developers to get started and continue past the day one experience,” says Xiao.
Keeping with that core element of simplicity and enhanced experience, Cloud Run presents a developer platform so easy to use that developer velocity is guaranteed. Cloud Run is fully featured, and demands very little from users. Developers can run their code directly on top of Google Cloud without getting their hands dirty in the manual infrastructure work.
The corollary, developers spend less time on nonessential activities, and more time writing code.
There are two ways to run code on Cloud Run – as a service, and as a job. Services are for code designed to respond to a particular event or request, and jobs for code meant to do a particular work and stop after completion.
Tasks like scaling, configuration, and resource allocation happen automatically under the hood. Set-and-forget policy management allows networking and security teams to define the policy and enable automatic enforcement for every job.
Cloud Run scales out on demand, meaning it can go to a thousand instances or more when requests come in.
“Cloud Run is serverless. We maintain and manage all the existing infrastructure for you at planet scale,” Xiao informs. “You simply give it a container which is your workload, and it’ll scale off for you. You don’t have to worry about the auto-scaling policies or any of that existing infrastructure.”
Conversely, when demand is low, Cloud Run intuitively turns off idle containers to minimize utilization. Users can set the max number of instances to ensure that the service does not go over it.
Cloud Run supports most coding languages, frameworks and libraries. Developers can build their own containers or let the platform build it for them based on the best practices for the language concerned.
Container images can be automatically created from source, and batch data processing can be performed leveraging parallel-running instances. Scheduled jobs can be run to completion for up to 24 hours.
“The product teams can move very fast, and build their containers. It’s a very simple interface and they can work with skills they can handle. If you’ve got a CPU or memory- hungry app, that works just fine too, and whether it’s one service, a hundred services or a thousand – Cloud Run scales really fast,” Venkatakrishnan says.
New Product Updates
Venkatakrishnan gave a rundown of the new updates soon to come to Cloud Run. The first on the list is a newly announced feature called Volume Mounts. Currently in preview, this feature allows integration between cloud-native apps and shared data storage like NFS and cloud storage buckets. “It’s great for read/write use cases as long as you’re not using something that requires concurrent writes to the same file,” he highlights.
The second feature, also in private review, is Automatic Security Updates. This feature aims to release a patch under 48 hours of detection of a CVE (Common Vulnerabilities and Exposures).
“We’ve been doing this for App Engine for more than a decade, and we’ve brought that technology to cloud. There are lots of issues that show up especially with the supply chain being what it is these days, and the use of open-source products. You want a way to very quickly patch things when CVE occurs,” he elaborates.
This feature is available for multiple languages, and runtimes.
The third capability is Multi-Region Services. With a single command, developers can deploy a service to multiple regions. This takes Cloud Run from being a regional service to a multi-region one.
“If you provide a domain, we’ll automatically set up a global endpoint for that domain so that when traffic gets to that end point, it will get routed to the nearest Cloud Run region and that provides you with a multi-region service with location-based routing with a single command.”
There is no flat fee for using Cloud Run. Google Cloud only charges for the resources used, rounding it up to the nearest 100ms. The free monthly tier resets start of every month.
Be sure to check out Google Cloud’s presentations from the AppDev Field Day event for the technical nitty-gritty. Also give Paul Nashawaty’s coverage on Cloud Run from AppDev Field Day.