English|Português|Español
UserPasswordLogin

HOME
SESSIONS
INFO
could d 294

A walk in the clouds: Cloud Computing

Always positioned where technological innovation requires, GeneXus will actively participate in one of the most representative pillars of the upcoming revolution in information technology: the Cloud Computing paradigm. The following interview with Gustavo Carriquiry - Operations Manager at Artech - reveals the relevant scenarios, benefits and beneficiaries, as well as GeneXus’ contribution in this field.
According to your expertise, do you think Cloud Computing is just a new fashion or a true and powerful trend?

Although it’s still being consolidated and its visibility is only recent, we’re certainly heading towards Cloud Computing as a new way of looking at information systems. It’s become a new possible model thanks to its technological background, and it has numerous advantages to offer. There’s even another tangible reality that is actually showing us we're on our way there: the fact that PCs are increasingly "less intelligent" and more Internet-oriented, such as the so-called Net Books - smaller and lighter computers with little memory. In the Cloud, companies don't store, hard disks are not necessary - what you need is an interface that offers you access and broadband. In a way, it's a trend towards reducing the client’s power while increasing centralized power.

If I researched the Cloud Computing concept on the Internet, I’d get over 53 million hits, and although there’s a large number of definitions, it’s such a complex concept that one gets tangled up in its multiple sides. Is that why you call this a paradigmatic change where the concept of “cloud” encompasses several other concepts relating to information technology?

The concept of Cloud Computing encompasses the concepts of cluster, virtualization, Internet, Software as a Service (SaaS), scalability and data center. And many times the definition depends on the perspective you're looking at it from.

Those of us who work in information technology are used to the following paradigm: I have a computer and a cable that connects me to a server, which is mine. I need to make sure it works properly and install an operating system. If I later have more people working with me, I need to buy more PCs that will be connected to that server, which in turn needs to be scaled up in order to support the new clients. This is the paradigm we’re working with today. For instance, one aspect of software projects is hardware dimensioning, that is, what data volume the application is going to handle and how many users there will be. Plus other variables according to how critical the application is for the company: SLA, backups, communication lines redundancy, air conditioning, monitoring and technical service 24 hours a day.

Operational continuity requires quite an investment that’s not always possible. In this paradigm everything is yours; even if you outsourced the software, you install it in your servers, the PCs and applications are yours, and you need to hire a broadband service provider. That is, you find a number of providers and you put together your own infrastructure. The Cloud Computing paradigm implies removing all that from the company. This changes the rules of the game. The "cloud" provider meets all the needs previously mentioned and the kind of investment changes: instead of spending 50 thousand dollars upfront in an infrastructure, you pay the cloud 500 dollars a month and hire an equivalent power.

The complete solution to replace that paradigm with cloud computing, where “everything that is yours is somewhere else,” implies a crucial focus on infrastructure, particularly on virtualization and SLA, which is how the provider guarantees the required service level.
This definition where your business application comes from external servers provides a macro perspective of the concept of Cloud Computing.

Is Software as a Service (SaaS) also implied within the concept of Cloud Computing?

It is and it isn’t; that is, you can have a SaaS and not use Cloud Computing. One clear example is SalesFore.com.
The SaaS is more like a business model: you hire the software rather than buy it. The cloud uses a similar model, since you hire the servers or power when you need it.

Of course, the combination of Cloud Computing and SaaS is a very interesting one.

Back to project dimensioning, let’s discuss a hypothetical case. Let's imagine a business that started with little infrastructure and has grown very quickly; so it needs to increase it overnight, running a number of risks. Would Cloud Computing offer advantages in a scenario like this where there's a need for increased infrastructure and scalability?

The accurate dimensioning of a project is a whole chapter in an application. There's no doubt the property of scalability, or the flexibility that allows increasing or eventually reducing power without too many requirements, is crucial.

According to your plans at a certain time, you can make sense of your numbers but if the demand for that application grows abruptly, the machine you’re using quickly becomes obsolete and you can't scale up at the same rate - this combination can be lethal. So, the usual way to prevent this from happening is to buy above the power that’s actually needed. To put it even clearer, “when the wave comes, you must be on your surfboard already.” You shouldn’t be the victim of your own success. Of course, in order to have that scalable structure you will have to pay much more.

When storing their businesses, databases, operating systems, and so on in another company's cloud (for example, in Amazon's EC2), don't large companies lose control over their information systems and applications?

That’s were large companies could be reluctant, it may be a case of balancing costs but also losing independence.
Thinking that the data won’t be in “my machines” but in the cloud is quite something. It may create the feeling that you lose control of the data you handle (who your customers are, what your prices are, etc.). Here’s where security and the SLA established with the provider are crucial.

Who is the Cloud good for? Who does this new way of conceiving IT-based business models benefit? Does it benefit small companies or large corporations?

All companies selling software, both small and middle-sized, will benefit in different degrees; but large corporations will also benefit.
Large companies should consider what suits them best - whether to develop and maintain their own data center or to hire that infrastructure, having their computer center in the Cloud. In addition, large investments also need to take into account technology’s obsolescence and investment recovery. Will that computer center be the same five years from now? Or, how much will maintenance cost? Large corporations may certainly be interested in the Cloud as well.

It is also a matter of offering choices to your potential customers. Let’s say there’s a given solution that solves the handling of HR, the core of certain business, an ERP, etc. Let’s imagine there’s a customer for that solution, whose needs are functionally satisfied by it but who wants the solution in Amazon’s cloud rather than in their own servers. The software house must have its solution “cloud-enabled” in order not to lose the customer.
This is a great opportunity for smaller companies that are unable to implement their own infrastructure; in addition to the benefits regarding costs and its power regarding scalability, they would have the backup of selling with a SaaS scheme.
In many ways, Cloud Computing is a huge opportunity for software companies.



Enabled by their enormous infrastructures, some examples to be highlighted in Cloud Computing are the following large players from the IT field: EC2 by Amazon, Apps by Google, eyeOS and Azure by Microsoft and IBM, which offer common online business applications accessible from a web browser, while the software and the data are stored in the servers.
 
The role of GeneXus in the multiplatform scenario of Cloud Computing

One current factor in the cloud scenario is the multiplatform condition of its providers. Such condition is apparent when naming its key players (who come from different backgrounds): Amazon doesn’t make computers, IBM does, Microsoft makes software (operating system, office automation, databases), Google used to be a search engine and has now gone into other areas. Each of them seems to have its own vision or interpretation of the cloud. Within this context, it is discussed whether there should be an open cloud with standards, which is explained in the controversial Open Cloud Manifesto. Gustavo Carriquiry emphasizes the opportunities GeneXus will offer in that sense.

Is there a need to establish standards?

Standards are intended to be established. Continuing with the example of the customer who wants to have their solution in the cloud, they will probably be more specific and choose a certain cloud. Will it be Google’s, Microsoft’s or Amazon’s? To name just a few. If this happens, an issue similar to the one about databases could arise; it's the customer rather than the provider who chooses the solution. Having solutions “for a certain cloud” will probably be a limitation.

Besides, there are other hypothetical situations to be solved; the mechanisms to access a given cloud and not others must be clear. What would happen if a company decided to leave the cloud and go back to having their own computer center, or move to a different cloud?
In view of the existing range of platforms, we are on solid ground with GeneXus, for the same reason we are multiplatform regarding databases.

Deploy to the Cloud

GeneXus being a development tool, how will it take part in Cloud Computing?

A SaaS scheme can be used, selling the use of GeneXus installed in the Cloud rather than the GeneXus license, which means offering the customer to use GeneXus from the Cloud with access through a Net Book or Smart Phone, rather than installing GeneXus in their machines. But here’s a GeneXus-specific derivation: to develop in the cloud or to develop for the cloud. From GeneXus, the first thing we need to do is facilitate movement in these scenarios in a flexible way for our customers, that is, with a click, making the move to the cloud easy for the developer. We’re researching these issues and working with prototypes.

GeneXus developers have an advantage in this scenario since the implementation of the solution will need to be solved later on in the process and it will not determine all development stages. The solution is the same, but "implemented" in different platforms ("on-premise").


This is an example of how loading applications generated in GeneXus onto the cloud would look like in the future. We've used Amazon in this example.
Related
Cloud Computing: challenges and opportunities
Now you can follow GeneXus on Google Buzz
Special Edition #GeneXusTheBestOf2014 :: Cloud Computing, the Internet of Things, GeneXus X Evolution 3, Success Stories, Smart Devices and ... Much More!
Release of U2 of GeneXus Evolution 3
Chopo Mobile introduces successful app in Mexico, developed with GeneXus and used for medical studies
GeneXus™ ERP Explorer and Connector for SAP® ERP Now Live on SAP Store
We have a new Download Center! The GeneXus download center has an enhanced appearance at its new location
Demand for Apple TV apps expected to double in 2016
What we've learned about GeneXus by working with Gartner (by Gabriel Simonet)
Agile or Waterfall development? (by Breogán Gonda)
We are pleased to share an interesting white paper about GeneXus, written by Kapil Ambwani from India!
Mickey, Toy Story & GeneXus: Why robots will transform developers?
GeneXus™ Named a NEW Challenger by Gartner In Its 2017 Magic Quadrant for App Development Platforms Report
Free Live Webinar: Conversations on Digital Transformation - Wednesday, November 8, 2:30PM (EST)
GeneXus™ Announces Its Participation at SAPPHIRE NOW® to Showcase GeneXus for SAP® Systems