Wednesday, April 13th 2016 (462d ago)

Why now?

Guillermo Rauch (@rauchg)

Our mission at is to make the cloudfast and easy to use for developers and designers everywhere. In this inaugural post I want to outline a bit of our history, talk about our first product now and our future goals.

Genesis

In 2009 I started using Node.JS to experimentwith building realtime applications, such as instant messengers and document collaboration.

The first drafts of the WebSocketprotocol started appearing at around the same time Ryan Dahl announced Node. That initial Websocket server implementation became socket.io, now one of the 20 most popular JavaScript libraries on GitHub.

Many different buzzwords at the time got a lot of people excited: the event loop, V8, code sharing, realtime communication, sockets.

But the single most important and universal trait is that Node and JS were fast.

The JavaScript cloud

A striking realization came to me when we were building our first web application entirely in JavaScript. To test our API endpoints, we didn't go the route of mocking requests, unit testing specific components or injecting dependencies at runtime.

Instead, every single test spawned a new isolated HTTP server containing the entire application and used an actual HTTP client to query data from it. We wrote hundreads of these.

Running make test would only take seconds(and they were as real-world as they could be).

JavaScript is brief, easy to write and fast to execute.

Realtime deployment

We think the experience of deploying your applications and microservices to the cloud should be much faster and easier.

Our benchmark is http://localhost. We want to match or exceed the performance of your local computer and network.

The first step towards accomplishing that is simplifying the setup. Today, to run JavaScript you install Node.JS and run:

▲ node index.js
Listening on http://localhost:3000

With now the experience is similar. After you install it (npm install -g now) you run:

▲ now
> Ready! https://my-proj-hj1v2m.now.sh (copied to clipboard)

That simple command instantly uploads, builds and automatically scales your Node.JS application.

Deployment used to involve buying expensive equipment and manually wiring, configuring and monitoring it. No redundancy or geographical distribution. This would take days or weeks.

Later on came the cloud. With it, provisioning of instances (with different types and operating system choices), continuous integration systems, image repositories… taking hours or days.

With now it takes one command to deploy a HTTP/2 service to our global cloud. In milliseconds.

A new developer experience

Our goal is to make our service so easy and intuitive that it works just as well for experienced developers in enterprise contexts as for those just picking up the language.

To this end, when you deploy with now, we augment your application with tools that make it possible to debug and understand your live codebase.

The first of these is called /_src.

Just like frontend developers and designers have been able toinspect their production HTML and CSS, we're now enabling everyone to inspect their cloud deployments.

Web Inspector

In the browser, Right click -> Inspect allows you to see the HTML elements, CSS styles and client-side JS.

/_src?f=package.json&h=8;10

my-project

my-project-fchpzewmak.now.sh
001
{
002
 "name": "reallybigone",
003
 "version": "0.0.1",
004
  "devDependencies": {
005
 "gulp": "3.9.0",
006
    "gulp-autoprefixer": "2.3.1",
007
    "gulp-sourcemaps": "1.5.2",
008
    "serve": "1.4.0"
009
    "node-sass": "3.4.2"
010
  },
011
  "scripts": {
011
    "start": "serve -p 3000 ."
011
  }
010
}

With now, adding /_srcshows you your live backend code.
This view issecured for premium plans.


We believe this new way of interacting with your backend code will have a tremendous impact in your productivity and ability to identify bugs and performance bottlenecks.

To stay on top of the evolution of our platform, we suggest you subscribe to our mailing list and follow us on Twitter at @zeithq.

Start using now today. Here's a guide that will teach you how to deploy a microservice in seconds, from scratch. We have some amazing surprises in store for our early adopters!