DB2 on Cloud
Total Page:16
File Type:pdf, Size:1020Kb
Abstract for this presentation: Today Cloud Computing is considered as a buzzword in technology stream. Everyone is trying hard to make their lives simpler by introducing cloud in the form of infrastructure (Infrastructure as a Service), platform (Platform as a Service) or software (Software as a Service). Cloud computing is an emerging computing trend and popular business model in which applications, data and IT services are provided to user as a service delivered over high bandwidth network. Let us learn how our IBM DB2 database can be mounted on this demanding cloud computing model to get most out of it. 1 2 What is cloud computing? As per Wikipedia, Cloud computing, also known as on-demand computing, is a kind of Internet-based computing that provides shared processing resources and data to computers and other devices on demand. Today whole world is interconnected through various ways. Individuals are interacting with each other through various ways. News ways of communication and interaction are being invented every day. With this speed of innovation, an organization needs more and more resources and infrastructure to meet the demands of increasing access to the system by various stakeholders. Cloud computing provides a solution to these problems by providing a scalable infrastructure and computing capabilities as a services. It helps an organization to provide more dynamic IT infrastructure that can satisfy resource demands whenever and wherever they arise. 3 After all why cloud computing is getting so much attention in last decade? How it helps your organization? Different organizations are adopting to cloud computing as a solution to their increasing demand issues. Cloud computing made it possible for the people to use the applications from anywhere in the world through an internet instead of using a downloaded softwares on physical computers. Apart from this, cloud provides us the flexibility in usage as well as in the development of an application by providing more dynamic infrastructure. Sharing data over internet support internal as well as external collaboration. It also allows to companies to scale their applications as per the requirements. Upscaling or downscaling the applications on the cloud is just a matter of few clicks for a simple application. By providing so much of flexibility and scalability, cloud helps you to save your money and frees up you from maintaining the hardware and allowing you to focus on other productive tasks. Almost 59$ of organizations found that using cloud make them more productive as compared to the traditional on premise infrastructure. 4 After all why cloud computing is getting so much attention in last decade? How it helps your organization? Different organizations are adopting to cloud computing as a solution to their increasing demand issues. Cloud computing made it possible for the people to use the applications from anywhere in the world through an internet instead of using a downloaded softwares on physical computers. Apart from this, cloud provides us the flexibility in usage as well as in the development of an application by providing more dynamic infrastructure. Sharing data over internet support internal as well as external collaboration. It also allows to companies to scale their applications as per the requirements. Upscaling or downscaling the applications on the cloud is just a matter of few clicks for a simple application. By providing so much of flexibility and scalability, cloud helps you to save your money and frees up you from maintaining the hardware and allowing you to focus on other productive tasks. Almost 59$ of organizations found that using cloud make them more productive as compared to the traditional on premise infrastructure. 5 Graph clearly tells us the rate of change of cost reduction is faster by adopting the cloud computing than traditional IT services. The use of Cloud Computing to the user also potentially means a movement to a pay-as-you-go style billing model which can have different tariffs and contractual obligations compared to traditional IT ownership. These can include minimum usage periods and flexible pricing per usage profiling. 6 7 Depending on the type of data we’re working with, cloud computing is compared in one of the three forms in terms of the security levels and management required: public, private and hybrid Public cloud is basically internet. Service providers use internet to make resources (such as storage, applications etc.) available to public. Public cloud provides best economies of scale and are inexpensive to set up because we do not need to care of setting the hardware. It’s a pay-per-usage model and the only costs incurred are based on the capacity that is used. However public cloud is not suitable option for all organizations. Since resources are shared between the users, it exposes your sensitive data to the general public. A banking application will not put the sensitive data on the public cloud. For such applications, we use Private cloud. Private clouds are data center architectures that is owned by single organizations that provides flexibility, security and scalability. The goal of private cloud is to gain the advantage of the cloud computing architecture by taking the full control over the resources and not allowing service provider to take care of those. Private cloud is not affordable for small organizations with tighter budget constraints. Private cloud works within the firewalls keeping all data-sensitive information hidden from external world. Hybrid cloud is the combination of public and private cloud. It takes advantage of low cost public model and highly secure private architecture to build a new 8 hybrid structure. 8 In January 2016, RightScale conducted annual State of the Cloud Survey of the latest cloud computing trends, with a focus on infrastructure-as-a-service. This is the largest survey on the use of cloud infrastructure and is focused on actual cloud buyers and users, as opposed to cloud vendors. Their answers provide a comprehensive perspective on the state of the cloud today. We highlight several key findings from the survey in this blog post. For the complete survey results Hybrid cloud adoption grew significantly. 77 percent of respondents are now adopting private cloud up from 63 percent last year. As a result, use of hybrid cloud environments has grown to 71 percent. In total, 95 percent of respondents are now using cloud up from 93 percent in 2015. 9 Here is the exclusive comparison of the different cloud usage in last two years. Overall cloud usage has increased from 93% to 95%. Adoption of the hybrid cloud has increased significantly from 58% to 71%. Similarly the private cloud adoption has grown to 77% as compared to previous 63%. 10 11 Pictorial representation of the cloud computing stacks and the services that are handled by the providers and the users. 12 This is a typical application architecture that almost every organization used for building their applications. We have multiple application servers for handling the concurrent read write requests, Cache servers for fast access to the application data. Load balancer for distributing the load equally across the different application server. And lastly the important part database at the bottom. Let’s focus on the database part of this architecture. 13 The standard, tried-and-true method for architecting a highly available database tier in the cloud is to have a single master and one (or more) slave(s) replicating from the master, and to have each of these servers in segregated zones such that they are on separate power, cooling, and network infrastructures. In an ideal world, the capabilities of that master database would suffice for all of the application’s lifecycles, from its infancy, through the growth phase, the maturity/maintenance phase, and then through the end- of-life cycle. Of course we all know this is never the case, as the demands on the database tier fluctuate greatly over time, so a “one size fits all” approach is not really feasible. Thus, we need to find options for scaling the database to accommodate the needs of these different phases of the application lifecycle. 14 While the ultimate goal of database design would allow the automated horizontal scaling of the database tier, the practical implementation of such a solution continues to remain an elusive goal. However, there are design concepts you can follow to allow database scaling to varying degrees, which include both vertical and horizontal scaling of the database tier. In the early stages of an application, when database load is light, a small instance size can often be effectively used for both the master and slave databases. As load increases, the master database can be migrated to a larger instance size, allowing it to take advantage of additional processing power, I/O throughput, and available memory. For database requests that involve complex queries or joins of multiple tables, the additional memory provided by the larger instance types can assist greatly in accelerating the query response. When possible, the working set of a database should be contained in memory as this greatly reduces the disk I/O requirements of the application, and can greatly enhance the application’s overall performance. I highly recommend implementing one or more slave databases in addition to the master database, regardless of the phase of an application’s lifecycle. The presence of multiple slave databases increases the overall reliability and availability of the application, as well as enabling horizontal scaling of the database using a proxy mechanism for database reads. 15 There’s a big change happening in the world of databases. The industry is buzzing about Database-as-a-Service (DBaaS), a cloud offering that allows companies to rent access to these managed digital data warehouses.