Monday 8 December 2014

Basis of cloud selection – Compatibility, Reliability, Scalability, References, Trust and User-friendly environment


We have checked the importance of backups, SLA, Location, Exit criteria and Accessibility in previous post for Software development companies in India.  We would explore and discuss few other parameters that are very important for cloud vendor selection namely compatibility, Reliability, Scalability, References, Trust and User-friendly environment.

  • Compatibility - Compatibility of the SaaS, PaaS and IaaS services with your applications, systems needs to be optimum to work with your organization, users, and customers. 

  • Reliability - Even without outside attacks, Cloud services may fail. However online storage can be reliable as well, as we know that the workstations may crash some time leading to loss of data, which is less probable if it is stored on the cloud.

  • Scalability - Companies data storage requirements double every 2 years. Ensuring if the data center can accommodate this growth is needed.

  • References - Before you making a commitment, the companies should ask the vendor to submit three customer references. Then the buyer should run down this list and check off each point that the references respond to positively. If a positive reinforcement on each and every point is received, one can be sure about that cloud providers credibility to some extent.

  • Trust - The public cloud services providers have to improve and aggressively guarantee SLA performance to meet enterprise expectations before some of the “trust barriers” that have formed can be removed.

  • User-friendly environment - The companies should look for a cloud station where you can move about intuitively, quickly and with immediate signs of progress. Whatever the user experiences in the first five minutes generally gives a very good indication of what the rest of the activity will be like. 

Software development companies in India can refer above points while giving suggestions and inputs for cloud vendor selection.

Wednesday 5 November 2014


Basis of cloud selection – Backups, Service Level Agreement, Location, Exit Strategy and Accessibility


We discussed the importance of four parameters while selecting cloud computing that custom software companies in India take into consideration. We discusses other five parameters namely backups, service level agreement (SLA), location, exit strategy and accessibility below. 

  • Backups
This parameter shall help understanding if the cloud providers offer better/faster backup and recovery of your data, and so will be going to the cloud part of your disaster recovery / business continuity solution.

  • Service Level Agreement
While selecting the cloud provider, one should look for the answers to the following questions: 
  1. Can the service provider deliver on your service level requirements?
  2. Can they provide a history of outages, recovery times, and impact to the customer? 

The downtime can be far more devastating financially than the credits received back from the provider for missing an SLA.

  • Location:  
The facility should be physically secure. It should be checked if it is located on a fault line. The high risk area/coast should be explored. Also if they are geographically diverse, how their International relations are can be explored. If they have data centres offshore is the data replicated to those data centres in time is another related question.

  • Exit Strategy
The time required to move out of the cloud, or to another provider needs to be calculated. Selection of a cooperative cloud provider who would deliver seamless transition in that case is important.

  • Accessibility
The companies opting for cloud should have the access to their data whenever needed within no time. Making sure that the corporate strategy and technology strategy require that users have 24/7 access to data, regardless of geography and platform. 

Tuesday 9 September 2014

Basis of cloud selection - Security, Risk, Legal and Cost


Taking our discussion further about parameters to select right cloud solution provider, we would discuss four parameters in detail namely Security, Risk, Legal compliance and cost.

  • Security
By its nature, an attack on a Cloud service can affect a huge number of people at once. The level of security/protection than your current environment has always been the highest concern with the adoption of cloud services. This extends to the concerns about the credibility of the third party audit reports on their security. Network security, Data protection and application security are the top priorities. Hence if the cloud can provide secure services this could be the biggest advantage and the growth driver. (SAVVIS, 2014)

  • Risk
The risk taking ability of any organization becomes another deciding factor behind the adoption of cloud services. It leads to the decision on amount of resources/mission-critical data that the organization can keep off-premise. This parameter would lead to the calculation of the likelihood of bankruptcy / likelihood of failure / likelihood of negligence. This can be used to understand who will be accountable and what the cost of downtime greater than the savings, will be achieved by moving to the cloud. This will make a big difference when up against a risk averse culture. (bmcsoftware, 2014)

  • Legal
Does a cloud environment meet compliance requirements (HIPPA, CJIS, PCI, retention, SOX, etc.) that your current environment does not support or would otherwise be too expensive to build? It is good to ask following questions while choosing the cloud provider.
  • Who owns the data?
  • What’s your access to the data?
  • Does it comply to government and other regulatory bodies?
Most providers will provide auditable information that their systems and servers meet compliance standards but the accountability is generally on the customer to report and prove compliance to a governing agency or standards. Cloud service providers will generally not indemnify customers when it comes to the customer’s lack of compliance (bmcsoftware, 2014).

  • Cost
The profits and the cost savings that can be made by availing the cloud services have to be analyzed and thus foreseen significant net savings to the organization over 5-10 years can be calculated. Considering the opportunity costs with the cap-ex while the op-ex is being foreseen is important. One can factor the costs to organization (people, energy, space, insurance, downtime, training, etc.) Cost estimation is mandatory process and the market research shall reveal the trends.

Monday 1 September 2014


Basis of cloud selection


Based on various articles and the research work, consolidated list of parameters are defined that small scaled company should evaluate before cloud implementation. The research has been exhaustive and it led us to these parameters for deciding whether a vendor can be selected or not. Business environment of the startups and small scale IT companies has been studied along with the current trends.  This was done via a survey. The inputs of several corporate personnel have been taken, to understand the issues and challenges and the benefits that they reap with the current working IT infrastructure. 

However brainstorming was done to decide on the services to opt for on the basis of their benefits and costs with the help of certain parameters. These parameters were found to form the basis for deciding which services will benefit small companies. They will help the startup companies understand if they should take their business on cloud (completely or partially).

The following are the parameters that should be ideally considered for opting for these cloud solutions by any small scale IT Company:

    1. Security
    2. Risk
    3. Legal
    4. Cost
    5. Backups
    6. Service Level Agreement
    7. Location
    8. Exit Strategy
    9. Accessibility
    10. Compatibility
    11. Reliability
    12. Scalability
    13. References
    14. Trust
    15. User-friendly environment
    16. Additional services
    17. Speed to Deliver and Network Throughput
    18. Data in Motion
    19. Logging/Audit
    20. Help and Support
We would discuss the importance of each parameter in subsequent pots.

Monday 18 August 2014


Comparison of Cloud Service Models

This comparison has been done on the basis of the services that are provided by each type of model, its Service Level Coverage and the customization flexibility for the different types of consumers.


SaaS
PaaS
IaaS
Consumers
End Users
Application Owners
·      Application Owner or IT provides OS
·      Middleware
·      Application support
Services Provided
Finished applications
·      Runtime environment for application
·      Cloud Storage
·      Other Cloud Services such as Integration
·      Virtual Server
·      Cloud Storage

Service Level Coverage
·     Application uptime
·     Application performance
·      Environment availability
·      Environment Performance
·      No application coverage
·      Virtual Server Availability
·      Time to provision
·      No Platform or Application

Customizations
·     Flexibility from minimal to no customization
·     Capabilities dictated by market or providers
·      High degree of application level customization available within constraints of the service offered
·      Many applications will need to be rewritten
·      Minimal Constraints on applications installed on standardized virtual OS builds

Friday 8 August 2014

Platform As a Service (PaaS)


Platform as a service (PaaS) is a category of cloud computing services that provides a computing platform and a solution stack as a service. In this model, the consumer creates an application or service using libraries or/and tools from the provider. The consumer also controls configuration settings and software deployment. The provider provides the servers, networks, storage, and other services that are required to host the customer's application.

Platform Aa a Service offerings facilitate the deployment of services and/or applications without the cost and complexity of managing and buying the underlying software, hardware and provisioning hosting capabilities. All "as-a-service" offerings are characterized as providing low initial cost, self-service, incremental cost as your service usage grows, best practices built-in, resource sharing, management services, automated deployment, lifecycle management, reuse. PaaS provides these capabilities for application and service development.

Figure - Platform As a Service. Source - http://goo.gl/97hmwq

There are various types of PaaS service providers; however, all offer deployment environment and application hosting, along with various integrated services. Services offer varying levels of scalability and maintenance.

PaaS offerings might also include facilities for application development, application design, testing, and deployment as well as services such as web service integration, team collaboration, and marshalling, database integration, scalability, storage, security, persistence, application versioning, application instrumentation, state management, and developer community facilitation.


Besides the service engineering aspects, PaaS offerings cover mechanisms for service management, such as monitoring, discover, workflow management, reservation etc.

Example:

Figure 2 - SaaS, PaaS and IaaS Example. Source - http://goo.gl/FJliOe

Reference: Software company India

Monday 4 August 2014

Infrastructure As a Service


NIST defines Infrastructure as a service (IaaS) as “The capability provided to the consumer is to provision processing, networks, storage and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not control or manage the underlying cloud infrastructure but has control over storage, operating systems and deployed applications; and possibly limited control of selected networking components (e.g., host firewalls).”. The following figure shows the cloud computing layers:



Figure 1 Cloud deployment models


In the most basic cloud-service model, providers of IaaS offer computers – physical or (more often) virtual machines – and other resources. (A hypervisor, such as Xen, OpenStack, Oracle VirtualBox, VMware ESX/ESXi, KVM or Hyper-V runs the virtual machines as guests. Pools of hypervisors within the cloud operational support, system can support large numbers of virtual machines and the ability to scale services down and up according to customers' varying requirements.) IaaS clouds often offer various additional resources such as a virtual-machine disk image library, and file or object storage, firewalls, raw block storage, load balancers, IP addresses, virtual local area networks (VLANs), and software bundles. IaaS cloud providers supply these resources on-demand from their large pools installed in data centers. For wide-area connectivity, customers can use either the carrier clouds (dedicated virtual private networks) or Internet. Lately, this paradigm has been extended towards actuation and sensing resources, with an aim to provide virtual actuators and sensors as a services SAaaS.

To install and deploy their applications, cloud users install operating-system images and their application software on the cloud infrastructure. In this model, the cloud user maintains and patches the operating systems and the application software. Cloud providers typically charge IaaS services on a utility computing basis; cost reflects the amount of resources consumed and allocated. Software company India

Cloud communications and cloud telephony, rather than replacing local computing infrastructure, replace local telecommunications infrastructure with Voice over IP and other off-site Internet services.



Monday 21 July 2014

Cloud Service Models


The following service models have different strengths and are suitable for different customers and business objectives. In general, interoperability and portability of customer workloads are more achievable in the Infrastructure as a Service (IaaS) service model because the building blocks of this service are relatively well-defined.

A business can now access the entire cloud computing infrastructure it requires as a service for all it uses wherever they are, on whatever device they use. This is called infrastructure as a service (IaaS). User applications remain the same running on more reliable cloud infrastructure; this is when most business will start to use cloud. Apps will be migrated as the existing infrastructure reaches the end of its life. PaaS builds on the power of IaaS as a platform to make it easier to collaborate and develop software. SaaS is explained as a set of fully serviced software running on a fully serviced infrastructure.

There is no longer the need of upfront investments for new business application packages. So cloud can be all the three models with IaaS at the core.

  • Cloud Software as a Service (SaaS): The user uses the provider’s applications running on a cloud infrastructure. The applications or software services are accessible from various client devices through a thin client interface such as a Web browser. The consumer does not control or manage the underlying cloud infrastructure including servers, network, storage, operating systems, or individual application capabilities. It might be possible for the user to specify application configuration settings.
  • Cloud Platform as a Service (PaaS): This service allows the user to deploy onto the cloud infrastructure applications that the user acquired or created using programming languages and tools supported by the provider. The consumer does not control or manage the underlying cloud infrastructure including servers, network, operating systems, or storage, but has control over the deployed software applications and possibly application hosting environment configurations.
  • Cloud Infrastructure as a Service (IaaS): This service enables the user to use processing, networks, storage, and other fundamental computing resources, and to deploy and run other software services or applications, including operating systems and applications. The consumer does not control or manage the underlying cloud infrastructure but has control over operating systems, deployed applications, storage, and possibly limited control of select networking components such as host firewalls.


Tuesday 15 July 2014

Virtualization

Virtualization is base technology of cloud computing. Following video explains what is virtualization, types, its objective and various approaches.

Wednesday 9 July 2014

What is Cloud?


Cloud is viewed as future technology. Following video explains what is Cloud technology, its importance and service models.



One can also download this presentation at 



Monday 7 July 2014

What is  Cloud?

As defined by the National Institute of Standards and Technology (NIST), “cloud is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.” (Microsoft, 2014)

Cloud computing is a pay-per-usage model. Cloud overcomes the traditional IT bottlenecks like the rooms full of data storage, firewalls and routers along with the teams to support it, when there were needs to invest in upgrades and rebills.



Figure 1 - Cloud computing (computing, 2014)


Deployment Models

History reveals a similar shift happened at the way business used power at the turn of the century. Business no longer has to build, buy or manage costly computing facility on site. Just as business learnt that power provided by a specialized power company improved reliable quality, cloud computing has proven to be more reliable, more secure, more scalable and ultimately more affordable than traditional onsite IT. This is why most new business apps and softwares are now deployed on cloud. Custom software companies in India has also started recommending cloud.

The following deployment models present a number of trade-offs in how customers can control their resources, and the scale, cost, and availability of resources.

1.      Private cloud: The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.

2.      Community cloud: The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.

3.      Public cloud: The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.

4.      Hybrid cloud: The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but that are bound together by standardized or proprietary technology enabling data and application portability.

5.      On-site private cloud: The security perimeter for this deployment model extends around both the subscriber's on-site resources and the private cloud's resources. The private cloud may be centralized at a single subscriber site or may be distributed over several subscriber sites. The subscriber implements the security perimeter, which will not guarantee control over the private cloud's resources, but will enable the subscriber to exercise control over resources entrusted to the on-site private cloud.

Thursday 3 July 2014

Cloud computing challenges

One can easily understand from previous discussion that it’s very beneficial for a company to adopt any of the ACT as per requirement. However it has been witnessed that majority of software companies in India have developed some kind of resistance in adopting the same in their work environment. This is more prevalent in small scaled industries. The resistance is because of following challenges/issues levied by ACT.

Challenges faced by ACT:
1.      Security Issues:
By any chance if intruder get access of cloud’s server or find vulnerability of cluster and start attacking them, it’s very difficult for small scaled organizations to take real-time steps against those attacks due to lack of sufficient funds, unavailability of trained human resources or Information security experts to fight against those.

2.      Data theft or misuse of data:
Data and information is the most important asset for all kind of industries. In spite of existence of strict policies and frameworks, companies find it very difficult to put confidential data in the hands of others. There are possibilities of data being misused by the hosting or cloud companies.

3.      Availability:
Cloud requires the availability of internet connectivity for the services to work. Good and reliable internet connectivity is not available in majority of countries. This puts restriction on various companies to use cloud for their daily operations and activities.

4.      Reliability
Reliability of cloud services heavily depends on good and reliable internet connectivity.
Security, downtime, poor network or connectivity etc. are very common issues facing by internet connectivity esp. in developing countries. So, it’s very hard for any company to just rely on cloud services

On top of above challenges, following are few other reasons that is hindering the acceptance of cloud and ACT.

1.    Lack of information – many companies does not have information or knowledge about what and how cloud computing or ACT can help them to perform better. This is more prevalent in small scaled industries due to lack of skilled manpower and information sources.

2.      Myths – companies have developed certain myths and wrong assumptions about this technology. Few of them are real challenges however many are just myths developed due to low quality information.

Tuesday 1 July 2014

Cloud Technology - A Future Technology

20th century- the age of Information technology changed the whole way of life from living to eating, travelling to communicating and working to enjoying. This new technology also introduced additional challenges like security, confidentiality, privacy and data management issues. As per (EMC, 2014) size of digital data is increasing with the rate more than 50%. This implies that the total size of digital data will be doubled every two years and this rate is increasing constantly. As per press release of Gartner - (Gartner, 2014) , one third of personal data will be on web by 2016. Current technology would not be able to cope up with this and it would be a great challenge to manage this big chunk of data. Security and privacy of data would be another major concern.

To address these challenges, there is introduction of new technology – Advanced Computer Technologies. 21st century will be the age of Advanced Computer Technologies which is also very well-known by abbreviation ACT.

ACT is categorized into four major components.

i)       Cloud Computing
Cloud computing has been seen as the next revolution of IT and the most famous ACT category. It will radically change the way of working. Cloud computing has a great influence on all kinds of enterprises.
Cloud is a large pool of easily usable and accessible virtualized resources which could be hardware, development platforms and/or services. According to that one can divide cloud into four types: NaaS cloud (Network as a Service), SaaS (Software as a Service) cloud, PaaS (Platform as a Service) cloud and IaaS (Infrastructure as a Service) cloud. All of these can be reconfigured to adjust to a variable load dynamically, allowing also for optimum resource utilization. And, these resources are typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized Service-Level Agreements.

In developed country like USA, Canada, etc. many small scaled companies has started using Cloud technology for various departments. They received following benefits because of implementation of cloud technology.
  1. Very high cost reduction
  2. Less monitoring and maintenance of IT infrastructure
  3. Higher scalability and flexibility
ii)    Cluster Computing
A computer cluster consists of a set of loosely connected or tightly connected computers that work together so that in many respects they can be viewed as a single system. The components of a cluster are usually connected to each other through fast local area networks ("LAN"), with each node (computer used as a server) running its own instance of an operating system. Computer clusters emerged as a result of convergence of a number of computing trends including the availability of low cost microprocessors, high speed networks, and software for high performance distributed computing.

iii)  Distributed Computing
(wikipedia, 2014) Defines distributed computing as a field of computer science that studies distributed systems. A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. A computer program that runs in a distributed system is called a distributed program, and distributed programming is the process of writing such programs. An important goal and challenge of distributed systems is location transparency.

iv)  Grid Computing
As per (Gridcafe, 2014) Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. What distinguishes grid computing from conventional high performance computing systems such as cluster computing is that grids tend to be more loosely coupled, heterogeneous, and geographically dispersed. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries.

Grid size varies a considerable amount. Grids are a form of distributed computing whereby a “super virtual computer” is composed of many networked loosely coupled computers acting together to perform large tasks. For certain applications, “distributed” or “grid” computing, can be seen as a special type of parallel computing that relies on complete computers (with onboard CPUs, storage, power supplies, network interfaces, etc.) connected to a network (private, public or the Internet) by a conventional network interface, such as Ethernet. This is in contrast to the traditional notion of a supercomputer, which has many processors connected by a local high-speed computer bus.