Abstract for this presentation: Today 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 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 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. For enterprise customers, the service offers another way to streamline their operations. As more companies (large and small) recognize the value of DBaaS, new services, providers, and features will transform the way users request and manage databases

16 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. For enterprise customers, the service offers another way to streamline their operations. As more companies (large and small) recognize the value of DBaaS, new services, providers, and features will transform the way users request and manage databases. Database management has changed a lot over the last decade or two. Years ago, companies ran proprietary databases on “bare metal” servers, almost always on-site. They had to dedicate resources like space, people, budget, and time to purchase, house, install, network, repair, maintain, and secure hardware, operating systems, and databases. The process of setting up a database back then took weeks, even months. Having gotten rid of racking and booting servers, companies are now comfortable taking the next step—going entirely hands-off to let automation run the database from top to bottom. They get a database to connect to (and use to store and query data), but nothing else. In this scenario, the system is a fully managed “service,” hence the DBaaS moniker, offered by an external company, by IT for its internal customers, or a combination of the two. Many of today’s businesses want to reduce repetitive manual tasks and eliminate configuration errors or security breaches, but they don’t want to

17 spend time fiddling with technical details. The old way of managing databases required a lot of heavy lifting. IT personnel had to learn, manage, and repair nearly all aspects of every system.

17 18 19 Let’s narrow down our concentration to the important topic of this presentation that is database in cloud. There has been this question that has been discussed for the long time that is how I can understand of cloud is suitable architecture for my organization or not. Or what are some popular use cases of the databases using cloud computing. So here are some of the basic use cases that we can implement to make our database available on cloud.

20 21 We have different cloud choices by which we can implement DB2 on cloud. Few of them are mentioned below. In this presentation we are going to focus on 2 of these. IBM BlueMix and Amazon EC2

22 IBM BlueMix is IBM’s cloud platform as a service solution. It is the platform that allows you to accelerate innovation on either sides of firewall. Unlike other cloud vendors, BlueMix allows you to build, deploy and manage many applications with ease and without any worry about infrastructure. It gives you choice to use any programming language or for that matter any platform that you are comfortable with. It provides services that are not restricted to IBM but also the third party providers. Scaling your application is just a matter of clicks. It is the best known platform for hybrid computing environment.

23 Lets get the glimpse of the services provided by the IBM BlueMix. Although our focus is going to be on using DB2, there are few data and analytics related services that are provided by the IBM BlueMix.

24 IBM BlueMix host DB2 on the SoftLayer global cloud infrastructure. It provides all the features of the on-premise DB2 deployment without any cost, complexity and risk of managing the infrastructure. Newest features such as IBM BLU which provides in-memory columnar data organization are also available on the cloud hosted IBM DB2. We can also use the security features such as data encryption on the cloud to secure our data. DB2 on cloud is optimized for the OLTP applications and is fully configurable as per the requirements. DB2 on cloud helps us to reduce the time to value for application development and also makes DBA’s life easier so that they can focus on the other interesting tasks in an organization.

25 26 As we have discussed before, DB2 on cloud provides the same control over the data as on-premise DB2. It also provides us the services that otherwise are need to build in on-premise database configuration. It actively monitors and report any issues encountered in running databases. It also meets all the security standards by maintaining a firewall on the servers It ensures the continuity of your application. Like while upgrading the software or applying the software patches it makes sure that database is available for the application. Also, it installs or upgrades only the patches that are compatible with the current application.

27 DB2 on cloud also helps us to perform the housekeeping tasks on the database such as regular backups of the databases, create and maintain high availability configurations whenever required. DB2 on BlueMix works on the on-demand subscription basis. Licensing makes it a perfect suit for new applications that manage data which is born in the cloud only. Short term projects that are used of the performing proof of concepts in a particular business line. It can also be used for creating off- premises setup. It also helps us to push the data globally on different data centers and makes it available in different zones whenever available.

28 29 30 We can also use DB2 on Amazon AWS cloud

31 32 33 34 35 The rise of cloud have led to some rethinking about how we do database design for cloud-based systems. While many hold on to the belief that databases in the cloud are the same as databases in the enterprise, the reality is that both the consumption model and the platform are different. In the case of public cloud, there are few obvious things that need to be consider: In the public cloud platform, most of the time resources are shared between multiple users. Resource sharing can result into the under utilization or the over utilization. Special care needs to be taken. Data and user who are using data are not collocated. Databases are generally remotely hosted on different geographical zones. So the movement of data across the application (from physical database to application) is the point to consider. Database may be widely distributed. Some part of it might be on-premise, some might be on cloud etc. or data might be present on different clouds. Multi-cloud architecture is the new norm and design of a database should consider this.

36 37 38 39 40 41 Prasad Pande is a Computer Science graduate student at University of Texas at Dallas. He worked with ACI Worldwide Inc for more than 2 years as a IBM DB2 database database administrator. He has experience in supporting IBM DB2 in highly transnational financial applications.

Prasad's interest lies in exploring and working on the big data technologies. He enjoys sharing his knowledge and experience through his posts at www.rideondata.com. He also won 3rd prize at DB2's Got Talent 2014.

42