Skip navigation
Twitter   Follow us  •   Share   Share    Become a member
Currently Being Moderated

Platform-as-a-Service Skills: Q&A with Professor David Garlan

VERSION 3  Click to view document history
Created on: Sep 14, 2010 1:01 AM by Beth Bacheldor - Last Modified:  Jul 7, 2011 10:20 AM by ellenlalier

September 2010

 

 

http://i.cmpnet.com/designcentral/caseewebsite/headshots/david_garlan_large.jpgThe term platform as a Service (PaaS) refers to a Web-based development and runtime environment for cloud-based services. Like other cloud computing models, PaaS offers enterprises access to shared, scalable IT resources on demand. IT shops can develop and deploy applications in this environment.

 

Several major vendors offer PaaS solutions, including Microsoft’s Azure Services and Salesforce’s Force.com. Google has its App Engine, and IBM offers Blue Cloud for developers to create and test applications. As these new models proliferate, how will IT professionals gain the skills necessary to run them? Smart Enterprise Exchange contributor Beth Bacheldor recently asked Carnegie Mellon University Professor and software researcher David Garlan for his views about what students and professionals should consider when preparing for this new cloud computing world.

 

For additional training resources, see sidebar here.


Q: Carnegie Mellon is a global research university known for its technology programs.  How are existing programmers and developers being trained and retrained for SaaS and PaaS platforms?

 

A: We try to avoid bandwagons and fads, but when a paradigm shift occurs, we do try to cover it, and make sure people understand it and are trained in it. With cloud computing, a paradigm shift appears to be happening. As a programmer or developer, it is important to understand the significance of cloud computing overall.

 

Specifically, we consider how this computational model differs from previous ones, and the engineering trade-offs in adopting a cloud-based approach. For example, two new elective courses [at Carnegie Mellon] are directly relevant. One is a new course on mobile computing and the access of applications through mobile platforms, where some part of the application runs on a set of servers and the rest of that application runs on a device. We also have a course on global software development, designed to help students understand how to manage large-scale software development in a global economy.

 

We also offer several master’s-level degree programs in software engineering where students typically have one to five years of professional experience. Within this program, there are a number of general core courses, plus electives, as well as a project. Each part of the program has been affected by PaaS to various degrees. Among the core courses, PaaS has had the greatest impact on our software architecture class, which focuses on how to design large-scale systems. We have a new section in that course on Web-based architecting, which includes PaaS, SaaS and cloud computing.

 

With respect to graduate-level electives, we have created two new courses. One is in the general area of Internet-based systems, and the other is on the integration of platforms for large-scale Internet computing. And we aren’t just teaching how to do this, but how to use Internet-based computing intelligently in a business environment. For instance, we understand that there will be design trade-offs [with Web-based systems] compared to client-server computing or mainframe computing. Student projects are proposed and sponsored by outside industry partners and clients to make them more real-world. So there has definitely been a shift: taking older, traditional systems to newer platforms.

 

Q: What about younger students just starting out?

 

A: Like programs elsewhere, our computer science undergraduate program is going through a major revision right now, and part of that includes revising some of the introductory courses to let students use services that other people have already created. And we will be allowing students to take advantage of Internet-scale computing, too.

 

Q: Aside from PaaS training at the university or in more formal programs, do you know of many opportunities for on-the-job training?

 

A: It varies greatly from organization to organization. But, in general, there seems to be a lot of on-the-job training. I say that because the recruiters that come to our campus tend to look for very general software development skills and computer science fundamentals, rather than specialty skills.
Cloud computing is the latest trend, but certainly not the final one. Continual assessment of emerging platforms based on advancing technology is always important for IT professionals inside and outside the classroom.

 

Q: How can CIOs improve their own skills for new service models?

 

A: The most important step should be learning the conditions under which it makes good business sense to make a change to cloud computing. This involves getting a good sense of the risks, costs and benefits. Clouds are not right for everyone. Further, it’s important to distinguish hype from reality, something that education can help with outside of the business environment. In many cases, a company that uses cloud computing also has legacy systems outside the cloud. Understanding the architectural ramifications of a mixed approach is critical.

 

We offer courses through the Carnegie Mellon Tepper School of Business including a course on software architecture for executives. This is a course for people who have to manage software development teams and need to understand some of the technical aspects, but not necessarily develop the software. There is also a Technology Leadership MBA Track — a joint offering of the Tepper School of Business and Carnegie Mellon’s School of Computer Science — which emphasizes strategic and management issues relevant to the development and application of software technologies. This program deals with aspects of cloud computing, such as: How do you decide what to buy and what to build? What are the economics of outsourcing?

 

ASK THE EXPERT

 

DAVID GARLAN, Director of Professional Software Engineering Programs, Carnegie Mellon University

 

David is the Director of the Master of Software Engineering Professional Programs and a Professor of Computer Science in the School of Computer Science at Carnegie Mellon University. He currently heads the ABLE Project, which focuses on the development of languages and environments to support software system architectures. Among his other areas of expertise are pervasive computing and self-healing systems.
Before joining the CMU faculty, Garlan was a Senior Computer Scientist in the Research Laboratory of Tektronix Inc. There, he developed formal, industrial-strength models of embedded instrumentation software.
He received his Ph.D. from Carnegie Mellon and was honored with a Stevens Award Citation for fundamental contributions to the development and understanding of software architecture.

Comments (0)