Monthly Archives: September 2012

Can Cloud Computing actually boost software development?

Can Cloud Computing actually boost software development?

 

In terms of technological development, software has always lagged behind hardware when it comes to speed of growth. Simply put, software simply hasn’t progressed at the same rate as that of hardware. Many are anticipating or predicting that cloud computing will have an effect on the rate at which software is to be produced in the near future. The general idea is that cloud apps and/or services can be tapped to help programmers with all manner of tedious task. We’re not talking about a “maybe” or a “possibility” here either, there are a number of (already) identifiable ways in which cloud computing is helping to create a new software revolution.

Let’s take Agile software development for example; the truth is, the cloud is able to cut development and delivery times because it can:

Allow you to create multiple instances of virtually anything
If you’ve ever directly participated in software development before, you already know that things can be chaotic, confusing and very creative. Sometimes, ideas emerge so quickly that they aren’t often captured, explored or implemented due to time constraints or hardware limitations. The great thing about cloud computing is that its elasticity and power can be used to quickly create multiple instances of whatever an individual is working on that can quickly be compared with others (side-by-side). Likewise, if everyone on a development team is utilizing the same cloud, sharing new concepts / builds would also be much easier and practical.

Open the door for simplified device-specific development
One of the so-called “black arts” in software development is the creation of programs for multiple OS’s, browsers or devices. Simply put, you can’t just build something and expect it to easily or flawlessly translate across to anything else (or any other device outside of the development environment). However, cloud computing might very well lower the difficulty associated with this predicament; for instance, automated testing platforms are being deployed as SaaS offerings. This approach allows you to both build things in a specific environment (like Chrome, Windows or iOS) and then carry out testing as well. The benefit here is the ability to rapidly produce highly functional software that is more easily transposed into other formats (as needed).

Offer a staggering, near-infinite number of testing servers
When it comes to software testing, large amounts of computing power and/or time is usually required. Then you have availability issues to contend with (in a non-cloud setting), where many individuals may be attempting to use the same hardware at the same time. Not only does this type of scenario greatly slow down the pace at which work can be completed, it also poses a great risk should a disaster occur, knocking out access. Because cloud computing works through virtualization, you can tap into a near-infinite number of testing servers for your project(s). In other words, if you’re carrying out a barrage of tests on the latest build of some software, you can do it any number of ways in less than half the time spent with non-cloud forms of technology.

Create a more streamlined and organized workplace-friendly platform
Cloud computing is known for being able to create a better virtual work environment in several ways. First off, through the cloud, things tend to be more highly organized (even somewhat ‘standardized” when it comes to certain instances, apps or services). Just think about how important it is for multiple team members to share and use the same data when constructing something. Cloud computing allows team members to not only access the same data in an instantly up-to-date fashion, it also allows for the sharing and use of individual computing / environment setups as well. Basically, the cloud allows for the integration of cutting-edge technologies while at the same time improving inter-office communications and transparency.

However, utilizing the cloud to its fullest potential will require some qualified and certified IT personnel. E-learning is the most obvious and cost-effective solution when it comes to prepping an IT department for use of cloud technologies. Aside from your standard cloud certification programs and foundation training, there’s also specialist instruction for IaaS as well.  

Put it all together and what do you have?  
If you combine all of the aforementioned perks into one list, you’ll see that cloud computing is actually a very powerful collaboration tool for software developers. Whenever the right people have access to newer and better tools, great things tend to transpire. The situation we find ourselves in right now (as far as cloud computing and software creation are concerned) more or less lays the foundation for some truly amazing potentials in the near future. Who’s going to benefit the most from cloud computing in the software development world? Software companies that are united and savvy enough to leverage cloud technology are going to end up pushing basic development into a whole new space.

Amazon Web Services and Python team up to bring us “Elastic Beanstalk”

Amazon Web Services and Python team up to bring us “Elastic Beanstalk”

 

The Python programming language is known for its high level of functionality and readability across an almost endless set of potential situations. Likewise, Python is typically used to drive web apps or in software as a scripting language. Additionally, OS’s like OS X and Linux use Python, as does Youtube and Google. In fact, NASA and even CERN (large hadron collider) actually use Python as well. In other words, not only is this programming language extremely versatile and useful, but it’s already being employed by some of the most technologically advanced institutions on Earth. Amazon Web Services and Python

Given this realization, it should come as no surprise that Amazon and AWS might find a better use for Python in a cloud environment. Elastic Beanstalk is Amazon’s Python-driven one-size-fits-all app solution. In a nutshell, Elastic Beanstalk allows you to integrate, set up and manage apps in a much faster way with less technical interference. As they say “the devil is in the details” and that’s pretty much what E.B. deals with, all the details associated with app deployment: load balancing, capacity provisioning, application health monitoring and automatic-scaling. However, unlike some other solutions, this new approach still allows you to control and access the foundation resources.

Basically, whenever someone signs up for cloud computing services (through any vendor) they choose from a list of package options which include varying types of apps and services along with varying degrees of overall control. The great thing about Elastic Beanstalk is that you can easily take control over virtually every single aspect of what’s driving your application(s). So, even if you’ve already made choices with regards to how your AWS service package looks and functions, Elastic Beanstalk will allow you to delve deeper should you desire to do so.

This stunning development brings up an interesting point about where cloud computing might be headed.  By introducing an element like Python programming to the equation, Amazon is placing quite a lot of power in the hands of its customers. While it’s true that a highly developed technical team that specializes in cloud technology will be able to accomplish great things where research is concerned, there are other contributing factors when it comes to development.

By integrating Python into AWS, Amazon is opening up its cloud services to a sort of “crowdsourcing” approach. This measure is going to produce customized approaches for certain situations or for specific cloud app builds. In other words, if they play/approach this the right way, we may begin seeing more highly functional and instantly customizable apps being offered on the commercial side.

Moreover, as more AWS clients begin developing improved versions of apps, perhaps Amazon and AWS might consider repurchasing their modifications back from them in order to make them available on a larger scale? Yes, it’s probably wishful thinking, but why not? If something like Elastic Beanstalk is capable of allowing individuals, groups or businesses to create a more personalized, efficient and practical cloud environment, why shouldn’t we explore making these customized improvements available to everyone?

Furthermore, this type of situation presents a big opportunity for participating businesses and AWS users as well; selling their customized builds as part of some type of licensing arrangement could prove to be very profitable and would only further drive advanced development in the cloud. Cloud security is one area in particular that would be able to greatly benefit from this type of approach, it’s one again, probably better to “crowdsource” security approaches from large numbers of technically capable businesses and institutions rather than relying solely on individual security specialists (although we certainly need them as well).

This highlights some very important concerns with regards to preparedness – which are cloud certification, training and education for your IT group or employees. IaaS specialist certification is also a very hot area for IT professionals to train in. Having personnel on hand that are familiar with these technologies is (arguably) the only way to ensure that you’re really using cloud computing in a safe manner and to its fullest extent.  

All-in-all, Elastic Beanstalk is placing control back into the hands of businesses and customers. Now, any sized business can get direct access to the infrastructure of all their applications and perhaps even trim their (cloud) management budget in the process. In addition, Python is much easier to navigate and Java programmers should have no problem utilizing it via Elastic Beanstalk to manage apps.

What to look for in an IaaS vendor

What to look for in an IaaS vendor

 

Jumping into new areas of technology can certainly offer big benefits, but we should also be doing our best to avoid taking unnecessary risks while doing so. For instance, although IaaS is in high demand by businesses across the globe, it is still a relatively “adolescent” area of cloud computing. This is to say that IaaS vendors should be carefully considered prior to choosing one; all options and benefits must be weighed according to what your business requires and what others are saying about particular providers.

In all actuality there are different degrees of involvement from IaaS vendors. Some providers will offer stand-alone systems which function like private cloud alternatives. The benefit here is that security is often targeted by the vendor and the user isn’t required to manage that particular aspect. This is a very attractive prospect for a number of reasons; first off, certain organizations that aren’t well-versed in security issues or techniques might find that it’s better off left to individuals who know what they’re doing.

Secondly, some companies might have very sensitive data that they simply cannot afford to risk having “fall into the wrong hands”. Likewise, certain businesses often compile and store vast amounts of customer data; if a businesses consumer data were stolen they would likely face class action lawsuits from groups of consumers which would damage their image and also severely affect profits.

Other IaaS providers might offer a more complete experience in which they basically train the customer to use the service. While this might seem like a really great idea, having a vendor walk you through every single aspect of your operation on a continuous basis might not be the most cost effective approach.

You really need to compare the costs of independently certifying and training your IT team with that of paying your provider to act as some form of makeshift instructor. However, any sort of education or training that one can garner from virtually any group ultimately has value, especially if a vendor is helping users become acclimated to new technologies and so forth.

So, perhaps the best approach in this scenario is to both educate and certify your IT department AND absorb and utilize the information coming from your IaaS vendor?

Lastly, you might encounter a situation whereby your current provider of cloud services begins moving into IaaS of their own accord and in turn, begins marketing these new services to you and your organization. This is a tricky area to get involved in because some vendors are (naturally) better than others; it all comes down to their motivations for moving further into the IaaS market.

If, for example, a vendor is merely attempting to diversify their portfolio and/or approaches newly initiated IaaS services in a “ham-fisted” manner, then you should definitely be wary. How can you find out if a provider is truly prepared to implement an IaaS service, you ask? Arguably, the best place to start is in looking at their plans; storage considerations, on-site hardware requirements and vendor “blueprints” detailing their proposed infrastructure changes should tell you what you want to know.

The first two (obvious) things you want to research are the specific services offered and any and all costs associated with these services. Then, you’ll need to sit down with all involved personnel (IT, business, budgeting and otherwise) and discuss long and short-term goals and how these proposed IaaS service upgrades will be able to help or hinder the organization in meeting these marks.

If, at the end of your meeting, there is significant doubt among the group concerning the benefits to risks ratio of signing up with an IaaS vendor, perhaps you should look elsewhere. However, if there are an overwhelming number of positives at the end of such an encounter, you might have just found your ideal provider.

It’s also important to remember that IaaS is growing, changing and expanding all the time. So, before locking into any one vendor’s plan, you should make an effort to look (or even requisition them) to the future plans of that provider. In other words, how are they positioning themselves, and where is their organization headed in terms of their own business model?

Ideally, you want a vendor that has both “staying power” and the ability to incorporate any and all valuable cloud technologies as they emerge. Additionally, it’s also important that an IaaS provider is able to foster good relationships among the tech, IT and cloud communities at large. If no other cloud companies want to do business with your provider, the future viability of that vendor is already in question.

 

What the future of IaaS Cloud Computing might look like…

What the future of IaaS (Cloud Computing) might look like…

 

Businesses are tuning into the power and flexibility afforded by Cloud Computing IaaS (Infrastructure-as-a-Service). The quandary which most companies face when evaluating cloud computing services is one of how to maintain control while both transitioning and migrating.

Approaches to cloud computing like IaaS are all-inclusive, which gives businesses an unprecedented level of authority over nearly every aspect of the service while providing a new home for items like legacy apps. Legacy applications and software are especially big concerns for larger, more developed organizations (which is perfectly understandable, as they are essentially integral components).

However, while IaaS might be more free and open, it does usually require the client to do all the setup work and administration. This is the reason that experts are suggesting that IaaS might soon be incorporating PaaS-style elements as part of an effort to provide a bridge between wide-open and managed services.

What makes IaaS so commanding is just how much control it furnishes. For companies with the will and resources, IaaS is arguably the best way to conduct an IT operation using remotely-positioned hardware and assets. Through an IaaS provider you are basically gaining metered access to all the load balancers, servers, operating systems, apps, networking, storage, and load balancers offered by that particular plan.

The caveat to all this control however, is that you must actually be able to effectively and efficiently design and manage your infrastructure. This is where the weakness of IaaS lies of course, in its user-friendliness.

Certainly organizations need the level of control offered through IaaS, but remaining so incredibly open and undefined could also put it at a disadvantage. This is why IaaS seems to be moving toward integrating more PaaS –style elements and/or choices to the fray. At this point you’re probably wondering what defines PaaS, right? Simply put, PaaS (Platform-as-a-Service) is basically IaaS without the ability to manage the inner workings of the system itself.

Sure, through PaaS you might be able to choose from a list of hardware, software or other components, but your IT department won’t be able to fully manage it in the same way that they could a comparable IaaS solution. In other words, PaaS is kind of like IaaS sans the complete control.  \

Naturally, this begs the question, is your organization or IT department really prepared to implement cloud computing? Do you have personnel on hand that are certified in cloud computing foundation and/or as IaaS specialists? These are some very important questions to consider as we move forward into a more IaaS and cloud-dominated age of IT and business.

The differences between IaaS and PaaS are usually interpreted one of two distinct ways:

  • IaaS is completely open-ended and better because it offers greater freedom.
  • PaaS is better because if offers defined options and managed services.

…but what if the two approaches were combined somehow? Why couldn’t we have IaaS packages which are divided into specific classes which businesses can then choose from, each offering different levels of control and specific options? Perhaps there are some areas of IT which you want to have on-site personnel controlling/managing directly and others that are better left to the provider? The costs associated with administration are also a factor; certainly some organizations will find it cheaper to basically “outsource” certain tasks to their cloud provider while maintaining control over other areas?

The point is, IaaS could increase its appeal and effectiveness by co-opting some PaaS approaches. As IaaS grows in popularity, it is highly likely that many providers will begin noting trends and similarities in the way that their users deploy their services. Armed with this data, perhaps these IaaS providers will then be able to put together more targeted (IaaS) packages which feature hybrid management (IaaS + PaaS)?

As previously mentioned, administration costs (management costs) associated with IaaS will likely shape future consumer trends more than anything. Even companies that require a more controlled IT atmosphere will begin to weigh their options as better technology and managed cloud services come onto the scene. After all, why would any organization want to pay more for IaaS (on-site costs + service costs) if there is a comparable PaaS solution which might afford the same level of service? Over time, it’s highly likely that IaaS vendors will take note of this type of disparity and begin to create alternatives to their current methodologies which incorporate more specifically directed choices.

IaaS style Cloud Computing

What is it that makes IaaS such a practical choice for most businesses seeking to leverage cloud computing?

 

There’s been a lot of excitement over IaaS –style cloud computing in recent months. IaaS is fast becoming the approach that medium to large-sized businesses are taking as they shift or transition over into cloud computing-based IT infrastructure. So, what is it that makes IaaS so appealing to these organizations? Through IaaS, companies are able to retain control over the finer points of their IT operation while at the same time, trimming costs and leveraging the power of cloud computing itself. Also, when you factor in that signing up for a cloud computing service doesn’t normally require inflated start-up costs (as is the case with hardware purchases), there is additional value for businesses that are looking to upgrade or refresh their IT assets.

IaaS allows organizations to gain access to advanced hardware and capabilities without having to physically invest in or purchase these components. However, what makes IaaS such a powerful alternative to traditional IT is its propensity for “remote management” opportunities. Quite simply, businesses can utilize their current IT squad in much the same way that they are used to facilitate on-site operations in a traditional IT environment. Naturally, this also requires your organization to have cloud computing and/or IaaS certified personnel on hand to actually design, manage, and analyze the effectiveness of a cloud computing operation. IaaS style cloud computing

The difference is, through IaaS, IT personnel will likely never actually physically come into contact with any hardware whatsoever. While this might sound like it’s somewhat dangerous at first glance, the reality is that providers of IaaS have great sums of capital invested in maintaining their systems.  In fact, it’s probably not even possible for most businesses (regardless of size) to build or maintain a comparable type of private cloud (in terms of budgeting) compared with what a vendor can offer them. This cost-effectiveness vs. control paradigm is what makes IaaS the most practical choice for businesses that are heavily reliant on IT services.

Other areas that are often overlooked when weighing the pros and cons of IaaS are data security, competition and corporate espionage. Chances are, we’re never going to truly arrive at an ultimate solution for data security; as long as there has been computing and networking, there have been risks. People like to pick on cloud computing because of the perceived security risks posed by it, but the truth is that a better, more secure solution / alternative does not exist. Traditional IT is just as open to APT attacks, hackers or data thieves as cloud computing, and as technology advances, perhaps even more so. Through IaaS however, companies are able to ensure a higher level of internal and external security because they have more direct control over it. Likewise, as better security solutions emerge, they can be more quickly integrated if an organization has control over their infrastructure.

For organizations that engage in competitive or classified research, there is also the issue of corporate espionage. One of the best ways to guarantee that appropriate monitoring of data and construction of appropriate security protocols is being carried out is for an organization to simply do it themselves. Relying on 2nd or 3rd party security for sensitive data is akin to having a backdoor protected by inept guards. Simply put, you’ll never know who is watching over your data if you leave the task in some random company’s hands; similarly, you have no way of determining what their ultimate intentions are either.

On the technical side of things, IaaS also allows more intuitive and aggressive businesses to create specific types of IT solutions and/or incorporate applications / new technologies in unexpected ways. If an organization has to wait around for solutions to be devised, or useful applications to be included in a packaged service offering, they’re at the mercy of someone else (specifically, cloud providers). The problem here is that cloud providers are most likely not going to be experts in the field(s) in which their clients operate. Why in the world would major companies want to leave the innovation to esoteric groups like cloud providers anyway? This is where the true value of IaaS comes into clear focus, it provides a powerful platform that businesses can use to not only run their operations, but really develop / facilitate their ideas and goals through IT.

In the end, the strength of IaaS rests on the shoulders of the companies who utilize it. If these organizations approach it (IaaS) with an open mind, imagination and solid expertise, they can forge entirely new approaches to how they do business. However, for those groups who are advancing toward IaaS with expectations of completely managed solutions which only require minimal involvement should probably look elsewhere. When it comes to IaaS, “you can only reap what you sow”.