There are a few questions every CIO, developer and business user will ask about VMForce:
What is VMforce?
Why does it matter to me?
How will it work?
Will it help me build new kinds of apps that are social and mobile?
In simple terms, VMforce service will allow every Java developer to write applications that can run in the cloud. VMforce provides out-of-the-box Java deployment in the cloud that is pre-integrated with a relational database, full-text search engine, reporting and analytics, user and identity management., as well as all the services that are needed to build, run, and manage an enterprise-grade business application.
VMforce allows developers to use Spring, the most popular framework for Java applications today to rapidly build an application and instantly deploy it on an enterprise-grade cloud infrastructure. The Spring Framework is backed by the SpringSource division of VMware.
Why does VMforce matter?
CIOs no longer want to spend 85 percent of their budget just keeping the lights on. They want to unleash innovation and deliver business value. This year's Gartner survey reveals the top ten items on CIOs' budgets. Virtualization and cloud computing are at the very top of the list, which also includes web2.0, mobile, and data & document management.
With the Force.com cloud platform, CIOs today have access to more than 1,000 business applications on the AppExchange that work with our multi-tenant architecture and require no additional development. Indeed, customers are taking advantage of the platform to create custom apps. So far they have built more than 150,000 apps.. But CIO's want to do even more.
If you are a CIO, here are few questions to help to assess the need for VMforce:
How much time and money does it take to build applications today in your current environment?
How can you match the innovation of the Facebook Era and bring it to your enterprise? The Facebook generation is no longer just people just graduated from college but also baby boomers (see this New York Times report).
Are you able to deliver apps that are social and mobile?
How much time and money is wasted in kluging together disparate technologies just to get basic features like search and reporting to work?
What if you could use all your existing in-house Java skill sets but not have to worry about mundane tasks that provide neither business value nor agility?
If you are a business user, here is a simple set of questions to determine if you need VMforce. Log in to your one or two most heavily used apps and see if the following rings a bell:
Does your application run inside the web browser?
Does your application allow you to search by any keyword across all data that you are allowed to see?
Does your application allow you to write a report that aggregates relevant data? Can you create a dashboard yourself?
Does your application allow you to see your data when you are on an iPhone or a BlackBerry? Can you even connect to your application?
Does your application have a feed for relevant changes to data that you care about just like Facebook?
This is just some of the functionality we take for granted in our personal lives when we use applications like Facebook, Google Gmail, and Amazon.com.Why can't all business applications offer similar ease-of-use and access?
If you are a developer, here is a list of questions you need to ask about applications you want to build:
Can you start building your application right away or do you need to first install and fuse together ten different pieces?
Are you spending more time writing interesting, new applications or more time simply keeping the old ones running?
Are your OS upgrades, database upgrades, and hardware upgrades managed for you? Or do you have to spend time doing that?
Are you able to write the business logic of the application and then offer features like search and reporting? Or do you have to cobble it all together?
Are you using an infrastructure cloud today? If so, does it offer all the services you need to build your apps and does it automatically manage those for you?
Can you build apps that are mobile and social? How do you do that?
Are you having fun?
Programming used to be fun. We think it can be fun again if you can focus on what you do best and let all the painful stuff like OS and database patch upgrades be managed by the cloud provider.
Java developers today have no clear path to building next-generation cloud applications. They can build on-premise applications and deploy them on legacy stacks, but installing and integrating the different pieces you need to build a truly useful application can be a nightmare. Or, they can take the same jumbled stack and run it in a hosted environment – renting servers by the houror by the month. While Infrastructure as a Service offerings have some benefits if you want to test an application or need spike capacity, they still require the developer and the systems administrators to do a lot of heavy lifting – it's like renting an empty apartment where water, electricity and garbage are provided but you must bring all the appliances, hook them up yourself, and make all the repairs. What you really want is a fully furnished apartment that you can customize to meet your needs and not be responsible for every minor upgrade or fix.
Before VMforce, a Java developer that wanted to run his applications in a cloud had to assemble, configure, integrate, and manage a cumbersome set of disparate pieces ranging from storage to application servers and a database.Even then the developer was only half-way done. Real business applications need more than just an app server and a database. CIOs need to meet demands of end users for features that most of us now take for granted and make it all work with their enterprise architecture. This includes:
Search: Ability to search any and all data in your enterprise apps
Reporting: Ability to create dashboards and run reports, including the ability to modify these reports
Mobile: Ability to access business data from mobile devices ranging from BlackBerry phones to iPhones
Integration: Ability to integrate new applications via standard web services with existing applications
Business Process Management: Ability to visually define business processes and modify them as business needs evolve
User and Identity Management: Real-world applications have users! You need the capability to add, remove, and manage not just the users but what data and applications they can have access to
Application Administration: Usually an afterthought, administration is a critical piece once the application is deployed
Java developers used to either spent days and months to build and integrate these features after they finished writing their business logic and user interface (what most people think of as an "application") or they simply avoided providing this functionality, even though it is critical to business users and to the CIO. Creating it was just too onerous. Developers needed to weave a net of technologies or perform a fusion of unrelated technologies offered as a set of products.And these are just the features of applications users have wanted during the last decade.
During next decade users accustomed to social apps like Facebook will demand features allow real-time collaboration and work in the new desktop-less world of iPhone's and iPad's. As a developer, how will you build these applications? What new technologies will youneed to master? How many servers will you need to connect just to get a feed fromyour latest order tracking up so that it can be served up via iPhone to end users? Why is all this so hard? How can it be easier?
Social Profiles: Who are the users in this application so I can work with them?
Status Updates: What are these users doing? How can I help them and how can they help me?
Feeds: Beyond user status updates, how can I find the data that I need? How can this data come to me via Push? How can I be alerted if an expense report is approved or a physician is needed in a different room?
Content Sharing: How can I upload a presentation or a document and instantly share it in a secure and managed manner with the right set of co-workers?
Image: Force.com Application with Chatter feed
The Force.com platform makes building these data- and process-driven business apps really easy. With Chatter as part of the platform, you get many services out-of-the-box from feeds and updates to secure data access from your iPhone or Blackberry without having to write cumbersome code or connect to various gateways.
Meanwhile, in a land far, far away, VMware is transforming how businesses run their applications. With SpringSource as part of the VMware family, they have an incredible set of technologies to empower developers and CIOs. Java developers have known, used, and love the Spring Framework as a much more productive alternative to traditional technologies.
We have married the two sets of technologies to provide a rich development and runtime platform for Java developers. So let's see what it is comprised of and how it works.
Now, with VMforce, Java developers can use the familiar Eclipse-based SpringSource Tool Suite (STS) development environment (IDE) – leveraging Force.com as a powerful relational database. Force.com provides much more functionality than any on-premise RDBMS from full-text search to analytics to mobile access. Simply, write the code in Java and store your data in Force.com; you then simply drag and drop the app into VMforce in your IDE and your app is now deployed on VMforce.
The application runs on VMforce inside Salesforce.com data centers. VMforce is jointly managed and operated with VMware. The data is stored in Force.com where it is securely managed and backed up. In addition, application data can be searched, accessed on mobile devices, and reported on. The application runs on top of VMware vSphere, vCloud, and the tc Server, an enterprise version of Apache Tomcat.
Actually, there is not a whole lot to manage. The database, the search engine, the mobile capabilities, the business processes – all are managed for you. This is not your rent-a-server and perform-fusion-on-it cloud. This is true cloud computing – no software and no hardware to manage beyond your application logic.
So, there you have it – an enterprise cloud computing platform for running your Java applications using the popular Spring Framework – all running on technologies from VMware and Salesforce.com – the leaders in cloud computing. All integrated and managed for you. Hello Cloud!
Cloud 2: The Second Revolution
We believe that Cloud Computing is ready for a second revolution. The first one moved applications such as CRM, human resources, and payroll into the cloud and provided functionality similar to on-premise technologies. The next-generation of cloud applications will not only run in the cloud but also offer features and functionality that meet the Facebook imperative of a social, desktopless world. We call it Cloud 2.
VMforce, a service jointly offered by our partner VMware and Salesforce.com, can help you build Cloud 2 apps on a trusted cloud infrastructure (Force.com) using a programming language (Java) and framework (Spring) familiar to millions of developers.
Java Developers can now go from "Hello World" to "Hello Cloud"!
If you are a CIO, IT leader, or a business user:
Register at www.vmforce.com or contact your Salesforce.com or VMware account executive
Watch these videos to learn more about Salesforce.com and VMware
Encourage your development team to start building applications using the Free Force.com Developer Edition
If you are a developer:
Register at www.vmforce.com to get the latest updates including availability and beta signup information
If you are a Java programmer and already familiar with Spring, you can learn about Force.com atdeveloper.force.com
You can sign up for the Free Developer Edition, which includes all the great features mentioned earlier and start building Force.com apps and/or learn how to write these apps
If you are a Force.com developer and want to take advantage of Java, click over towww.springsource.com and learn to build Spring-based Java apps by using the SpringSource Tool Suite and all the innovation in the Spring community
Disclaimer: All opinions expressed here are personal opinions of the author(s) and do not reflect opinions of my current employer Salesforce.com or any other person/organziation (including my previous employers).