On-Premise Data Center Vs Public Cloud ( Unravel OCI Part 2 - Post 1)


It is important to understand what a typical on-premise Data Center is, before understanding what is it to use the services of a Cloud Provider (Public Cloud). This post will help you understand, what a typical on-premise data center is and how is it different from using a Public Cloud. The following are some of the important aspects of building a Data Center.
  1. Identify the location of end users of applications to be hosted and setup the Data Center at a location closest to them.
    • An Organization would use its IT infrastructure as a means to provide its employees and other stakeholders (suppliers, dealers, customers etc.), access to software applications and data that is used by them for their business. Such users are generally called as end users of applications. The location where the IT infrastructure is hosted/kept is a Data Center. It is important to identify a location for the Data Center, such that it is as close as possible to the end users. This will ensure that Network Bandwidth and Latency will not be a challenge for using the application.
  2. Identify the Applications that are to be hosted by the organization and understand the Availability and Disaster Recovery (DR) requirements for each application.
    • An organization would have various applications used internally and exposed externally (to the Public). Each application owner identifies the availability needs of their applications and ensure each application is hosted appropriately. For example, an internal portal used by employees to access information about other employees (a typical application available in many companies) may have a lower availability requirement in comparison to the organization’s website or core manufacturing / sales application which has more business value.
    • To ensure an application is highly available, the following are some options that can be used within a Data Center.
    • Option 1 - The Application is hosted in a computer with local storage in a server Rack. If no backups are taken and if the Computer hardware fails, the application and its data are entirely lost.

    • Option 2 - The Application is hosted in one computer with local storage and a backup is taken at a pre-determined frequency (let’s take it to be every day in this example). In case of a problem with the Computer hardware, then a new hardware will be identified and the backup restored and the data will be available in the application as of the time the last backup was taken.
    • Option 3 - The Application is hosted in one computer and uses Network Storage. A backup is taken at a pre-determined frequency (let’s take it to be every day in this example). In case of a problem with the Computer hardware, the Storage is intact and a new Computer can use the data and the application can be brought up. If the storage server fails, then the backup has to be used to bring back the application data.
    • Option 4 - The Application is hosted in one computer and uses Network Storage, with storage replication to other storage servers. A backup is taken at a pre-determined frequency (let’s take it to be every day in this example). If one of the storage servers fail, then fault tolerance is built in for it and the application will be available as the Computer can access the replicated storage from the available storage server/s. If the Computer Hardware fails, a new Computer can use the data and the application can be brought up.
    • Option 5 - If an application needs higher availability, then a Cluster of nodes can be used to Host the application, with storage also replicated into multiple storage servers. In such cases when a hardware failure (compute or storage) occurs, there are other redundant nodes in the cluster which will ensure the application is available.
    • These are different fault tolerance examples within a Data Center. The Cost of implementing each of the above options are different and the availability of the application also varies. For each application, the fault tolerance required has to be identified, as to the number of faults that need to be tolerated and what all faults need to be tolerated. Accordingly, the infrastructure (Compute Servers, Storage Servers, Network equipment etc.) has to be provisioned appropriately. Remember with higher availability the cost of hosting an application also increases.
    • But what if the entire Data Center fails?
  3. Identify DR requirements and identify suitable locations to setup 2 or more Data Centers
    • When a Data Center level failure occurs (like Power/Network failure etc. or a fire or a natural calamity such as an earthquake), then all the hardware in the data center is unavailable. To protect the application from such disasters and ensure it is Disaster Recovery compliant, while planning and setting up the application, multiple data centers (2 or more, depending on the need) have to be setup and the application data has to be replicated across these data centers. When that is done, a Data Center failure is tolerated and the application is available from the other data center/s.
    • When planning for multiple data centers, the organization will consider the Risk mitigation ( fault tolerance requirements) and setup data centers in different cities within the country and/or in different countries also. The business importance of the Application and its Availability Needs will decide  the application availability architecture.
    • Keep in mind, building multiple data centers means additional cost and the organization has to invest in additional infrastructure, network connectivity and people to manage them.
  4. Build or Hire Data Center space?
    • An organization can build their own data centers or hire space from Data center providers. This is very similar to office space setup. An organization can build their own building and use that as their office space, or hire/rent real estate space and use that as their office.
    • Building and managing a data center has many things to be taken care of and an organization might find it better/easier/cost-effective/faster to hire space from a popular data center provider (who manages the Power, Network , cooling etc. for the data center). The Data Center provider would ensure the best practices are in place and take care of all Data Center related services/activities.
    • Note, a Data Center provider will have multiple customers who have hired space in their Data Center buildings. Each customer of the Data Center provider will have their own IT Infrastructure and people who manage the IT Infrastructure. If an organization wants exclusive space, then they may have to build their own data centers.
  5.  Procure and Setup Infrastructure – Hardware and Software.
    • Once the organization has identified and taken space for their Data Centers (own or rented), they need to buy ( invest ) in the hardware and software that are to be used by them. Such purchases are paid upfront to various vendors who will provide them with requisite infrastructure and software.
  6. Hire People who will manage the infrastructure and software.
    • It is people who have to manage all this. An organization can have their own IT/Software team within their organization, or they can outsource the work to Independent Software Vendors (ISV vendors) who will manage the IT operations and manage the software/applications hosted.
  7. Setup Connectivity to the Data Center locations.
    • The organization has to arrange for connectivity to the data center/s from their office locations and other stakeholders (customers, dealers, suppliers etc.) if they need access to the applications hosted in the Data centers. This can be done using VPN or using Leased lines from Telecom providers. Alternately, the application can be made available over the public network (Internet).
  8. Define Roles and Responsibilities for the people who will be working with the Infrastructure and Software applications (Administrators and end Users).
    • While doing all this, the organization will have to ensure the principle of least privilege at all levels. The principle of lease privilege means that each person should be able to do only what their job demands. This means, access to Physical locations, Hardware and Software/Application access will have to be managed using various means such that only people who are authorized (and need to) are able to do specific tasks (in the physical data centers and in the software applications). This is generally referred to Identity and Access Management.
  9. Define and implement Security/Governance related Policies, Standards and Procedures and also ensure Regulatory compliance is in place.
    • While doing all this, an organization should also comply with Regulatory requirements (of the country, state or region in which they operate e.g. GDPR) and Industry requirements (of the industry in which they operate e.g. PCI, HIPPA). Such requirements will run through all the steps outlined above and it is the responsibility of the organization to take care of all that
  10. Identify Scalability needs of applications and ensure sufficient infrastructure is available.
    • In General Software Applications have cyclic demand (whether internally used or Public facing on the internet). When an application is hosted, its peak load hardware requirements are to be identified and made available. When an organization is investing in its IT infrastructure it needs to identify the peak load needs of all its applications and ensure the same is available within its Data Centers
  11. What is Public Cloud?
    • When an organization subscribes to a Public Cloud Provider and becomes their Customer/Tenant, many of the tasks outlined in the previous points are taken care by the cloud provider (such as Setting up Data centers, Investing in Hardware and Software, providing connectivity etc.). The organization may just subscribe to services offered and use them. Based on the need, a Tenant can consume resources and scale up / down based on their cyclic needs
    • As a customer/ tenant of a cloud provider one has to understand what are the services provided and what are the SLAs for the services. Also, there are many things that fall under a shared security model and both the Provider and its Customers/Tenants need to take ownership of Security, Availability etc.
    • Each Cloud Provider has various features which enable all these, which has to be understood by a Customer/Tenant before going ahead and using their services.
You may learn further from my books listed below



Comments

Popular posts from this blog

Create a Free Cloud Account with Oracle Cloud ( Unravel OCI Part 1 - Post 3)