A place where the Joyent community can gather, help each other out, and stay informed.
You are not logged in.
Welcome to the Joyent Smart Platform! The Smart Platform is an open source Platform-as-a-Service, allowing you to develop and deploy applications to the cloud, while letting the platform take care of all the system administration and scaling problems your application faces.
Signup for the the Smart Platform beta here: http://smart.joyent.com/
The documentation, including API reference, is here: http://docs.smart.joyent.com/docs/index.html
Our "Becoming Smart" getting started tutorial is here: http://becoming.smart.joyent.com/index.html
The platform's FAQ is here: http://smart.joyent.com/faq
Finally, all the source code can be found on the Joyent GitHub account: http://github.com/joyent
Note that this is an early beta release of the Smart Platform. Yes, there will be bugs. Help fix them! It's fun! :)
Enjoy!
Offline
Vezquex wrote:
Is this like AppEngine in the sense that the hosting will remain free up to a point?
We will be charging for it once we finish that part of the system, so it will be a commercial-grade offering. While we are in 'beta testing' mode, we won't be charging.
The billing will adhere to the 'utility' model, where you pay for just what you use -- based on virtual machine operations, or other metrics, depending on what we meter.
We have not yet finalized exactly what our pricing will be, and how much usage we will be giving away for free. Joyent has a long history of providing generous amounts of free resources to bootstrap our various product offerings (eg. free Facebook Accelerators).
Offline
jimpick wrote:
Vezquex wrote:
Is this like AppEngine in the sense that the hosting will remain free up to a point?
We will be charging for it once we finish that part of the system, so it will be a commercial-grade offering. While we are in 'beta testing' mode, we won't be charging.
Can you give us a more concrete pricing plan? I like what I see so far but I don't want to spend too much time getting involved in this only to find out I cannot afford it later (hello GAE!). For me personally, I have a very popular iPhone app that I would like to expose to a new web service (potentially written for Smart Platform). Given analytics from the past few months, I'm expecting a LOT of usage of the service.
Last edited by JoseHose (2009-07-07 04:14:42)
Offline
We're going to be billing by the op on a credit basis. Right now we're looking at 50,000,000 (fifty million) ops costing $1. I'd love to hear what you have in mind for your site, but you can test exactly what any given page view would cost by turning on consumption logging locally. Then it becomes a simple task of multiplication.
This would let a static site run about 10,000 page views for approximately $10-15/month, and that is the basis we are operating on at the moment - of course as the complexity of the software goes up the op consumption will go up as well. Obviously this is an incentive to write efficient code :-)
We've not yet turned on some of the features that enable you to see the consumption from the admin screen yet, but we're working on that and it won't be long.
Hope that provides an idea of what is going on.
Regards,
James.
Offline
What exactly is an "op" though? I guess I'll check out the consumption logging bit.
10K page views is not a lot compared to say Google App Engine whose goal it is to allow 5M page views / month for free. Maybe this comparison isn't apples to apples though. Can you compare them better? I'm not in love with GAE by any stretch -- heh, that's why I'm here.
http://code.google.com/appengine/whyappengine.html#cost
Thanks
Offline
JoseHose wrote:
What exactly is an "op" though? I guess I'll check out the consumption logging bit.
10K page views is not a lot compared to say Google App Engine whose goal it is to allow 5M page views / month for free. Maybe this comparison isn't apples to apples though. Can you compare them better? I'm not in love with GAE by any stretch -- heh, that's why I'm here.
http://code.google.com/appengine/whyappengine.html#cost
Thanks
It is still early days for the platform, so we don't have all of the answers yet. Please bear with us.
We are in a bit of a chicken-and-egg situation -- we don't know what sort of utilization we can get out of the platform until we have applications that are generating a significant load on our cluster. The load will, of course, be dependent on the types of apps that are written. Without that information, it is difficult, even impossible, to determine exactly what the economics of the system will be.
Smart's JavaScript-based framework is super-lightweight -- so it will be possible to optimize it over time and achieve extremely high levels of utilization. Higher utilization = better economics = cheaper pricing.
You could almost think of a trivial Smart app as a little bundle of code and the data it operates on -- it almost reduces down to being a 'closure'. JavaScript is designed for exactly that usage. Add git to the mix, and intelligent content hashing infrastructure, and you have near infinite scalability. I think Smart will be almost optimal for apps that deal with mostly static data, that require 'just enough logic' to glue things together. The simpler we can make the data+app, the more opportunities we will have to build optimal virtual machines. Smart is a perfect fit for the world of rich clients where most of the processing is done on the client, with immutable bits of data synced to/from 'the cloud'. It's a huge opportunity.
We would love to take on Google on pricing. If we can optimize the platform, that might be possible. Google has huge economies of scale, and is not necessarily motivated by economics. They are willing to use App Engine strategically to hurt their large competitors. It would be suicidal for a small company like Joyent to take them on head-on. Google has a hugely profitable advertising-driven search business -- hosting for them is just a sideline. But, we have a secret weapon. Joyent lives and dies by the service we provide to our customers. Our services stay up. We even answer the phone! That's pretty important in the real world.
The big difference with Smart is that it is open source. We are going to make sure it gets pushed into the major Linux distributions. You will be able to run it on your own servers, or EC2. You will be able to run your own cluster -- you might even choose to run your own isolated instance using Joyent's accelerators. Our Smart pricing will have to compete with Smart running elsewhere.
For the time being, while we are in beta, we are not going to be charging for Smart. We need to see what apps are created in order to figure out the economics. Once the beta program outgrows the resources we have allocated to it, we will definitely need to look at how we can scale the cluster, and that will involve billing. It will take a while for the platform to gain traction and adoption, so the free beta period should extend for a while. You can count on Joyent taking very good care of our early adopters!
Last edited by jimpick (2009-07-13 05:07:30)
Offline
Could someone help distinguish between Aptana, Joyent's partner with its jaxer server, and the Smart Platform? Will I be able to use the Smart Platform on an existing shared accelerator? Will it be a new service somewhat like Aptana, with its studio and other developer tools?
Offline
Aptana provides a framework that feels as close as possible to how things are already done client side, using DOM-based scripting. Smart does not try to do this, so you end up using completely different styles for client side and server side scripting.
Smart Platform is open source, so you can run it on any server where you have root access. It does not feature any custom tools; use whatever text editors and git interface works best for you.
Offline
Vezquex wrote:
Aptana provides a framework that feels as close as possible to how things are already done client side, using DOM-based scripting. Smart does not try to do this, so you end up using completely different styles for client side and server side scripting.
Good, that's a clear distinction.
Smart Platform is open source, so you can run it on any server where you have root access. It does not feature any custom tools; use whatever text editors and git interface works best for you.
Why root?
I ask because I'm looking for a SSJS world that is really easy to deploy on vanilla shared hosting systems if at all possible. CGI or a thin PHP front end is OK even if performance is somewhat compromised.
Thanks for the reply!
Offline
backspaces wrote:
Why root?
I ask because I'm looking for a SSJS world that is really easy to deploy on vanilla shared hosting systems if at all possible. CGI or a thin PHP front end is OK even if performance is somewhat compromised.
Root isn't strictly required. For example, the OS X local development app runs as a regular user.
The tricky part right now is just building the dependencies for a particular platform. The dependencies include Perl, a variety of CPAN modules, and the SpiderMonkey javascript engine from Mozilla.
Offline
jimpick wrote:
backspaces wrote:
Why root?
I ask because I'm looking for a SSJS world that is really easy to deploy on vanilla shared hosting systems if at all possible. CGI or a thin PHP front end is OK even if performance is somewhat compromised.
Root isn't strictly required. For example, the OS X local development app runs as a regular user.The tricky part right now is just building the dependencies for a particular platform. The dependencies include Perl, a variety of CPAN modules, and the SpiderMonkey javascript engine from Mozilla.
I downloaded and compiled spidermonkey on my joyent shared account (did not install in a root account, put it in my own ~/bin). I've also got lighttpd running on my own port on shared. Perl is built in. This indicates that the smart core technologies will likely not need root.
So the question is: Is joyent planning on running smart on shared accelerators?
It would be so cool if it did. Ruby on Rails is ok on shared. Ditto Django (a bit harder). But SSJS on joyent shared would absolutely knock the socks off the folks who are starting to love the idea of hacking both sides of web apps in the same language, and using JSON as the communication layer. JavaScript all the way down!
Offline
jason wrote:
backspaces wrote:
So the question is: Is joyent planning on running smart on shared accelerators?
Why would we need to?
I'm slowly getting it, I think. I'm not clued in where the Smart Platform fits into the Joyent strategy.
So, how about I guess. Smart is a separate offering, somewhat like bingo disk? But a Joyent project, not like the Aptana partnership?
You see the difficulty: I'm trying to calibrate how it fits into the Joyent ecology, not how it works as a technology. I'm aware you bought Reasonably Smart, which presumably is the core of the Smart Platform.
In the past, shared hosting grew to include new critters, and new ways to help folks to build their own. So Rails comes built in. Django can easily be setup. Lighttpd and several ports are available for folks to roll their own.
So my question "Is joyent planning on running smart on shared accelerators?" was in the light of the above. I'm getting the idea that it is not, it is a new Joyent service not unlike bingo disk. But it is less distant than Aptana. So for example, I suspect I can run Smart so that it accesses my existing data I have on my Joyent system. Smart is "closer" so to speak, than Aptana.
Is this close? .. Likely I have missed some key doc/post.
Offline
backspaces wrote:
I'm slowly getting it, I think. I'm not clued in where the Smart Platform fits into the Joyent strategy.
So, how about I guess. Smart is a separate offering, somewhat like bingo disk? But a Joyent project, not like the Aptana partnership?
You see the difficulty: I'm trying to calibrate how it fits into the Joyent ecology, not how it works as a technology. I'm aware you bought Reasonably Smart, which presumably is the core of the Smart Platform.
In the past, shared hosting grew to include new critters, and new ways to help folks to build their own. So Rails comes built in. Django can easily be setup. Lighttpd and several ports are available for folks to roll their own.
So my question "Is joyent planning on running smart on shared accelerators?" was in the light of the above. I'm getting the idea that it is not, it is a new Joyent service not unlike bingo disk. But it is less distant than Aptana. So for example, I suspect I can run Smart so that it accesses my existing data I have on my Joyent system. Smart is "closer" so to speak, than Aptana.
Is this close? .. Likely I have missed some key doc/post.
Smart is primarily designed to run as a multi-tenant environment with utility billing (similar to Amazon S3, for example). In cloud parlance, this is called a PaaS (platform-as-a-service). We should be able to squeeze some good economics out of it that way, so I expect that is the option most people will choose.
Aptana Jaxer is awesome too. It's an interesting application model, with DOM on the server-side, with javascript remoting to the client. I would contrast Smart by saying it's a little more lightweight, and more like a conventional web development system. Lots of different frameworks run on our infrastructure - PHP, Ruby/Rails, Python, Java, etc. The more the merrier. Aptana sells instances, whereas Smart will be sold based strictly on usage. Aptana has also announced plans for provisioning instances against other cloud providers too, I believe. Jaxer is also open source.
I imagine that many large customers will scale to the point where they want to run their own isolated instance. They may have security concerns with a multi-tenant environment. We want to make them happy. Joyent will work with any customer that wants to run their own version of our cluster. Also, it is open source. Some people just want to be able to tinker with the 'guts' of the system. That's awesome. However, there is a lot of documentation and packaging work to do in order to make it easy to setup. That is one of my passions, so I have started a new topic for people who want to talk about that:
http://discuss.joyent.com/viewtopic.php?id=25649Last edited by jimpick (2009-07-25 21:20:27)
Offline
Any idea where you'll be at in terms of free outgoing bandwidth and overage pricing for static files?
Offline
OK, I've skimmed through alot of the info on Smart, but still don't quite get what it is. Is there a nifty architecture diagram somewhere showing the different layers and what they do?
Here's a more specific question: I'm looking for a service where I can run a java/SQL based web app, with occasional batch (cron) jobs running as well. Rather than using IaaS, I'd prefer PaaS, since in theory I'll have less layers to manage myself. Here are some options I've crossed off my list:
- Google App Engine - doesn't do standard SQL
- EngineYard and Heroku - exactly what I want but they do Ruby only; I want java
- Joyent accelerators and Amazon Web Services - IaaS; I want PaaS
Is Smart well suited to running java & standard SQL? Are there other options I should consider? Will I have to modify my existing App?
Offline
Applications in the Smart platform are written in 100% javascript and use APIs to do everything. It's not a platform that will run a java application doing arbitrary sql.
Offline
jason wrote:
Applications in the Smart platform are written in 100% javascript and use APIs to do everything. It's not a platform that will run a java application doing arbitrary sql.
Does the Perl part of Smart show up in the web programming? .. or is it just needed to fit the platform onto Joyent and other hosts?
I gotta say, the quiet revolution of JS on the client, server and JSON for communication between the two is very compelling.
Does the Smart platform resemble Rails? Or Django? I've been puzzled a bit about the differences between the jaxer approach (DOM on server) and Smart .. apparently more traditional server side web-app (templating, database wrapper (ORM), dispatch, ..).
Personally, I'd like the client/server distinction become less pronounced, migrating toward an architecture that is closer to peer-to-peer.
While at Sun (20+ years), we decided to make all applications services .. i.e. local and remote servers working together. This allowed us to have the same "application" run on phones, web pages, desktops (apps), and command line batch/task/cron jobs.
Offline
backspaces wrote:
jason wrote:
Applications in the Smart platform are written in 100% javascript and use APIs to do everything. It's not a platform that will run a java application doing arbitrary sql.
1) Does the Perl part of Smart show up in the web programming? .. or is it just needed to fit the platform onto Joyent and other hosts?
2) I gotta say, the quiet revolution of JS on the client, server and JSON for communication between the two is very compelling.
3) Does the Smart platform resemble Rails? Or Django? I've been puzzled a bit about the differences between the jaxer approach (DOM on server) and Smart .. apparently more traditional server side web-app (templating, database wrapper (ORM), dispatch, ..).
4) Personally, I'd like the client/server distinction become less pronounced, migrating toward an architecture that is closer to peer-to-peer.
1) It does not. That's the glue language.
2) Agreed
3) Not really, but MVC frameworks can be built on it. Keep an eye on clayburn from Rob Ellis.
4) Yes
Offline
We're continuing to work on it of course, but a lot of the work is behind the scenes at the moment. We're preparing for a 1.0 release as soon as we can.
Offline
Hi aurimas,
I'm currently working on a generic installer for smart platform, this work should help lead to a new Smart.app. We're doing a lot of work to the platform so at the moment it doesn't make sense to do a new release.
Offline