Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsoft Azure solutions - Whitepaper


Published on

Microsoft Azure solutions - Whitepaper.
Case study on Azure Services, SQL Azure, Cloud Services, Application insights, Architecture approach,

Published in: Technology
  • Be the first to comment

Microsoft Azure solutions - Whitepaper

  1. 1. 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
  2. 2. CLOUD SOLUTIONS 1 Experion Technologies USA Inc. 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.
  3. 3. CLOUD SOLUTIONS 2 Experion Technologies USA Inc. 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.
  4. 4. CLOUD SOLUTIONS 3 Experion Technologies USA Inc. 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:
  5. 5. CLOUD SOLUTIONS 4 Experion Technologies USA Inc. 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.
  6. 6. CLOUD SOLUTIONS 5 Experion Technologies USA Inc. 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
  7. 7. CLOUD SOLUTIONS 6 Experion Technologies USA Inc. 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.
  8. 8. CLOUD SOLUTIONS 7 Experion Technologies USA Inc. 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
  9. 9. CLOUD SOLUTIONS 8 Experion Technologies USA Inc. 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
  10. 10. CLOUD SOLUTIONS 9 Experion Technologies USA Inc. 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.
  11. 11. CLOUD SOLUTIONS 10 Experion Technologies USA Inc. 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 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.
  12. 12. CLOUD SOLUTIONS 11 Experion Technologies USA Inc. Tel: (409)-422-0044, (214)-396-3150 Appendix Azure features, services and common uses
  13. 13. CLOUD SOLUTIONS 12 Experion Technologies USA Inc. Tel: (409)-422-0044, (214)-396-3150 Scaling Applications
  14. 14. CLOUD SOLUTIONS 13 Experion Technologies USA Inc. Tel: (409)-422-0044, (214)-396-3150 Enterprise Mobility