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