Cloud Computing & Hosting
Cloud Based Software Development
Cloud Computing is a hot term these days, but in truth it’s now lost most of its meaning. As with many technical terms, people use it to refer to a disparate range of concepts and practices. In the most general sense, it simply means the delivery of applications from remotely hosted computers via a Cloud operating system, which in business circles has traditionally been delivered through on-demand or Service Oriented Architecture (SOA). More recently, cloud services have been served by a growing number of cloud vendors – the largest provider being Amazon Web Services.
Types of Cloud Computing
Cloud computing is an established and popular way to deliver software and service-focused applications. For example, software such as Microsoft Office 365, Salesforce, and GoToMeeting, are great examples of how software can be accessed and operated through a web browser – without the need to own or have the product installed on your hard drive first.
Additionally, a service-focused web application could include a travel company using a single service for their flight booking process, with another for accommodation, and so on. To the user, these services will appear integrated as they are accessed through a single interface, but the processes implementing them are actually developed independently from one another. This is what developers mean when they say a system is “loosely coupled”.
In general, cloud hosted services are:
- Cost efficient – only pay for what you use and avoid high capital I.T purchases
- Scalable and flexible – hardware provisioning can be adjusted to match demand
- Accessible – services can be delivered remotely through the internet
- Compatible – available through a range of mobile and standalone devices.
Changes in Approaching Cloud Software Development
Cloud computing has shifted the approach of many enterprises considering development projects. This has been a strategic shift in focus to cloud software development, driven by long term business objectives and sustainable project performance.
Traditionally, when a team of developers approach a project, they have a range of options in terms of the technologies (programming languages, frameworks etc.) that they use to deliver the required system. In the past, there was a tendency to view any development project in isolation, as a task aimed at solving one or more particular problems.
The danger in this approach was that organisations sometimes found themselves bound to particular processes on account of their IT systems. In other words the IT in part limited, or even determined, what you could do, rather than simply serving what you wanted to do.
What has emerged is a trend for developers to make more of an effort to see projects within the context of enterprise.
Cloud computing liberates I.T departments from the restrictions of expensive and limiting in-house private cloud hardware, and enabling organisations to utilise core business processes directly from the public cloud via application–programming interfaces (API’s) – unburdened by technical limitations.
So cloud software development can rightly be seen as a tool to deliver projects, and developers can create applications to serve business systems.
Cloud computing provides an extensive, flexible and affordable way to implement cloud service models, using technical resources that have never been as readily available on such a scale as they are now.
What exactly is cloud computing then? It depends on your perspective. To the end user, it means moving applications and data away from the PC, and onto the web – which doesn’t tell you much about the platform. But for companies who are inventing and designing the systems of the future, cloud computing can drastically change how they operate, presenting new ways to approach traditional methods of I.T and software development.
The essence of an operating system is data and programming code. The difference between cloud applications and traditional models relates to where the information is hosted and how it’s utilised.
In the past, server hosting companies tended to offer a number of ways in which systems could be hosted, ranging from having a website on a shared server, renting a dedicated server, co-locating a server, or dividing a physical server into smaller pieces via a virtual server. All of these options have disadvantages – the expensive dedicated options were costly and inflexible, once you’d agreed a package, changing was difficult. Co-location required a lot of in-house skills and still tied applications to a single physical location.
Today however, the cloud computing market maintains unprecedented growth, with organisations of all sizes migrating their services to the public cloud, fuelled by the market leading presence of Amazon Web Services – which Blueberry considers to be the first true cloud hosting system.
Along with others in the industry like Microsoft Azure and Google’s Cloud Platform, the last decade of cloud computing has seen numerous changes to the virtual machine environment, with Amazon leading the way with unique features that include:
- Compute – spin-up servers on-demand and pay hourly, or reserve your instances.
- Containers – run applications from scalable EC2 contained clusters.
- Load Balancing – distribute incoming application traffic to multiple EC2 instances.
- Auto Scaling – scale EC2 capacity up or down automatically.
As a result of continual development, AWS has evolved into a comprehensive and innovative platform that far exceeds that of a standard web hosting solution, providing conceptual tools for application development, cloud storage, provisioning and deployment that utilise vast amounts of computing power from the web.
AWS can be categorised into the following service models:
- Platform as a Service (PaaS): The PaaS model provides developers with the key services needed to rapidly create and test applications over the internet, without having to worry about the provisioning of resources like storage and backup.
- Infrastructure as a Service (IaaS): An alternative to buying expensive I.T hardware that goes quickly out of date, IaaS allows companies to utilise virtualised computing resources over the internet for offerings such as server space, data storage, hardware, and networking – all sourced from a remote data centre. Having cloud infrastructure as a service therefore delivers significant costs savings.
- Software as a Service (SaaS): A common method for licensing software over the internet, the SaaS model allows products to be hosted over the internet by a vendor and delivered through a subscription based pricing structure – a well-known example of this is Microsoft Office 365.
Over the past few years the Amazon service has facilitated some impressive success stories. In brief, AWS allows companies to minimise on cost, while maximising on flexibility and compute processing. The platform puts enormous potential computing power in the hands of people running virtually any size of enterprise, thereby creating opportunities and promoting innovation.
There are of course issues you need to consider if you’re going down the AWS route, but the possibilities are pretty huge. See the Amazon Web Services page for more information, including how Blueberry can help your business to make best use of the platform.
Given that the focus in enterprise oriented applications is on the business processes you’re looking to implement, any capable development team has to be equipped with a diverse range of technological skills to choose from.
Blueberry has strong experience in enterprise oriented applications, cloud service models and API handing. As a company we have overseen many cloud computing projects that have led to successful project outcomes.
This includes our own software product for the AWS environment, called Cloud Machine Manager (CMM). CMM reduces AWS server bills by providing real-time on-demand control of EC2 instances, allowing customers to switch their servers on or off as needed from either a desktop or smartphone. In addition, CMM can automatically stop and start servers based on their usage, so if your servers aren’t being used for a significant portion of the day, CMM could significantly reduce your AWS bill. If CMM sounds interesting, give it a free try here.
Blueberry is happy to take a flexible approach to delivering Cloud services. Since we are not tied to one platform, set of languages or even methodology, we can implement bespoke systems using whichever technologies are best placed to serve your organisation.
As a company, Blueberry is accustomed to understanding and facilitating enterprise processes, so we are especially well positioned to bring the power of the Cloud to businesses of all shapes and sizes.
Many forward-looking businesses have adopted flexible working practices in recent years, not just in terms of technology but also management. Cloud computing is perfectly placed to deliver internal IT systems in such contexts, for example in situations where personnel have no fixed workstations, and applications must be accessed from a remote location.
If you’re in the market for a Cloud solution, give us a call.