About Me
Facebook
Facebook
Linked In
Linked In
Twitter
Twitter
YouTube
YouTube
Google +
Google +

September 23, 2015

IBM Bluemix Application Architectures


Introduction
IBM® Bluemix delivers quick and easy cloud capabilities to deploy and maintain your web application, with minimal hassle and overhead.
The IBM Bluemix application architectures and accompanying walkthroughs will allow you to confidently apply industry-adopted standard architecture capabilities into your application deployments.
Overview
There are two main application included in IBM Blue Mix architectures.
v  Web App Hosting
v  Hybrid Data Storage
Web App Hosting architecture
This paper describes vendor neutral best practices for hosting web applications using cloud computing. The architectural elements described in the document are needed to instantiate a web application hosting environment using private, public or hybrid cloud deployment models.
At a high level, Web application hosting supports server applications which deliver web pages containing static and dynamic content, over HTTP or HTTPS. The static content is typically represented by "boilerplate text" of a web page and more specialized content held in files such as images, videos, sound clips and PDF documents. Dynamic content is typically built in response to a specific request from the client, based on content in the request and content derived from a database connected to the web application.
The core component for hosting web applications is the Web Application Server, but to produce a secure, reliable, high performance architecture a number of other components are required, such as firewalls, load balancers, databases, file repositories and content delivery networks. In addition, lifecycle management, operations management, and governance need to be considered for these components. How these functions are accomplished will differ depending on where the components are deployed and how integration into management systems is supported.

When the cloud service is an Infrastructure as a Service (IaaS) offering, all the elements of the architecture will need to be individually acquired or instantiated. In some cases, the IaaS cloud service provider is able to offer some of the elements in a ready-to-run form.
For the case where the cloud service is a Platform as a Service (PaaS) offering, it is often the case that many elements of the architecture are available as part of the offering and only configuration and deployment is required.
The cloud deployment model affects the locations of many of the components. For Public cloud deployment, the elements are instantiated in the public cloud. For Private cloud deployment, the components are instantiated within the private cloud, either on-premises or within a privately managed environment made available by a cloud service provider. For Hybrid cloud deployment, there is an element of choice of where to locate each component, either in a public cloud environment or on-premises, with the choice typically governed by security and performance considerations.
Please refer to the CSCC Practical Guide to Cloud Computing and Security for Cloud Computing: 10 Steps to Enure Success for a thorough discussion on deployment and security considerations for cloud computing including recommendations on how best to address specific requirements.
Deploy cloud-native web apps with minimal hassle and overhead using Bluemix. Bluemix provides open runtimes, DevOps tools, and integrated services to simplify the development, testing, and deployment of apps. Also, Bluemix-hosted apps access a cloud infrastructure for the enterprise that is scalable, powerful, available, and secure.

Components
v  DNS Server – Domain Name System (DNS) Server resolves the text URL for a particular web resource to the TCP-IP address of the system or service which can deliver that resource to the client.
v  Firewall – A Firewall is a system designed to control communication access to or from a system - aiming to permit only traffic meeting a set of policies to proceed and blocking any traffic which does not meet the policies. Firewalls can be implemented as separate dedicated hardware, or as a component in other networking hardware such as a load-balancer or router or as integral software to an operating system.
v  Load Balancer – Load Balancers distribute network or application traffic across many resources (such as computers, processors, storage, or network links) to maximize throughput, minimize response time, increase capacity and increase reliability of applications. Load balancers can balance loads locally and globally. Considerations should be made to ensure that this component is highly available and is not a single point of failure.
v  Content Delivery Network (CDN) – Content Delivery Networks are geographically distributed systems of servers deployed to minimize the response time for serving resources to geographically distributed users, ensuring that content is highly available and is provided to users with minimum latency. Which servers are engaged will depend on server proximity to the user, and where the content is stored or cached.
v  Cache – Caches store information temporarily needed to fulfill a request by the Web Application Server, including session data and other content. The purpose of the cache is to reduce the latency in responding to a request from a client.
v  File Repository – File repositories are devices or applications that store information, data, etc. in the form of files. Access to the file repository generally includes the ability to store, retrieve, delete and search the repository for a particular file. File repositories can use network storage to provide access to shared files.
v  Web Application Servers – Web Application Servers offer web server functionality and integrated application server functionality if it is needed. Web servers are systems that return resources (web content and images for example) in response to an HTTP request and may be configured to handle requests for multiple IP addresses and/or domains. An integrated application server hosts the program logic used to generate dynamic web content. This can involve retrieval of data from files, databases, http-services, sensors, and other sources of data as well as programmatic generation of new data or information. Web Application servers may support clustering, pooling and other high availability and scaling configurations including auto scaling – instantiating and removing application server instances as demand requires.
v  Web servers and application servers can also be instantiated in a 3-tiered setup with separated rather than integrated Web servers and application servers. In that case, there would be separate pools of Web servers and application servers connected via load balancers. The application server would be responsible for accessing databases or other systems.
v  User Directory – User Directory contains user IDs and credentials needed to validate that the user is allowed to access the information or applications being requested in the Web servers and application servers. The directory can be accessed by web servers, applications servers, databases or any other elements used in the web application.
v  Database – Databases are structured sets of data. Typically databases are kept on storage devices connected to computers and/or networks. Replicated databases are a strategy for highly available and reliable systems where data is copied frequently between 2 or more databases, eliminating bottlenecks and single points of failure.
Hybrid Data Storage architecture
Bluemix provides data storage and integration services to develop and deploy hybrid IT architectures — with components in both cloud and non-cloud environments. Enabling secure connectivity among apps and data sources on-premises or in the cloud, Bluemix-hosted apps have access to cloud infrastructure that supports enterprise requirements such as scalability, performance, availability, and security.
v  Bluemix services Start developing your web app with compute technologies – Cloud Foundry, IBM Containers, or OpenStack Virtual Machines. Building your app on these provides direct access to the robust library of Bluemix services.
v  Continuous Delivery Pipeline automates the building, testing, and deployment of apps from your source-code repository to Bluemix.
v  Auto-Scaling automatically increases or decreases the available compute capacity of apps based on your custom policies.
v  SQL Database - Bluemix provides a variety of data services, specific to your app needs. The SQL Database provides a provisioned, relational database to handle your demanding transactional workloads.
v  Cloudant NoSQL Database runs as an operational data store, optimized to handle the high number of concurrent activities required by today's cloud-native apps.
v  Single Sign On provides policy-based authentication services to Node.js or Liberty for Java apps, allowing users to sign in through popular social sites or custom user registries.
v  Data Cache offers in-memory storage to increase the performance and scalability of apps, while lowering overall latency.
v  Object Storage, built on OpenStack Swift, provides access to a distributed, highly-available managed object storage that can be integrated directly into apps.
v  Monitoring and Analytics provides instant visibility and transparency into performance and health without the need to learn or deploy other tools.
v  Secure Gateway Service brings Hybrid Integration capability to your Bluemix environment. A remote client is provided to enable secure connectivity.

0 comments :

Post a Comment

Designed By AMEER BASHA G