Topics

Featured in Development

Peter Alvaro talks about the reasons one should engage in language design and why many of us would (or should) do something so perverse as to design a language that no one will ever use. He shares some of the extreme and sometimes obnoxious opinions that guided his design process.

Featured in AI, ML & Data Engineering

Today on The InfoQ Podcast, Wes talks with Katharine Jarmul about privacy and fairness in machine learning algorithms. Jarul discusses what’s meant by Ethical Machine Learning and some things to consider when working towards achieving fairness. Jarmul is the co-founder at KIProtect a machine learning security and privacy firm based in Germany and is one of the three keynote speakers at QCon.ai.

Featured in Culture & Methods

Organizations struggle to scale their agility. While every organization is different, common patterns explain the major challenges that most organizations face: organizational design, trying to copy others, “one-size-fits-all” scaling, scaling in siloes, and neglecting engineering practices. This article explains why, what to do about it, and how the three leading scaling frameworks compare.

Google Introduces Cloud Functions

Google has launched a new service called Cloud Functions in alpha. This service allows one to create small JavaScript functions that automatically respond to cloud events without requiring user’s intervention, configuring a runtime and executing it, or scaling it to multiple machines.

There can be multiple events occurring in a cloud environment, asynchronously propagated through the Cloud Pub/Sub infrastructure. The user can configure a trigger that listens to such events and reacts on them by executing JavaScript code in a Node.js environment. Currently, triggers can be activated through the following channels:

Cloud Pub/Sub – any asynchronous Pub/Sub event

Cloud Storage - Object Change notifications

HTTP Invocation – synchronous invocation through HTTP

Debug/Direct Invocation – using the CLI to develop/debug Cloud Functions

We asked Google what Cloud Functions can do:

The function can access any other cloud resources that have appropriate Node (JavaScript) client libraries or RESTful APIs. If you use the gcloud-node client libraries you're automatically authenticated with the default project credentials, so you don't have to worry about generating or storing auth keys etc.

The function has full access to the internet so you can call out to any 3rd party API, however you'll have to maintain your own auth keys etc for these external services.

Google did not want to comment on future development, so we do not know if they will add support for other languages. But it is likely they will.

Amazon has a similar service called AWS Lambda. Lambda functions can be directly triggered by CloudWatch, DynamoDB, Kinesis, SNS, S3, or by modifications in system state, data change or user action. AWS Lambda can be used in real-time file processing or data streaming, performing various operations on data as it is loaded or modified. AWS Lambda supports Java, JavaScript/Node.js, and Python, with the promise that support for other languages will be added in the future.