Java, the most widely used enterprise and e-Commerce language used in corporate computing, was specifically designed to have as few implementation dependencies as possible. It has, throughout its nearly two decades of worldwide usage, remained close to the “write once, run anywhere” (WORA) ideal that Sun Microsystems so ambitiously put across when it was first released in 1995. However, its efficiency has been tested of late with the advent of cloud computing.
Not designed for applications to run in the cloud, Java does not support multitenant virtualized and cloud computing configurations natively. Java applications don’t scale well in the cloud, which creates a roadblock for enterprises and SMBs who need to rapidly adjust their IT resources to meet the fluctuating business demands. And since a big majority of top firms worldwide use Java, this means that most of them constantly struggle with the complex compatibility issues between Java and the Cloud, both of which have excellent features in their own rights that make them indispensable. This creates a demand for Java applications solutions that make hosting Java applications on cloud computing infrastructure easy.
Almost all existing solutions for hosting Java applications on cloud require learning new languages and adopting proprietary frameworks – which obliterate the whole point of using Java. An ideal Java cloud platform must offer multitenancy and scalability without having developers to purpose-build applications to work in the cloud.
Jelastic, a Java and PHP cloud hosting platform, is unique in that it does not require developers to re-code their Java apps and enables vertical and horizontal scaling of the apps, among other features. We talked to Dmitry Sotnikov, Chief operating officer, Jelastic, about the issues plaguing the Java cloud hosting and the role Jelastic plays in mitigating them.
Read away as he talks about Jelastic PaaS 1.9.1, the latest version of company’s Java and PHP Cloud Platform, and what makes it ideal for hosted service providers.
We believe that Jelastic should be adding value and making hosting easier to developers without making them change their existing tools and processes. If they already have their favorite developer environments (IDEs) that they use, they can keep using them. Same thing applies to the source control and build tools. Jelastic does not make developers change their ways. It just solves the hosting piece for them regardless of their existing processes.
– Dmitry Sotnikov, Chief Operating Officer, Jelastic.
Q: What are some of the limitations that developers and service providers face when deploying Java Apps on most of the cloud hosting platforms, and how does Jelastic provide a way around them?
A: Traditionally Java developers had to either go with regular hosting or IaaS (infrastructure as a service) – and in that case do all of the server setup and administration themselves; or pick platforms like Google App Engine, Heroku and others and have to re-code their applications to comply with the multiple limitations they impose.
You see, these “blackbox” platforms do not give you isolated standard application and database servers so you lose control and flexibility of what you can do. You cannot get a public IP address, use custom network ports, upload the libraries that you might need (for example graphical controls), tweak server configuration files, write data to local file system, and so on. In some of the platforms they do not even let you use multithreading or can kill your application when it does not start “fast enough” or can kill web requests if they take “too long” or exceed certain frequency.
Bottom line is that outside really simple applications, these platforms do not let you host your code without re-writing it for the proprietary platform.
Q: How exactly does Jelastic enable cloud scaling of Java Apps without any code changes?
A: Each environment component you choose when configuring your Jelastic environment: database servers, application servers, load-balancers, memcache – are separate virtual machines (containers) that you are not sharing with anyone. When you set vertical limits for each of these components (for example 4 GB of RAM) – this is the value that we set as the container size. Your application server (or database, or load balancer, and so one) “thinks” that this is the amount of resources that it has and allocates them automatically. We also adjust the application stack settings (Java, PHP and so on), so the scaling goes all the way to your application. At the same time, the billing is only charging users for the actual consumption and not for the limits – if the application is only using 128 MB RAM – that is what you pay for even if your limits are at 4 GB.
And obviously there is a backend orchestration making sure that no hardware resources ever get overloaded and your applications are getting the resources they need, regardless of how other customers scale up or down.
Q: Jelastic claims to be the only Platform-as-a-Services specifically designed for hosting services providers. What additional value can they expect to derive from Jelastic when compared to other platforms?
A: Platform-as-a-Service is more than just a customer dashboard. Jelastic has everything that hosting companies need to offer it as a turn-key commercial solution:
- Backend administrative and helpdesk consoles with advanced troubleshooting functionality,
- Billing system integration,
- Monitoring and alerting integration,
- Advanced reporting that helps you tweak Jelastic business: upgrade rate, churn rate, average revenue per user (ARPU), cohort analysis, tracking of growing users and users at churn risk, historical trending, and much more,
- Integration with lead nurturing and email campaign systems,
- Support for multiple pricing and billing schemes: post-payment and pre-payment, bundling, free quotas, freemium, trial,
- Support for promotion campaigns and referrals.
And obviously all the services and support that hosting companies get from us:
- Turn-key deployment,
- Training and certification,
- Co-marketing,
- Leads from Jelastic.com,
- 24*7 phone support.
Q: Let’s discuss Jelastic PaaS 1.9.1. What are some of the significant upgrades and improvements over the previous version?
A: 1.9.1 was a big release for us including features both for hosting companies and end-customers.
Hosting companies got improved Jelastic database maintenance features, billing history analysis, flexibility in setting pricing and discount plans, enhanced management of unused trial account hibernation to optimize free trial load, and a lot of smaller improvements.
For end-customers, the list was even longer:
- Cron jobs and job scheduling,
- Scheduled database backups,
- Email notifications on getting close to the scaling limits (so customers can increase the limits before their application slows down or they get out-of-memory or out-of-disk errors),
- Postgis module in Postgres database for spatial applications,
- Updated stack components (including for example, PostgreSQL 9.2.4 which has tons of improvements by itself: synchronous replication, new indexing and security options, JSON support and much, much more).
Q: What are some of the application servers and databases that Jelastic platform provides developers with?
A: It’s a long and ever expanding list. Java application servers include Tomcat, Glassfish, Jetty, and TomEE. PHP servers include Apache and NGINX. Then there are both SQL and NoSQL databases: MySQL, MariaDB, Postgres, MongoDB, CouchDB. Now multiply that by a few different version numbers and versions of Java and PHP – and you get the widest selection of preconfigured automated stacks you can ever find.
Q: You introduced a new Pricing Model Combining Autoscaling & Volume Discounts earlier this year. How does it work?
A: As I mentioned before, with Jelastic you only pay for what you use. Now Jelastic also automatically provides volume discounts, so the larger configurations your applications need – the bigger discount you get. This makes Jelastic cost-effective not just for development and testing, but also for large-scale production deployments.
And for static loads you can get even bigger discounts by reserving capacity.
You can learn more about our billing discount system in this overview video:
Q: Jelastic provides plug-ins for some popular Java App development IDEs like Netbeans, Eclipse etc. What additional benefits do these plug-ins provide to the app developers on top of the platform itself?
A: We believe that Jelastic should be adding value and making hosting easier for developers without making them change their existing tools and processes. If they already have their favorite developer environments (IDEs) that they use – they can keep using them – we now have plug-ins for NetBeans, Eclipse, JetBrains IDEA – and the IDEs get the option of pushing the applications directly to Jelastic.
Same thing applies to the source control and build tools.
If they have a GIT or SVN source code repository – we can get code from that directly and build the application in the cloud.
If they have existing build or continuous integration system like Ant, Maven, Hudson, Jenkins or TeamCity – these have plugins for Jelastic too.
Jelastic does not make developers change their ways. It just solves the hosting piece for them regardless of their existing processes.
Q: How do data backup and security work with Jelastic?
A: Both include multiple layers.
Backups include both backups made by the hosting providers (Jelastic obviously provides integration with the backup systems that they use), and backups made by the end-customers: full-environment snapshots or scheduled database backups (starting with this release).
The security feature list is even longer, including firewalls, traffic encryption for all administrative access, virtualization isolation for all customers and support for data encryption in customer applications.
Q: You said a while back that Jelastic’s approach to the PaaS market is similar to Android’s approach to the mobile phone OS market. Can you elaborate more on this?
A: Android enabled dozens of phone producers around the Globe to become smartphone vendors and effectively compete against Apple. Jelastic helps the leading hosting companies to become PaaS providers and effectively compete against the Amazons and Herokus of the world.
Providers get the cutting edge platform and developers enjoy a wide selection of service providers in different countries, with variety of service levels and so on. Everybody wins!
Q: Please throw some light on Jelastic application packaging.
A: Jelastic has built-in macro language that allows application providers and hosters to script the whole application provisioning process from the user providing an email address to start the trial to get any application up and running. Unlike small-scale solutions like cPanel, this system takes advantage of all the functionalities of the Jelastic platform: including ability to span multiple servers and automated scaling.
You can see a few sample packages on our page.
Q: Wrapping up, Jelastic currently has 11 hosting partners around the globe, but Europe still remains your forte. Any plans to expand your reach to other markets like south-east Asia etc. soon?
A: Actually, as we are talking right now, 12 hosting partners around the Globe are already live with Jelastic, and the list indeed keeps growing every month. Asia is indeed one of the less covered territories at the moment with Japan being the only country with a local Jelastic provider, however, this is one of the most strategic regions for us and we are working on improving our network there.
If you are a hosting company, willing to go after development / PaaS market, please send us an email at business@jelastic.com and we will be happy to discuss the details.