staging.unison.cloud Open in urlscan Pro
2600:1f18:16e:df01::64  Public Scan

URL: https://staging.unison.cloud/
Submission: On February 02 via api from US — Scanned from US

Form analysis 0 forms found in the DOM

Text Content

Unison Cloud
Features Pricing Docs The Unison Language
Get Started Sign in
๐Ÿ‘‹


SAY HELLO TO THE FUTURE OF CLOUD COMPUTING


DEPLOY WITH A FUNCTION CALL. CALL SERVICES AS EASILY AS LOCAL FUNCTIONS. ACCESS
STORAGE AS EASILY AS IN-MEMORY DATA STRUCTURES.

โ˜๏ธ Learn about our approach to cloud computing
โ—โ—โ—
UCM
Watch a 20s demo Stop playback Restart Demo

.> project.create-empty

  ๐ŸŽ‰ I've created the project with the randomly-chosen name
  energetic-cheetah (use `project.rename <new-name>` to change it).

energetic-cheetah/main> pull @unison/cloud-start/releases/latest 

  Downloading... DONE โœ…

energetic-cheetah/main> run helloWorld.deployfull code example below 

  Uploading service... DONE โœ…
  
  Service deployed at:

    https://unison-services.cloud/h/nndat36oh3usll24flj6qlfpb8uk1plf20na9e1er67uo9idme60/
    https://myusername.unison-services.cloud/s/hello-world/

  View logs at: https://app.unison.cloud

energetic-cheetah/main> quit

$ curl https://myusername.unison-services.cloud/s/hello-world/Cloud
๐Ÿ‘‹ Hello, Cloud!

.>





FEATURES

We've packed Unison Cloud full of goodies.


WEB SERVICE HOSTING

Deploy HTTP and WebSocket In Beta services in seconds with a single function
call. No building containers, managing VMs, or other cloud infra management.
Focus entirely on the logic of your services.

Learn more
โ—โ—โ—
~/scratch.u

helloWorld.logic : HttpRequest ->{Exception, Log} HttpResponse                                     
helloWorld.logic = Route.run do
  name = route GET Parser.text
  info "request for greeting" [("name", name)]
  ok.text ("๐Ÿ‘‹ hello " ++ name ++ "\n")

helloWorld.deploy : '{IO, Exception} ()
helloWorld.deploy = Cloud.main do
  name = ServiceName.create "hello-world"
  serviceHash = deployHttp !Environment.default helloWorld.logic
  ServiceName.assign name serviceHash





SERVICE-TO-SERVICE CALLS

Make inter-service calls with a single line of code, without serialization or
networking boilerplate. Get the benefits of a microservice architecture without
the headache.

Learn more



IMMUTABLE DEPLOYMENTS

All service deployments get a unique content-addressed hash. Named services have
a stable URL and can point to any service version. Easily promote a deployment
to production or rollback to an earlier version.

Learn more
โ—โ—โ—
app.unison.cloud
#8LwIdQx1 A @alice 3 days ago
#G8VcMPGs Active Deploy C @carol 5 days ago
#AqjDPCC2 B @bob 6 days ago
#sS34CCmo L @logan 8 days ago
#45cKdmzL F @finley 13 days ago
#0fks3dLD T @taylor 29 days ago


TYPED STORAGE

Getting data into and and out of storage is usually a tedious layer of
boilerplate in your application. With Unison Cloud, any value may be saved in
our transactional storage layer. Your access to storage is statically typed and
checked by Unison's typechecker.

Learn more
โ—โ—โ—
~/scratch.u

counter : Database -> Table Text Nat -> HttpRequest -> HttpResponse
counter db userCounts = Route.run do
  (user, amount) = route.pair POST (s "increment" / text / nat)
  count = State.modifyGet db userCounts user 0 (x -> x + amount)
  ok.text (Nat.toText count ++ "\\n")

counter.deploy : '{IO, Exception} ()
counter.deploy = Cloud.main do
  db = Database.create "counter-service-db"
  env = Environment.create "counter-env"
  Database.assign db env
  h = deployHttp env (counter db (Table "counts"))
  ServiceName.assign (ServiceName.create "counter") h





LOG COLLECTION AND VIEWING

Logs produced by your services or batch jobs are consolidated and easily
viewable in the Unison Cloud UI. You can also stream these logs to your local
console.

Learn more
โ—โ—โ—
app.unison.cloud
14:12:09 GET /hello/Cloud
14:12:16 GET /hello/Alice
14:13:21 GET /hello/Bob
14:18:09 GET /hello/Cloud
14:18:09 GET /hello/Cloud


BATCH COMPUTE JOBS

Run your ETLs, data aggregations, or other batch jobs on elastic cloud
resources.

Learn more


SECRETS AND CONFIG MANAGEMENT

Upload secrets and config to our securely encrypted vault; access them easily
from your services.

Learn more


EASY LOCAL TESTING

For easy testing, just swap a single function call and your service is running
locally instead of in the cloud.

Learn more


PRICING

Get started for free. Simple and predictable pricing as you scale.


FREE

$0 Per month
Get Started

FOR INDIVIDUALS

 * Unlimited private projects
 * Coming soon
   Unlimited multi-user public projects
 * Up to 5 deployed services
   Services deactivate every 3 weeks
 * 50MB expiring storage
   Expires every 3 months
 * 5k service requests/month


STARTER

$9 Per month
Get Started

FOR INDIVIDUALS

 * Unlimited private projects
 * Unlimited deployed services
 * 100MB storage to start
   $5/GB-month beyond this, no expiration
 * 1 million service requests/month
 * Your services on a custom domain
   ... instead of unison-services.cloud
 * Early access to all new features


PRO

$29 Per user per month
Join Waitlist

FOR TEAMS

 * Everything in Starter, plus:
 * Unlimited multi-user private projects
 * 5GB storage to start
   $2.50/GB-month beyond that, no expiration
 * Unlimited service requests per month
 * Autoscaling within limits you set
   $10 per node-month

Need something custom? Contact us.

ยฉ 2023 Unison Computing , a public benefit corp ยท Terms of Service ยท Privacy
Policy ยท