Cloud Computing

What is Cloud Computing

“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”- Wiki Definition

There are various versions of cloud definition from an understanding perspective. Cloud Computing enables the service provider to provide softwares, applications and required hardwares as a service on demand basis.

3 Service Models of Cloud Computing are

  1. Software as a Service – ( Applications )
  2. Platform as a Service -(Database, Middleware)
  3. Infrastructure as a Service – ( Hardware, Storage, Networking, Virtualization)

4 Deployment Models are

  1. Public Cloud – ( Internet )
  2. Private Cloud – ( Intranet )
  3. Community Cloud
  4. Hybrid Cloud

Some of the main characteristics of cloud computing are

  1. Visualized Computing Resources
  2. Limitless Capacity to Expand
  3. Self Service (Managing and Monitoring their Usage)
  4. Dynamic Provisioning
  5. Pay – per – use Policy
CIO View :
.
Effective Human Resource Utilization : Earlier (even now …) Many IT Companies had a Team of Professional DBA’s ( some into Oracle Database, Some into IBM DB2, Few others expert in Open Source Databases like Mysql etc) . Their Extended Teams were Experts in Networking ( Certified Networking Engineers ), System Admin Teams who were specialists in setting up Application or Database Servers, The way it worked in typical IT companies was these Human Resources were Utilized for a period of on going project and Billed to Project costing . Once the Project no longer needed them they were handed over to HR Organization to be used across other projects with in the company. But the problems was effective utilization of these skilled human resources . Cloud Computing gives an Option to completely virtualize this IT Team , and they would be available as a Service by the 3rd party Service provider . These resources are well shared across various companies and various projects , Thus ensuring effective Human Resource Utilization which is very important for their own growth .. and Company Survival.
.
Infrastructure Hardware & Software Resource Utilization: Most Hardwares and Softwares get changed and get improvised sometimes the technology becomes obsolete sometimes the Business Grows so that more Hardware and Software resources of higher caliber is needed, during such upgrades there is a high possibility that the old hardwares can be a piece of junk with no place to keep.  Sometimes there is also need to upgrade softwares cause critical down time that would effect business unless there is sufficient back up strategy. Cloud Computing gives one more option where maintaining these hardwares and softwares become the headache of the service provider and the Business can focus purely on Business , rather than software upgrades or adding new hardware pieces. So once again this ensure effective utilization of Hardware, Storage, Network and Software resources, so there lease impact on Business Continuity!
.
CFO View :
.
Total Cost of Ownership : Chief Finance Officer can decide up on Purchasing a hardware and softwares or using it as a pay per use basis. This can reduce the total of ownership and also the skill-sets required to maintain and manage those softwares and related hardwares.

Advantages of Cloud Computing

  1. Elasticity of Resources: Application are provided on demand basis, and the demand can always go high or low depending on various factors of business dynamics, as the business demands higher resource utilization ( hardware, ram, storage capacity, user licenses etc ) the vendor ensures that they are provided  and available on real time with out any loss to the Business.
  2. Cost Factor and Total Cost of Ownership: Pay on demand commercial model ensures customers pay for what they use rather than pay for something that they never used. Customer would pay only for the services and resources that they use over a period of time. so that ensures that IT investments are best utilized by business. This would ensure that total cost of ownership is reduced in most cases. Of-course some times it might make sense to own something if the utilization is more. its like the same question do you want to buy an DVD player or rent one ? . I might buy a DVD player and Rent a Blu Ray player it makes better sense to budget to me …
  3. Trust Factor and Security: Most Public Cloud Service providers promise to give highly secure environment , there is always a question how much you trust them with your data ( or your customer data ) rather than having your own data centers. Some people are of the opinion it would safer to have data in house .. it would still end up with same question how much you trust your own employees who manage that part of customer data. if the answer is “NDA ( Non disclosure agreement) the same applies to service providers too.
  4. Highly Available Model : Most Service providers promise a 24 * 7 , 99.99 % up time , planned and un-planned downtimes management. Its Service providers SLA (Service Level Agreement) to ensure that “Customer gets what he needs when he needs and how much he needs” 
  5. Capital Asset Management: Its the responsibility of Service provider to ensure that necessary software and hardware upgrades are being done to ensure customers Business Continuity and meet Quality Standards.

Private and Public Cloud

Public Cloud

  1. Cloud Service Provider can have multiple tenants sharing certain resources – e.g Single Application Server might have many websites deployed by many customers, each of those tenants can have multiple deployments on the same server.
  2. Lower immediate cost ( upfront cost )
  3. Security Depends on trust factor with Service provider.
  4. Lesser maintainance effort since its done by service provider.

Private Cloud

  1. Mostly Managed by In house IT – A company would have only its Applications running on its Application Servers.
  2. Lower total cost of ownership
  3. Security is done by house IT , and since no external companies use it , Theoretically its more secure
  4. Easier to integrate services across , However there needs to be maintainance efforts and costs.
  5. Greater control over everything.

Community Cloud

  1. They are semi public , example Group of Educational Institutions sharing certain educational resources across with Institutes

Hybrid Cloud

  1. This includes all the above 3 deployment models

Software as a Service – SaaS

Essentially Software s such as CRM On Demand, E Business Suite, Sales Force.com etc can be delivered as Services over internet incase of Public Cloud, Services are made available over intranet incase of Private cloud. Saas allows the option to use the softwares already developed by companies like Oracle / IBM/ Microsoft etc and use it as a service and pay for what you use, these are available on-demand. the other is to use Software Development Platform such as SOA, BPM, ADF etc to develop softwares and expose it as a services

Some of On-Demand Softwares offered by Oracle in SaaS model are
  • Oracle E-Business Suite
  • Siebel CRM
  • Peoplesoft Enterprise
  • JD Edwards Enterprise
Industry Specific Application Software
  • Communication
  • Financial Services
  • Retail
  • Healthcare Science
  • Other industries ..
Saas Models
  • Multi tenant model where multiple companies (or departments with in a single company) using a particular software as a service on a shared basis,
  • Single tenant model
  • Self Managed Model ( In house IT will manage the software )
  • Remotely Managed Model ( Service provider will manage the software for you )

Infrastructure as a Service – IaaS

Operating Systems, Hardware, Storage, Networks, Virtualization etc associated with the Software when delivered as a Service will be Infrastructure as a service, for example you might want Oracle Enterprise Linux VM with 8GB RAM on Sun Storage Device to run your Weblogic Server can be IaaS .

Operating System and Virtualization ( VM / Virtual Machine)  along with its Management Console forms the core of IaaS

Blade Servers : Popular Choice for cloud computing, ideal for the diverse requirements of cloud computing and compute-intensive applications.

Sparc and x86 Servers : Energy Efficient Systems , Powerful for High Density Volume and Workload


Sun Sparc Enterprise M Series Servers and Clusters :  Essentially used for High Performance and Cost effictive cloud infrastructure


Exadata Machines: for High Performance Databases in Cloud Infrastructure

Operating System and Server Virtualization

  • Oracle Solaris
  • Oracle Enterprise Linux
  • Oracle VM Server for x86
  • Oracle VM Server for Sparc
  • Enterprise Manager as a Single Window for Cloud Management.

Platform as a Service – PaaS

Oracle’s Fusion Middleware and Database from Oracle’s offerings falls into platform as a service, Other vendors might have something else in this space of PaaS.  This forms a platform for application development and deployment .

The way it works with in Enterprise

  1. Step 1:
  2. The local IT Team will set up IaaS, that is they set up the Hardware, Network, Clustering , Storage Space and Maintain
  3. Then they set up SaaS, that is they install all the required softwares on the above infrastructure , these softwares can database or middleware or packaged applications.
  4. They set up self service portal which allows employs to raise request , which gets routed to their management approval based on which employees ( project teams ) can use this development platform or services. ( some companies have a concept of internal billing where internal IT Team can bill the project management office for services related IT cost )
  5. Step 2:
  6. The Project team once they are notified about approval , will start developing and deploying applications on top of this PaaS platform
  7. The Applications so developed and deployed in itself can be exposed as service for customers or the business units or project related activities.
  8. Step 3:
  9. End users use the application , If its a web application people access it using browser , if its mobile app then they use mobile devices
  10. Sometimes these applications can be used by other applications as a service as well , for example a Sales Management application can use Employee Services of HR Application.
  11. Step 4:
  12. Application Server automatically scales up and down as an when required as the configured policy
  13. IT and Application owners can monitor and manage application deployment
  14. Step 5:
  15. Usage is Metered and the Application owner (or Project Office) will be billed by the IT for usage costs.
  16. Project Office can inturn Bill its Customer :-)
  17. Process ends.

Opening the PaaS Box and seeings whats inside

  1. SOA Suite – for  Application Integrating and Service Orchestration
  2. BPM Suite – for Process Management
  3. Security (Identity Management ) – for Enterprise Security and Provisioning across all levels
  4. User Interaction – Webcenter Portal for Intranet and Internet Web / Mobile Applications
  5. Application Grid – JRockit, Weblogic Server, Tuxedo, Coherence
  6. Database Grid – Oracle Database, RAC, DB Security
  7. Shared Services
  8. Cloud Management Services

Application Grid

Application Grid is more of Architecture term or practice than a piece of hardware or software , This leverages the principles of Grid Computing.

Application Grid is essentially applied at “Foundation Level” of Middleware applications , meaning the level where applications are actually deployed. Earlier before cloud computing there were dedicated application servers such as Weblogic , where dedicated applications were deployed sometimes when the application was not used this was becoming redundant , when there was a higher demand for application performance these servers needed to be scaled up to meet requirements . with cloud computing in picture application deployment platforms are essentially clustered in a grid environment. So it is possible to Dynamically allocate resources across different business needs .

These clusters can expand or contract there by application redundancy is taken care. Supports complete fail over architecture , where one piece of the grid goes down others stand up and support . there by making it highly available architecture.

Application Grid essentially supports running applications on top of it. These applications can be written in Java, .Net, COBOL, C, C++, Python, Ruby and many other programming languages and platforms.  It also supports Mainframe applications.

Going further deep down Weblogic and Glass-fish helps in deploying J2EE Applications, Tuxedo for Mainframe applications, Coherence for faster data access. JVM technologies such as JRockit and Hotspot on both virtual and physical environments.

References

http://www.oracle.com/us/technologies/cloud/index.htm

http://www.oracle.com/technetwork/articles/systems-hardware-architecture/ovm-blade-ref-conf-192667.pdf

http://blogs.oracle.com/infrared/entry/new_high_density_cloud-computing_blades

http://www.oracle.com/us/products/database/database-machine/index.html

http://www.oracle.com/us/technologies/cloud/index.html

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s