Java in the Cloud

What is the cloud?

Every one defines the cloud in their own way, here is my take on it. Companies whose main business is not Computer related, they outsource their IT work to some computer consulting firm. It is because IT is not their main business and some times it makes sense to hand it over. Similarly, for application development companies - the focus is application development, not hosting the applications. In addition to the application developers, they need to have IT people, hardware to host the apps. For some companies it makes sense to outsource the IT and hardware. In other words, you are outsourcing your application to a different company. Application outsourcing used to be to hosting companies, but that's changing to the cloud due to its infrastructure. The cloud makes it very easy to scale an app for rapid growth compared to the hosting companies. Cloud will take away all the hardware management and IT risks from you.

Why all of sudden?

Cloud is not new. Standard apps such as your personal email(Gmail, Yahoo Mail, and Live Mail etc) has always been there on the servers in the cloud. Lots of companies are moving away from in-house Exchange/Lotus Notes servers and outsourcing their mail to mail hosting companies. Slowly, the paradigm shifted from desktops apps to intranet hosted apps to SaaS (Software as a Service). Third party apps such as time tracking, project management, office, CRM, e-commerce became subscription based services. In other words, you don't have to install and manage these apps in-house, instead the service provider will manage these for you for a subscription fee. Now the paradigm shift is, moving the custom apps into third party infrastructure for a subscription fee. The "Cloud" buzz started when Amazon introduced EC2 and picked up there after by Google's App Engine and Microsoft's Azure. Since these companies use the high end sophisticated infrastructure with the help of virtualization software to run their apps and with the promise of running your app in the same infrastructure, boosted lots of companies to move their apps to the cloud.

Infrastructure as a Service (IaaS) vs Platform as a Service (PaaS)

IaaS clouds provides resources such as servers, connections, storage, and tools necessary to build an application environment from scratch. PaaS clouds are often within IaaS Clouds and provides required software, tools to support the complete life cycle of building and deploying the applications. Amazon EC2 is the truly an IaaS provider, as it provides the infrastructure, not the platform. Google App Engine, Microsoft Azure, Force.com, and Heroku are PaaS providers, as they provide the platform backed by the infrastructure. 

Cloud providers

With Amazon EC2, you can install any thing you want in your virtual machines. EC2 gives you lots of control, but you still need to install OS, Web server, Web or Application container, Database and the whole nine yards that you do today for application deployment. It provides a virtual machine, and you are responsible for managing every thing inside the VM. This is very flexible along with the risk of managing everything. Best suited for Java in the cloud. 

With  Google App Engine , you don't have any virtual machine and you are not responsible for installing/managing OS, software, database. Right now you are restricted to use Python to code the app and you need to use DataStore (persistent service) to get/put the data. You are responsible for developing and deploying the application. You also get the access to Google accounts, Gmail etc. No OS, server, database headaches with the disadvantage of being restricted to the Python and DataStore. It's not for Java apps right now, but they may support more languages in the future. Google seems to be more interested in Python than Java. Sun also embraced Python by hiring two of the main Python developers to work on Jython, which allows you to run Python on the JVM. Though these two are interrelated, hope Google will bring Java to app engine - if not at least Jython. 

Microsoft Azure is purely for Microsoft related technologies. Azure is the development, hosting, and management environment with tools for Microsoft Visual Studio to enable the creation, building, debugging, running, and packaging of scalable services. It is not for Java, period. 


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值