Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Should Developers Care About Cloud Computing?
An introduction to cloud computing for developers

It seems like just about every cloud computing discussion with a development audience results in the same question being asked: “Why does this matter to me?” As cloud computing first appears to be primarily an operational-centric paradigm, it is easy to understand the reason this is asked. This question can be answered in a variety of ways. Some may say that cloud computing doesn’t affect the developer in any way, while others will say developers need to totally revamp their skill set to cope with the new landscape proffered by cloud computing. The truth, as always, is somewhere in the middle.

Though the industry is still in a bit of disagreement on exactly how to define cloud computing, it doesn’t seem there is a lot of disagreement with the idea of a three-layer cloud. At the top is the Application Services layer, followed by the Platform Services layer, and then the Infrastructure Services layer. For a rough summary, the application services layer constitutes SaaS offerings, the platform services layer encompasses platforms in the cloud like the Google App Engine, Force.com, etc., and infrastructure services provide underlying compute resources like processing and networking in the cloud, think Amazon’s EC2. There are numerous posts discussing what makes up each of these three layers, so instead of turning our focus there, let’s discuss the impact to the enterprise developer in each of these three cloud layers.

On first look at the application services, or SaaS layer, we may not immediately think of developers. More often than not, CRM software, email, collaboration solutions, and other similar offerings come to mind. However, there are at least two ways in which the services in this layer impact the enterprise developer. For one, there is the possibility of more and more development tooling environments moving into the clouds. By extending development tooling in the software as a service model, these often compute intensive offerings could get their resources from a capable cloud instead of the comparably weak personal machines developers often have. In addition, as in all SaaS offerings, the provider is charged with monitoring and maintaining the software, and this means developers put more of their focus and time toward software development.

Beyond the movement of development tools toward a SaaS model, the proliferation of consumable services in the cloud has and will continue to have an impact on the way developers and architects design IT systems. Services in the cloud, both private and public varieties, become part of the overall SOA for an organization. This means considerations of securing services, mediating service requests, and otherwise governing services applies across multiple domains now. Cloud services can provide a powerful boost to the SOA capabilities of an organization, but the ramifications of extending that SOA across multiple domains and into clouds should be considered by enterprise developers and architects as early as possible.

The effects of cloud computing on developers are probably most palpable in the platform services layer. This is where we find platforms like the Google App Engine, Force.com, etc. hosted in the cloud. If an organization chooses to go the route of a cloud-hosted platform, developers need to get up to speed on the layout of that platform including the APIs offered and the application deployment and packaging strategy. Across the different platforms there will likely be support for a common set of languages like Java, PHP, Python, and more, however, there will also be services and APIs unique to each of the platforms. For instance, the Google App Engine offers the Google Accounts service to applications running on its platform. This service allows developers to authenticate a user of their application using the user's Google account credentials.  In addition, different platforms offer different connectivity and integration services. These capabilities are important when connecting applications running on the cloud-hosted platform to components running elsewhere. When leveraging platform services in the cloud, enterprise developers need to go beyond their current skill set and educate themselves in the services and APIs offered by the platform in order to utilize its full potential.

The infrastructure services layer likely impacts the enterprise developer the least. These services are typically consumed by the higher level services in order to either provide a platform or software as a service. This is not to say though that developers can be blissfully ignorant of an infrastructure cloud service being utilized within their organization. In some cases, such as the case with Amazon’s EC2, the infrastructure comes with a complimentary set of capabilities such as storage and message queuing. At the least, developers should be aware of the characteristics of the infrastructure. For instance, when developing an application it would be good for a developer to know if an infrastructure can dynamically scale based on request volume. If so, the developer is likely in the best position to convey information about the metrics used to decide when to scale the infrastructure. If the infrastructure doesn’t dynamically scale, developers and architects need to be aware of this when originally designing the system. This allows them to architect and implement solutions that mitigate this limitation.

Cloud computing is here and developers need to be ready. If you are an enterprise developer whose organization is looking to cloud computing solutions be proactive. Research the different layers of the cloud your company is interested in, understand the impacts to you and your job, and voice your opinion about the direction that should be taken. If you have any thoughts on development in the cloud, let me know below or send me a note at wscloud@us.ibm.com.

About Dustin Amrhein
Dustin Amrhein joined IBM as a member of the development team for WebSphere Application Server. While in that position, he worked on the development of Web services infrastructure and Web services programming models. In his current role, Dustin is a technical specialist for cloud, mobile, and data grid technology in IBM's WebSphere portfolio. He blogs at http://dustinamrhein.ulitzer.com. You can follow him on Twitter at http://twitter.com/damrhein.

Latest Cloud Developer Stories
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, an...
Enterprises are striving to become digital businesses for differentiated innovation and customer-centricity. Traditionally, they focused on digitizing processes and paper workflow. To be a disruptor and compete against new players, they need to gain insight into business data and...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to ...
In this presentation, you will learn first hand what works and what doesn't while architecting and deploying OpenStack. Some of the topics will include:- best practices for creating repeatable deployments of OpenStack- multi-site considerations- how to customize OpenStack to inte...
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE