AWS milking its cattle to herd code into an updated Chalice
Serverless framework inches towards cloud-ready code
Amazon Web Services (AWS) has quietly flicked the iteration counter on its Chalice Python serverless development framework to 0.4 and 0.5.
First offered in July, Chalice still counts as a developer preview while Amazon rounds out its feature set. Today's additions are local testing; and multifile application support.
So devs can check their code before they fire it off to the Amazon API Gateway, Chalice now offers a local HTTP server. Developers can run debugging and testing locally, to validate their APIs before moving code to the Amazon API Gateway.
The multifile support removes a limitation on Chalice, that Python deployments could only use a single
app.py file. Instead, as of Chalice 0.4, devs can include multiple files as part of their deployment package.
Logging's been revised: instead of being set in the root logger, it can be configured for an individual
app object, complete with configurable logging levels and format.
And there's a new command,
chalice url, meaning that post-deployment, developers don't have to retrieve the AWS API Gateway URL manually.
Serverless is a major pitch for AWS. Back in July, chief technology officer Dr Werner Vogels spoke of applications “being stripped of all their servers”, which we noted fits with a world where the cloud is evolving from Infrastructure-as-a-service to a fully-managed platform.
AWS's first foray into taking over running the code was Lambda in 2014; Chalice arrived this year to “rip out the servers” from Python development.
At the time, Dr Tim Wagner (who heads up the serverless initiative) said the idea was to let app developers treat their code like containers, with components running independently of each other.
Vogels reckons “serverless” takes the (already) time-honoured cloud metaphor from “pets” (sysadmins lovingly tending individual servers back to health) to “cattle” (“if they get sick you shoot them”) to “herd”, in which the hardware is hopefully invisible and the user cares only about the code (Vulture South suspects “milk” might work better in that metaphor – you know it comes from cows, but you're not buying cows).
There's a few other things to know about Chalice, which lives here.
It needs Python 2.7 or better, and AWS prefers you run it in
virtualenv. Boto handles credentials, and after that, you're ready to “Hello World” in Python.
It's a pretty sparse creature, providing a CLI tool for writing, deploying and managing apps; an API for declaring views in Python code; and automatic Amazon Identity and Access Management (IAM) permissions generation.
Be warned: AWS won't guarantee backwards compatibility across versions until Chalice reaches general availability version 1.0. ®