Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
As a programmer with limited experience, and interest, in server management, what are some good options for having space available online that makes getting to the actual development and deployment of Java web applications simple?
Needs:
- ability to create, or at least manage a database through non-command line interface, even if it just requires using a remote connection to the database manager
- deployments can be done from remote server
- hooking up a domain to a Java server context needs to be easily done (I don't want to manage something like mod_jk with Apache manually)
It all depends on how cheap you want to go. Google App Engine is the cheapest (free) for small sites, but if your site gets very little traffic you have to wait for the JVM to start up.
Here are some links to check out:
Inexpensive VPS/Cloud:
http://www.joyent.com/services/cloudhosting/
http://performancehosting.net/hosting.php
http://www.godaddy.com/hosting/virtual-dedicated-servers.aspx
A little less expensive, but very popular:
http://aws.amazon.com/ec2/
If you are a Java dev and are interested in a very fun, simple Java-based web framework and hosting package:
http://www.playframework.org/
http://www.playapps.net/
More reading:
http://mediatemple.net/
http://www.rackspacecloud.com/
http://mor.ph/products
http://www.rightscale.com/
http://www.cloudfoundry.com/
Virtual Private Server (VPS) - rather cheap, prices start at around 13 dollars / month
Google App Engine (but it imposes some limitations)
Jelastic (Java Elastic) provides an advanced cloud hosting platform for Java developers. It simplifies provisioning of dev, test and production environments for simple and complex Java projects, automates horizontal scaling, load balancing and clustering. It also provides a unique vertical scaling which actually saves a lot of money and enables scalability for legacy applications that were not designed as microservices.
Another cheap option in addition to others already listed:
http://vpsland.com/windowsplans.html
http://vpsland.com/linux_vps_plans.php
If you are looking for something cheap and at the same time you would like to deploy in a simple way, you should take a look at some PaaS providers as they usually offer a free tier and they also permit you to deploy without installing or configuring any software in the user end. You just need to have your .war file and to deploy it.
Not all the PaaS support the same stacks. If you are only interested in a specialized java a PaaS a simple search with the key words "java platform as a service" will give interesting results.
You can use IBM Bluemix It has a 30 day free trial and after that you are charged for the time that your apps run and the memory that is used, calculated as GB-hours, so you only pay for what you use. Also there are a lot of tutorial about how to use Bluemix, here you can find a Java,Ajax and Cloudant (database) example: http://www.ibm.com/developerworks/java/library/j-hangman-app/index.html
Also check out Oxxus.net java hosting offers. They have java-ready VPS servers that come loaded with whatever JVM you want and also clustered solutions for scalability. They've been hosting java since 2003 and have no negative reviews online so it's worth checking out.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am planning to program a software (in java), which will be (hopefully) used very much. In the beginning I may run it on my own server, but if it becomes popular my server will most likly crash.
So my plan is to program it for a cloud service like Amazon EC2, Google App Engine, Lunacloud or others.
The application will not have a gui for now. It will concentrate on SOAP or JMS (or something like that) and should store a lot of data in a relational database (PostgreSQL would be nice).
Since I am new to the cloud services, I tried a little bit with GAE. The main use is easy, but as soon as I use JPA and ManyToMany-Relations GAE is shit. Also making a SOAP or JMS Server in GAE is not simple.
Since I lost my weekend with trying GAE, I thought it would be a good idea to ask the community.
Which cloud service will fit best for my requirements? What are the benefits and differences between these services? What else can you recommend?
This is question is too wide open to provide a good answer, but here is some tips that should help.
There is a difference between platform as a service (GAE, Jelastic, Heroku) and Infrastructure as a Service (EC2).
In the platform as a service category, you have more of an automated infrastructure, and often very little visibility of the underlying components. This can make things easier from a developer perspective, but it has its downsides. You are often locked into how a provider works and it may be difficult to switch. You may also have limitations as to what you can do with your application.
In the Infrastructure as a Service category, you get access to virtual machines that you can configure and automate yourself. You have more flexibility on this type of platform, but you are generally expected to handle more of the work yourself. EC2 does have its own version of platform as a service with elastic beanstalk.
i would recoomend also heroku because it does not have a traffic limit and you can run a basic instance for free. if you dont need nosql dbs and extra software it will be very cheap and the unlimited traffic is good for your webservices. Gae has is own filestructure so i can understand your problems with your db structure very good. heroku and ec2 does not restrict your plans but ec2 is generally expensive if you dont plan to scale up and down often. heroku gets also very expensive when you want to add extra software and scale up. i dont know if youre able to scale up as good as with ec2 if you want to use jelastic.
another but complex approach would be renting some normal root servers with unlimited traffic where one instance act as load balancer but you would have to do the configuration by yourseld
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
We are a team of four CS undergrad seniors developing a mobile app (+ the web-based servicing architecture ofcourse) with the following intentions:
(1) Its our Degree Project (Thus comes, UML Modeling, Documented Testing & other specification reports)
(2) Our chance to learn & solve issues ranging from UI, data mining, AI, TO product-marketing!
At the end of the day, we wanna see many people globally, benefiting from it.
Could you please comment on the tool set we are using?
(1) Java + Eclipse + Android Plugin (ADT) & SDK (to start with)
(2) Various web-services SDKs
(3) On the server: ?? (dunno yet)
(4) For other artifacts: IBM Rational Modeler
any resources you think shall be better/helpful?
Thanks in advance!
UPDATE: We shortlisted UML/MDT extensions of Eclipse instead of IBM Rational Modeler
That seems a pretty typical setup. If you were doing this professionally, the next addition would be version control; Subversion is probably the most common.
Edit: If you're looking at the "free" price point on a Java server, Tomcat and GlassFish are the first three to mind, I think JBoss also offered a free/evaluation copy.
If you want a server you'd be hosting remotely, Java is one of the more expensive languages to host; PHP is probably the least expensive to host, with Apache being the most common server.
How will you manage your feature/task assignments? I would recommend Google Code if you don't mind allowing your tasks assignments to be public.
Otherwise JIRA is a good alternative (only $10) that my team has started using recently, though I have mixed thoughts about it. A different team currently administers the install so we haven't been able to customize it to our needs.
As for the technical architecture, I would need to know more about your project to make recommendations. Make sure you think about high level components and requirements before selecting technologies.
UPDATE: Without knowing exactly what you need to do on the server side, I would say a good technology to consider using is Spring Core (and possibly some of the other Spring modules). Spring will still allow you to use POJOs, but allow you to construct your application using dependency injection - which ensures your code is loosely coupled. Spring is worth learning - it promotes good programming practices and is used it many Java apps today.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm looking for a Java Profiler for use in a very high demand production environment, either commercial or free, that meets all of the following requirements:
Lightweight integration with code (no recompile with special options, no code hooks, etc). Dropping some profiler specific .jars alongside the application code is ok.
Should be able to connect/disconnect to the JVM without restarting the application.
When profiling is not active, no impact to performance
When profiling is active, negligible impact to performance. Very slight degradation is acceptable.
Must do all the 'expected' stuff a profiler does - time spent in each method to find hotspots, object allocation/memory profiling, etc.
Essentially I need something that can sit dormant in production when everything is fine without anyone knowing or caring that it is there, but then be able to connect to it hassle (and performance degradation) free to pinpoint the hard to find problems like hotspots and synchronization issues.
Have you tried YourKit? It has almost all of the features you are looking for.
Java VisualVM is a tool that provides a visual interface for viewing detailed information about Java technology-based applications (Java applications) while they are running on a Java Virtual Machine (JVM). Java VisualVM organizes JVM data that is retrieved by the Java Development Kit (JDK) tools and presents the information in a way that enables you to quickly view data on multiple Java applications. You can view data on local applications and applications that are running on remote hosts. You can also capture data about the JVM software and save the data to your local system, and view the data later or share the data with others. This comes with Oracle JDK it self...
$ jvisualvm
I have been happy with jProfiler.
I prefer Java Flight Recorder. It causes almost no performance overhead and has a nice GUI. Add JVM parameters
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
-XX:StartFlightRecording=name=test,filename=test.jfr,dumponexit=true
and open the record with JMC.
Checkout CA Wily.
http://www.ca.com/us/application-management.aspx
I use Eclipse TPTP - Eclipse Test & Performance Tools Platform Project. Whether it is suitable for production use or not, it depends on the user. For me, it's fine and it does meet your needs.
http://www.eclipse.org/tptp/
Another option is http://www.newrelic.com/. We have been using it in production for some time, and it seems to be pretty reliable and performant. Simple to setup (one .jar and a -agent commandline option).
There's another new option called javosize
When I looked for "best java profiler" on google, I saw on the first non-paid link (it's a blog), the same tool on the comments to the post:
https://blog.oio.de/2014/03/07/java-profilers-a-short-comparison-between-jprofiler-yourkit-and-javas-visualvm/
Hope it helps!
Edit: As comments say, linkedin link is to a private forum. Sorry for it. Here is the link to main site:
http://www.javosize.com/gettingStarted.html
FusionReactor Java Application Performance Monitor, also includes a very low overhead Java Profiler as part of its feature portfolio.
http://www.fusion-reactor.com/production-java-profiler/
FusionReactor can be installed in a couple of minutes & they have a free 14 day trial to test it out.
Take a look at Java Mission Control in conjunction with Flight Recorder. Starting with the release of Oracle JDK 7 Update 40 (7u40), Java Mission Control is bundled with the HotSpot JVM, so it is highly integrated and purports to have small effects on run-time performance. It has call tree functionality like Callgrind.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
It's been a while since I've done any website with with Java, and am wondering what framework options are out there for Google App Engine.
What framework would you suggest for someone who has no real preference?
I like Ruby On Rails, and am getting into Django, and like that as well. Professionally I'm a ASP.NET developer so I have the most experience with that, but I'm looking to expand into other technologies, and patterns.
It would be nice to have more experience with MVC.
thanks,
Mark
The Spring Framework works, although you have to make sure commons-logging isn't called commons-logging-1.1.1.jar (as I had it in maven conventions, Google provides a jar with this same name and there are classloading issues as a result). So, Spring WebMVC is confirmed to work - which raises the possibility that its sister project Spring Webflow will work - though I can't say I really like where Webflow 2 completely diverged from Webflow 1.
Also, I have yet to find a framework that really encompasses the notion of "saving and continuing" well - users often like to do that, and Webflow 2 really tries to make programming that as difficult as possible if you use its persistence context inside the flows themselves.
Wicket works on App Engine, you just have to make a few tweaks to the configuration.
I've had variable experiences with Vaadin on GAE. Some applications are almost as fast as with localhost, but sometimes the latency is freakish. Probably depends on which server geographically your application gets deployed on.
Try ItsNat, more info.
Don't use it for a simple single reason - vendor lock in.
What happens if the service doesn't meet your satisfaction?
What happens if you can get a better deal (Java hosting) somewhere else?
What if you want to sell your product - where's your platform?
What happens if Google decides App Engine is not worth their effort and close it?
as a side note Google have and will close services that are unprofitable. A simple search will reveal many, escpecially in theses trying times.
Do you care about vendor lock in?
If you don't care about losing your effort and time invested and perhaps want a platform just to play with then I suppose it's OK but for anything serious stay away.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
A common argument against using .NET for high volume, transactional enterprise systems is that IIS does not compare to the likes of Weblogic and websphere for java. Is this true? Unfortunately for .NET web apps IIS is the only option as an application server. Does anyone have any arguments against this? I would like to promote .NET more in the enterprise and need some help putting my case forward.
Thanks
I've been coding ASP.NET for 6 years now and prior to getting into the field I was a network engineer. IMO, ASP.NET on IIS is faster out of the box than most of those other platforms. However, it's easy to screw up performance with mediocre programming skills, and it is possible that a highly tuned platform could beat a standard IIS configuration.
Honestly, I don't put much stock in the whole debate about which platform has the higher potential performance, because I've never had to address the issue, and I've developed sites which received upwards of 2-3 million hits an hour without hiccups.
If you are asking if IIS & .Net can do high performance web sites, the answer is yes. You are unlikely to get to the kind of scale where either of the web servers you have mentioned starts being the problem. You are more likely to have issues with back end databases first.
If you are asking how to convince management then I would try some MS case studies which can all be found at the Microsoft Case Study site.
You will probably want to find a case study that is relevant to your field of business, but here are some that I have used in the past:
GoDaddy.com: World’s Largest Domain Registrar Moves 3.5 Million Domains from Linux to Windows
London Stock Exchange Cuts Information Dissemination Time from 30 to 2 Milliseconds
Virgin Group: Web Site Traffic Increases by Almost 50 Per Cent with Microsoft .NET
Break.com: Popular Entertainment Site Handles Up to 35 Million Daily Page Views on Two Web Servers
This site runs on .NET with LinqToSql. See this post for details.
A number of very popular sites use .Net: Myspace.com, Dell.com, Match.com, Monster.com, Newegg.com ...
See more here: http://www.asp.net/get-started/
Also, you can run .Net on Apache using mod_mono.
IIS 7 is actually quite fast for static pages, thanks to a cache in the kernel.
But it is quite slow as an application server: G-WAN is four times faster.
Actually, running ASP.NET on Mono/Apache is starting to become popular.
Personally I stick to IIS because that's what I know, but if you are already a Linux shop I would recommend Mono without hesitation.
Even though this is not strictly true I view IIS as more of a web server than a high performance application server, the use cases for each server are typically slightly different.
WebSphere for example is extremely popular within the financial community where there is a lot of mission critical distributed transactional processing. This can be achieved by IIS but its a lot easier with the likes of WAS or weblogic.
To me; application server available is one of the major reasons .net is not keeping up with Java on the server side.
Karl