microsoft azure solutions - whitepaper

14
CLOUD SOLUTIONS Microsoft Azure ABSTRACT Cloud based Business model is a new trend, Experion Technologies delivers best to adopt these technologies such as Microsoft Azure. This document gives an overview of the cloud business. Binu Bhasuran Microsoft MVP 2010-2012

Upload: binu-bhasuran

Post on 17-Aug-2015

201 views

Category:

Technology


2 download

TRANSCRIPT

CLOUD SOLUTIONS

Microsoft Azure

ABSTRACT Cloud based Business model is a new trend,

Experion Technologies delivers best to adopt these

technologies such as Microsoft Azure. This document

gives an overview of the cloud business.

Binu Bhasuran Microsoft MVP 2010-2012

CLOUD SOLUTIONS

1 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Executive Summary

During last year, leading cloud providers delivered over dozens of services which ensured that

cloud based solutions are more reliable and cost-effective. Microsoft has become one of frontline

runners in cloud based services. Company has updated its vison to “Cloud first, mobile first” in

recent year. This has helped industry to set new standards for cloud based business such as

integrated mobile services which can take care of any mobile based enterprise solutions, storage

solutions which enables easy disaster recovery.

Experion Technologies provided a range of services and support for its customer over the year to

migrate or adopt a cloud based business model. Company has delivered a fully-fledged cloud

based solution to one of the premium private banking industry in India, which handles 1000+

concurrent users and over 5 million transactions per year.

Cloud Computing

Cloud computing provides a modern alternative to the traditional on-premises datacenter. A

public cloud vendor is completely responsible for hardware purchase and maintenance and

typically provides a wide variety of platform services that you can use. You lease whatever

hardware and software services you require on an as-needed basis, thereby converting what had

been a capital expense for hardware purchase into an operational expense. It also allows you to

lease access to hardware and software resources that would be too expensive to purchase.

Although you are limited to the hardware provided by the cloud vendor, you only have to pay for it

when you use it.

Microsoft Azure

Microsoft has deployed Azure datacenters in 19 regions across the globe from Melbourne to

Amsterdam and Sao Paulo to Singapore. Additionally, Microsoft has an arrangement with

Via21Net, making Azure available in two regions in China. Only the largest global enterprises are

able to deploy datacenters in this manner, so using Azure makes it easy for enterprises of any

size to gain the ability to deploy their services close to their customers, wherever they are in the

world. And you can do that without ever leaving your office.

Azure provides the flexibility to quickly set up development and test configurations. These can be

scripted, giving you the ability to spin up a development or test environment, do the testing, and

spin it back down. This keeps the cost very low, and maintenance is almost nonexistent.

CLOUD SOLUTIONS

2 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Another advantage of Azure is that you can try new versions of software without having to

upgrade on-premises equipment. For example, if you want to see the ramifications of running

your application against Microsoft SQL Server 2014 instead of Microsoft SQL Server 2012, you

can create a SQL Server 2014 instance and run a copy of your services against the new

database, all without having to allocate hardware and run wires. Or you can run on a VM with

Microsoft Windows Server 2012 R2 instead of Microsoft Windows Server 2008 R2.

Context Sensitive Solutions with Azure Platform

Microsoft has come up with new solution offering called Platform as a Service (PaaS) which

offers tools, building blocks, monitoring tools which leverages faster development of a cloud

based solution. Using PaaS services we could monitor critical behavior application and fine tune

it accordingly. This solution provides best platform for high performance application development

where response time is critical.

PaaS: Platform as a Service

With PaaS, you deploy your application into an application-hosting environment provided by

the cloud service vendor. The developer provides the application, and the PaaS vendor

provides the ability to deploy and run it. This frees up developers from infrastructure

management, allowing them to focus strictly on development.

Azure provides several PaaS computing offerings, including Azure Websites and Azure Cloud

Services (web and worker roles). In either case, developers have multiple ways to deploy their

application without knowing anything about the nuts and bolts supporting it. Developers don’t

have to create VMs, use Remote Desktop (RDP) to log into each one, and install the application.

They just hit a button (or pretty close to it), and the tools provided by Microsoft provision the VMs

and then deploy and install the application on them.

Azure Mobile Services

Windows Azure Mobile Services makes it incredibly easy to connect a scalable cloud

backend to your client and mobile applications. It allows you to easily store structured data

in the cloud that can span both devices and users, integrate it with user authentication, as well as

send out updates to clients via push notifications.

CLOUD SOLUTIONS

3 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

With Mobile Service, it is easy to rapidly

build engaging cross-platform and native

apps for iOS, Android, Windows or Mac,

store app data in the cloud or on-

premises, authenticate users, send push

notifications, as well as add your custom

backend logic in C# or Node.js.

Easily authenticate your users with Active Directory,

securely connect to on-premises resources like

SAP, Oracle, SQL Server and SharePoint and

leverage cross-platform frameworks like Xamarin

and PhoneGap to build enterprise-grade apps for

your employees.

Business Case - Banking Solution with Mobile Services

Leading private bank in India having a network over 1000+ branches across the country. Bank

carries a business legacy over 80 years .The business model primary focus on house hold and

medium scale lending customers resides in both urban and rural areas. The bank focuses on

rural areas because of the economical conditions in certain sectors of the country such as

farming. Many of these areas does not have basic infrastructures such as reliable electricity and

internet connection. This situation makes banking at these areas challenging. As per business

analysis, they were able to make 45% business growth in such sectors. This scenario makes an

absolute requirement of a solution which works seamlessly on all operating conditions.

A Team of Microsoft Architects from Experion was called for proposing a solution for this

particular business problem as their current online web application breaks down during work

hours which cause significant business impact during peak hours.

The team has analyzed the fact that current IT solution fulfills all business requirements but it fails

at following points:

CLOUD SOLUTIONS

4 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Challenges

1. On-premises deployment seals capacity scaling

2. Online application will not be functional if there is a disturbed internet connection or power

3. No Disaster recovery

4. Application and Data Security Risks

The system architecture team was actively considering a cloud based solution due to point 1, 3

and 4. This could be achieved using any cloud solution provider. But they were unsure about

point 2. The team consulted with Microsoft’s architecture team and MVPs to propose an offline –

online system which works on cloud platform. The answer was “Azure Mobile Services “, which

was announced in year 2012.

The platform offers solution for handling offline – online data handling and store backend in the

cloud. The mobile service is a PaaS offering from Microsoft which allows an application to scale

its resources when there is a need. This was a breakthrough for the architecture team. The

solution seemed ideal for the current problem. It can address disturbed internet connection with

offline data handling. When the application goes offline, it continues to work in offline mode

without connecting to its backend and when the system is back online, it can synchronize

changes to the backend and vice versa.

Offline Application

Create robust apps that remain useful when there are

network issues, so users can create and modify data

even when they are offline. Improve app responsiveness by

caching server data locally on the device. With Mobile Apps

you can easily provide a native sync experience across your

iOS, Android and Windows apps.

Auto- Scale Environment

The bank operates on a fixed time schedule and transactions will be closed by end of the day.

The team found out that, during opening and closing hours of business application usage is at its

peak. Current IT system’s on-premises server hits over 95% of CPU during a period of 1.5 hours.

During that period application response is poor, and sometimes results in a total breakdown.

CLOUD SOLUTIONS

5 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

The mobile service provides auto-scale feature which allows

application to increase its resources based on certain parameters

such as CPU, API calls etc. Auto-scaling will be an ideal solution for

the high CPU usage during peak hours. System can scale

automatically based on the configuration specified in Azure control

panel and scales-down once usage is back to normal.

Easily configure

built-in auto

scale for both

Mobile Apps and Notification Hubs to match

your app needs. With auto scale you can spin

up/down resources based actual usage and

pay only what you need. With access to the

global network of Microsoft managed data

centers, allowing you to reach users anywhere

in the world.

Scalable Database Solution

The current IT system uses heavy database transactions and reporting during peak hours. This

spikes Disk IO usage and CPU in database server. High resource usage will cause overall

system availability and long process queues will be formed in application server and this will

result in continuous time-out errors for end users. The current load and static resourcing model

for database server results in complete system failure during that period. The current system

uses SQL Server 2008 R2 Standard edition to handle database requirements.

SQL Azure

Microsoft Azure SQL Database is a relational database-as-a-service that delivers predictable

performance, scalability, business continuity, data protection, and near-zero administration

to cloud developers and solution architects. This is the technical library for Azure SQL Database

Developers building software-as-a-service (SaaS) applications can leverage SQL Database to

provide flexibility to support both explosive growth and profitable business models. For workloads

with unpredictable database resource consumption, the elastic database model provides you

CLOUD SOLUTIONS

6 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

with the ability to pool resources to be leveraged among a group of databases. Instead of

overprovisioning to meet peak demand, you can use an elastic database pool to let hundreds or

thousands of databases leverage resources within a budget that you control. You can drive cost

efficiencies with a purchase model that allows you to maintain control over price and performance

across a group of databases.

Backed by the power and presence of Azure, high-throughput

applications can take advantage of the latest version which

delivers 25% more Premium database power. Additionally,

internal tests over 600 million rows of data show up to 100x

query performance improvements when applying the In-memory

columnstore technology. The SQL Database service tiers enable

applications to easily scale-up or down predictable performance

on each database.

The architecture team proposed SQL Azure which is another PaaS solution from Microsoft to

handle database operations. It provides high-throughput and auto-scale feature. According to the

current business scenario, scaling the database layer will be ideal as load factor is particular to a

time slot. Azure mobile services works seamlessly with SQL Azure as both these services

belongs to Azure PaaS platform. Apart from this, SQL Azure supports improvisation of database

throughput on demand. This can be quiet handy during unexpected load situations. The

proposed solution considered such conditions while selecting database technology.

CLOUD SOLUTIONS

7 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Backup and Disaster Recovery

Enjoy near-zero maintenance through a self-managed service.

Removes virtually all infrastructure

maintenance with SQL Database which provides

automatic software patching as part of the service.

Meanwhile, built-in system replicas using the quorum writes

technique help deliver inherent data protection, database

uptime and system stability which means less hassle for

developers and architects. System replicas are

automatically moved to new machines which are

provisioned on-the-fly as old machines fail.

Data loss prevention (DLP) and disaster recovery was one of the major concern in current IT

system. They were tightly coupled in on-premises hardware systems. There was no failover

clusters were defined and backup process was not automated. This puts considerable risk on the

current system.

Azure PaaS services provide built-in recovery systems in place which provides a range of options

for restoring to a previous state or an automatic failover.

Application and Data Security

SQL Database offers a portfolio of security features to help you further meet organizational

or industry-mandated compliance policies.

Streamline compliance-related tasks and gain knowledge

about activities taking place within your database with

Auditing which tracks and logs events that occur on your

database. You can also implement policies at the

database level to help limit access to sensitive data with

Row-Level Security (preview), Dynamic Data Masking

(preview), and Transparent Data Encryption (preview).

Additionally, SQL Database is verified by key cloud

CLOUD SOLUTIONS

8 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

auditors as part of the scope of key Azure compliance certifications and approvals such as

HIPAA BAA, ISO/IEC

27001:2005,FedRAMP and E.U. Model Clauses.

Monitoring

Constant monitoring of any production system is critical. Since there was no such system in place

for the current IT system, customer was not able to inform about issues they were facing before it

leads to a complete breakdown.

The architecture team was keen to use a telemetry framework such as Google Analytics. But the

best part is, Azure PaaS already provides a best solution which can be easily integrated with

mobile services. The product is called “Application Insights”. This solution offers features to

detect issues, diagnose crashes and track usage in your mobile apps and web apps on Azure, IIS

or J2EE.

Set up web tests to ensure your service is available

and responsive. Set up threshold based alerts on

metrics and performance counters. Get alerts in real time

by email.

Analyze request load, server performance counters

and response times across dependencies. Get multi-

dimensional analyses over standard metrics or define your

own. Diagnose exceptions, mobile app crashes and failed

requests, correlating with events and traces.

Understand how your app is being adopted and where your

users are coming from. Add custom instrumentation with

CLOUD SOLUTIONS

9 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

uniform API across platforms. Trace user paths through scenarios to see where you should invest

next.

Development

The architecture team proposed a Windows Application which will use WPF as User interface

framework. This was done to handle offline support when internet connectivity is limited. Azure

Mobile service SDK provided a quick start for this project as Microsoft handled basic features in

the SDK itself, such as Online/Offline switching, maintaining integrity of data when app works in

online-offline mode, load balancing, REST API support etc. Team was able to setup an offline

feature with a single table within 1 hour. It was like adding nitro boost in a sports car which is

already fast.

Deployment

Since it is a windows application, deployment to whole bank branches will be a major task for IT

support team. This came up as a challenge for the development team to minimize deployment

cost. The architecture team proposed Microsoft’s “ClickOnce” deployment platform as a solution.

The framework was released with .NET 3.5 as an integrated solution with Visual Studio.

Application and its dependencies can be published from Visual Studio.

The framework generates a manifest file (an xml file) which hold details about application files (s),

its versions and its dependencies. Since all files holds a version information in manifest, it is

possible to release updates / notify updates to end users. This feature was a breakthrough for

architecture team to manage the application deployment remotely.

The next challenge was to deliver deployment package to end user without any disturbance.

Since release will go live to all branches in same time and day, it was obvious that all users will try

to update application at the same time. This can significantly increase network traffic to the

deployment server. The architecture team proposed Azure Web Apps as a solution for this. The

Web App is a PaaS service from Azure. The team has configured 5 Instances for auto scaling

where CPU threshold was set to 60%. Which means Service will maintain CPU percentage not

higher than 60% by Turing on and off these instances. This auto-scaling solution saves 80% of

cost resource. For team, this turned out to be a best solution for the problem.

CLOUD SOLUTIONS

10 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Web Apps

Create and deploy mission critical Web Apps that scale with your business. Azure App Service

lets developers rapidly build, deploy and manage powerful websites and web apps. Build

standards-based web apps and APIs using .NET, NodeJS, PHP, Python and Java. Deliver both

web and mobile apps for employees or customers using a single back-end. Securely deliver APIs

enabling additional apps and devices.

Azure App Services is optimized to provide

availability and automatic scale on a global

datacenter infrastructure. Easily scale applications up

or down on demand, with high availability provided

within and across different geographical regions.

Replicating data and hosting services in multiple

locations is quick and easy, making expansion into

new regions and geographies as simple as a mouse click.

Use your existing skills to code in your

favorite language and IDE to build APIs and

apps faster than ever before. Access a rich gallery

of pre-built APIs that make connecting to cloud

services like Office 365 and Salesforce.com easy.

Use templates to automate common workflows to

accelerate your development. Experience

unparalleled developer productivity with continuous integration using Visual Studio Online and

Github and live-site debugging.

Conclusion

Today the cloud computing has reached to an astonishing point where developers could build

apps which are reactive to the condition. Before cloud computing, it was almost impossible or lot

of cumbersome tasks were involved to bring such a capability in any application.

Experion technologies holds a specialized division for cloud infrastructure management and

development. Company is constantly building competency in latest cloud based solutions which

will enable customers to achieve high performing and available application without burning

significant cost factors.

CLOUD SOLUTIONS

11 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Appendix

Azure features, services and common uses

CLOUD SOLUTIONS

12 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Scaling Applications

CLOUD SOLUTIONS

13 Experion Technologies USA Inc.

www.experionglobal.com Tel: (409)-422-0044, (214)-396-3150

Enterprise Mobility