Monday 30 December 2013

Sky Computing - Next generation Cloud Computing

Sky Computing is an advance deployment model and future of cloud computing where multiple clouds are integrated to serve the business processes at one place. Sky Computing is an emerging computing model where resources from multiple cloud providers are leveraged to create large scale distributed virtual clusters. These clusters provide resources to execute scientific computations requiring large computational power. Establishing a sky computing system is challenging due to differences among providers in terms of hardware, resource management, connectivity and architecture. 

Furthermore, scalability, balanced distribution of computation, and measures to recover from faults are essential for applications to achieve good performance. The purpose of the such architecture is to provide an access to multiple clouds in bidirectional way using the devices like PCs, Laptops, Android phones. So this will be the complete bidirectional integrated environment for real time use of multiple clouds in synchronous and asynchronous way. 

Applications of Sky Computing: 
1. Batch Processing and Scheduling  for hetero environments 
2. High Performance Computing  like DNA Processing Jobs
3. Sales Representatives [Sales and Marketing]
4. Disaster Management
5. Business Intelligence and Big data Analytics
6. Medical Representatives [Healthcare and Hospitality]
7. On Premise real time ERP/CRM Integration with different Clouds
8. Contract Management which uses multiple Clouds like Box.net and Docusign
9. Field Surveys for every industrial sector

If any questions on Sky Computing, feel free to write an email to sumi.shingavi@gmail.com

Friday 27 December 2013

Comparison of 3 Main Cloud Computing Deployment Models


Matrix
Private Cloud
Public Cloud
Hybrid Cloud
Security
Most Secure as everything is on –premise
Good but depend on the security measures considered by cloud service provider
Very secure, integration capabilities add another layer of security
Reliability
High, as everything on premise
Medium, Depend on the Internet connectivity speed and cloud service provider availability
Medium to high as frequently accessed items are kept on premise but also depends on Internet connection speed
Cost
Very high, as enterprise need to invest in data center, cooling systems, electricity, etc.
Low, as follows Pay-per-use model
Moderate, as allows to consume some resources from public cloud based on pay-per-use
Performance
Very Good
Medium
Good, as supports caching of frequently accessed items
Deployment Premise
On Enterprise premise who want to use it
On Cloud Service Provider’s Data Centers and App Servers
Partially on enterprise premise and partial on third party public cloud
Customer Coverage
Single customer specific
Can be used by multiple customer at a time
Multi customer support but still depend on the context of use case
Access Level
Private
Public
Partially private and partially public
Maintenance
High as everything on premise
No maintenance
Required only for the resources which are on premise
Flexibility
Low
Very High
High
Examples
Government agencies and research labs like NASA, etc.
Google, Salesforce.com clouds, etc.
GoGrid hybrid cloud installations, etc.

Sunday 15 December 2013

Power of Virtualization!

Virtualization is simply abstraction of computer resources in order to share or use them by multiple virtualized instances of different OSs. It can be easily understood in following diagram: 


Logical view of Virtualization 


Advantages of Virtualization
1. Zero downtime maintenance
2. Instant provisioning
3. Virtual hardware supports legacy operating systems efficiently
4. Dynamic resource sharing
5. Security and fault isolation
6. Business continuity, backups, and automated restoration
7. Virtualization offers major savings in data center operations.
8. Virtualization makes possible significant reductions in the costs of managing data centers, with simplification  of systems management tasks.
9. Virtualization offers increased redundancy for delivery of high performance and high availability services.

2.2.2 Virtualized cloud Vs Non-virtualized cloud (Comparison matrices)
1. Administration Cost
2. Green initiative by reducing heat dissipation at huge servers
3. Base hardware utilization up to maximum level (80 to 90%)
4. Scale up and scale down as per the requirements of resources that can be hardware or software.

If any questions on Virtualization, feel free to write an email to sumi.shingavi@gmail.com


What is Cloud Computing?

Cloud computing is a newly emerging computing paradigm powered by virtualization, wherein remote and virtualized computing resources are utilized by users. It can be defined in more simplified way as mechanism that enables management of computing and IT infrastructure to be consolidated in one or more computing units(i.e. data centers, etc) to reduce the overall cost of operating computing facilities
Basic Architecture of a Cloud

Key features are:
1. Dynamically scalable and virtualized Resources
2. Increased system utilization
3. Massive scaling of IT services as needed
4. Reduced CapEx
5. On demand service provisioning
6. Elastic service                                  
7. Quality of Service
8. Location independent
What Cloud Can facilitate you?
The idea of cloud computing is based on a very fundamental principal of “reusability of IT capabilities”. The difference that cloud computing brings compared to traditional concepts of “grid computing”, “distributed computing”, “utility computing” or “autonomic computing” is to broaden horizons across organizational boundaries.
Since decades, enterprises have spent time and resources in building an infrastructure that could provide them a competitive advantage and finally cloud computing had done that. With cloud computing, excess computing capacity can be put to use and be profitably sold to consumers or organization according to there need. This transformation of computing and IT infrastructure into a utility, which could be available to all, is the basis of cloud computing and virtualization.

Cloud Computing Deployment Models: 
Another relevant concept is the cloud deployment models. The most well-known are the following four, but it is important to note that there are other models that derive from these.

Public: Resources are available to the general public over the Internet. In this case, “public” characterizes the scope of interface accessibility, not whether or not resource usage is charged. This environment   emphasizes the benefits of scalability, rationalization (since one can use only the required resources and pay just for their use “by the drink”), and operational simplicity (since the environment is hosted by a third party, i.e., the cloud provider). The main issue is security, since the environment is shared and managed by the cloud provider, and, accordingly, the consumer/subscriber has little control over it. 


Private: Resources are accessible within a private organization. This environment emphasizes the benefits of scalability, integration, and optimization of hardware investments. The main issue is operational complexity, since the environment is hosted and managed by internal resources. Security is not a major concern when compared to a public cloud as the resources are accessible only through internal interfaces and are interconnected by private networks protected by network firewalls.


Community: Resources on this model are shared by several organizations with a common mission. It may be managed by one of the organizations or a third party. 


Hybrid: This model mixes the techniques from public and private clouds. A private cloud can have its local infrastructure supplemented by computer capacity from a public cloud. The benefits and challenges are a combination of the items above.



Cloud Computing Service Models:
1. SaaS (Software as a Service): Software or an application is hosted as a service and provided to customers across the Internet. This mode eliminates the need to install and run the application on the customer’s local computers. SaaS therefore alleviates the customer’s burden of software maintenance, and reduces the expense of software purchases by on demand pricing. We have many examples of SaaS applications like Google Apps, Salesforce.com, Blogger, etc

2. PaaS (Platform as a Service): In PaaS, basically platform is provided for developers to develop their applications and host them on the cloud. Every PaaS has its own development language like Salesforce have APEX or Windows Azure can use .Net framework to develop applications. So, finally PaaS is nothing but Network-hosted software development platform. Secondly, PaaS has very limited scope because there is language constraint for developers to migrate their applications to the cloud.

3. DaaS (Data as a Service): Data in various formats and from multiple sources could be accessed via DaaS by any users on the network. User can just manipulate the remote data just like operate on a local disk or access the data in a semantic way in the Internet. So, in DaaS customer queries against providers’ database. We have many examples of DaaS like Amazon's Simple Storage Service (S3), Google Docs, etc.

4. IaaS (Infrastructure as a Service): Based on the support of SaaS and DaaS, the cloud computing in addition can deliver the Infrastructure as a Service (IaaS) for users. Users thus can on-demand subscribe to their favorite computing infrastructures with requirements of hardware configuration, software installation and data access demands. So, in IaaS Provider hosts customer VMs or provides network storage. We have many examples of IaaS providers like Amazon, GoGrid, IBM, CloudWorks, etc

5. HaaS (Hardware as a Service): Hardware as a Service was coined possibly in 2006. As the result of rapid advances in hardware virtualization, IT automation and usage metering and pricing so that users could buy IT hardware, or even an entire data center, as a pay-as-you-go subscription service. The HaaS is flexible, scalable and manageable to meet your needs. We have many examples of HaaS providers like Amazon, PayPal, IBM, CloudWorks, etc


Pros of Cloud Computing:
1. Resource sharing is more efficient
2. Faster time to roll out new services
3. Reduced costs
4. Management moves to cloud provider
5. Dynamic resource availability for crunch periods
6. Consumption based cost

Cons of Cloud Computing
1. Compliance/regulatory laws mandate on-site ownership of data or geological constraints
2. Availability & reliability
3. Uncertainty around interoperability, portability & lock in
4. Security and privacy Latency & bandwidth guarantees

Challenges in Cloud Computing
1. Privacy and Security
2. Governance and Compliance
3. Availability
4. Performance
5. Sustainability

If any questions on Cloud Computing, feel free to write an email to sumi.shingavi@gmail.com