Date post: | 21-Mar-2017 |
Category: |
Documents |
Upload: | raj-chaudhary |
View: | 190 times |
Download: | 0 times |
Migrating from IaaS to PaaSRavi Bajaj
Head Product Engineering – ZingHR
Raj Chaudhary
Cloud Solution Architect - ZingHR
Agenda• Introduction
• The Legacy - It matters
• Embracing the Cloud - IaaS
• The next step- PaaS
• Experiences – Its’ not Magic
• Plan the journey - Treading with Caution
• Live Demos
• Reach out
About ZingHRZingHR is an integrated Hire to Retire HCM Cloud Platform
ZingHR product functionalities include Manpower Planning, Recruitment, On boarding, Attendance Management, Payroll & Statutory Compliance, Expense Management, Performance Appraisals, Training and Separation Management
ZingHR Caters to 350+ organizations adding up to 400,000+ end-users with 100,000+ users using our application daily
Legacy and the Numbers• 20 Feature rich Modules
• Over 2,000 man months of development
• VB, ASP to MVC and latest . Net frameworks
• 30+ Physical Servers at multiple IDC’s
• Web farm deployments
• Customer specific Load balanced environments
• High OPEX
Embracing the Cloud
Here starts the Confusion• Business says Cost Reduction ??
• Market Players – Amazon or Azure or Google??
• Deployment – IaaS or PaaS ??
• How will the Application Architecture adapt to cloud ??
• How do we go about it ??
• Do we need a consultant ??
IaaS was the easiest natural transition route for us to begin with
Advantages & Challenges• Reduced number of physical servers
• Biggest Gain was Elasticity
• Number of Servers could be increased or decreased based on need
• Cost Reduction of over 25%
• Architecture Changes for Session Management – InProc to SQL
• Maintenance efforts were still the same
• Real time scalability still not possible
Comparing deployment models
PaaS Advantages• Designed for Scalability
• The OS and all services are managed for you
• Access to an expanding list of services• Existing Services - Service Bus, Active Directory, Media
Services, Push Notifications• New Services - DocumentDB, Azure Search, Machine Learning• SaaS - SendGrid, Twilio
• More control over Application diagnostics
• Deploy on Staging and easily switch between Production
• Seems like a no-brainer as the benefits become clear
Initial Shockers – App Migration• Migrated one module that was
already in MVC using Framework 4.0
• All hell broke loose, app crashes, code breaks, etc.
• Took a week to identify issues • Changes for automated load balanced
environment• Session State• Output Cache
• Upgrade Framework 4.0 to 4.5• Document Management using File
System
Initial Shockers – Database Migration• Determine if your database is compatible –
which in all probability will be no
• Fix database compatibility issues
• Migrate the Compatible database
• Suggestions• Fill factor• Cross database queries• Tables without Primary Keys / Clustered Indexes
PaaS Essentials• Plan your architecture well
• Make your application Multi tenant ready if not already
• Code for Scale Out instead of Scale Up
• Code for High Availability
• Automate your development and deployment
• Test in Production environment
• Deploy often, Test often
Plan your journey• Make a detailed plan and list down all action
items
• Channelize your own resources – Train internal dev team
• Take Help from Microsoft Evangelists – We managed to get their full support at all stages and they actually hand-hold you
• Hire a Cloud Architect or a Partner or have a dedicated internal resource who would focus only on PaaS Migration
PAAS Deployment Model
Azure Web Apps• Web Apps Gallery
• Select from an ever-growing list of existing web application templates. Leverage the best of the OSS app community with one-click installation of packages such as Wordpress, Joomla and Drupal. Get your application development process start right by leveraging frameworks like .NET MVC, Django and CakePHP
Azure Web Apps• Continuous Integration
• Set up continuous integration and deployment workflows with VSO, GitHub, TeamCity, Hudson or BitBucket – enabling you to automatically build, test and deploy your web app on each successful code check-in or integration tests
Azure Web Apps• Deployment Slots
• Implement Staged Deployment to verify your code in a pre-production environment which is identical to your production web app in Azure App Service. When satisfied, release a new version of your App with zero downtime by performing a swap operation
Azure Web Apps• Testing in Production
• Take Staged Deployments to the next level and perform A/B testing to verify your new code with a configurable fraction of your live traffic
Azure Web Apps• Webjobs
• Run any program or script on Web Apps VMs. Run jobs continuously or on a schedule and scale to run on multiple VMs. Use the Azure WebJobs SDK to integrate with Azure Storage or Service Bus
Azure SQL DB• Self Managed
• Easy provisioning and deployment
• Auto high-availability and fault tolerance
• Self-maintaining infrastructure; self-healing
• No need for server or VM administration
• Business-ready SLAs
Azure SQL DB• Developer Agility
• Build cloud-based database solutions on consistent relational model
• Leverage existing skills through existing ecosystem of developer and management tools
Azure SQL DB• Service Tiers
• Basic: 5 DTUs, 2 GB, 7 days PIT Restore
• Standard: Upto 100 DTUs, 250 GB, 14 days PIT Restore, Standard Geo-Replication
• Premium: Upto 1750 DTUs, Upto 1 TB, 35 days PIT Restore, Active Geo-Replication
Azure SQL DB
Azure SQL DB
Azure SQL DB• Dynamic Scaling
• Geo-Replication
Azure Redis Cache• Redis Cache
• Based on the popular open-source Redis cache
• High throughput (150k / sec on C6 Standard)
• Consistent low latency (< 100 ms)
• High performance (StackExchange)
• Secure (HTTPS)
Azure Redis Cache• Easy to use and manage
• Provision a cache in minutes using the Azure preview portal and start using it
• If you've used Redis before, you already know how to use Azure Redis Cache
• Easily monitor the health and performance of your cache through the preview portal
• Fully managed by Microsoft
Azure Redis Cache• Service Tiers
• Basic: Single node, multiple sizes
• Standard: Two node, master/subordinate, multiple sizes. Includes 99.9% SLA and replication support
• Premium: Preview, Better Performance, Data Persistence, Redis Cluster, Virtual Network
Azure Redis Cache• ASP.NET Integration
• Session state provider
• Output cache provider
• Dynamic Scaling
• Performance Monitoring
Azure Redis Cache
Azure Redis Cache
PaaS Takeaways• Embrace & plan for failures - fail early, fail
often• Take advantage of phased deployments (IaaS
+ PaaS if required)
• Commitment - dedicated internal resource to drive PaaS
• Training for dev team is essential!
PaaS Takeaways• Database readiness for Azure SQL DB
• SQL Server Migration Wizard
• SSMS
• Application readiness for Azure Web Apps
• File System - move to Blob Storage
• Session State - In Proc to Redis
• Output Cache – In Proc to Redis
ReferencesRelated references for you to expand your knowledge on the subjectwww.azure.com
http://searchcloudcomputing.techtarget.com/tip/When-IaaS-wont-cut-it-Planning-a-transition-to-cloud-PaaS
http://stackoverflow.com/questions/16061705/how-hard-to-migrate-from-iaas-to-paas-on-azure
technet.microsoft.com/en-in
aka.ms/mva
msdn.microsoft.com/Developer Network
Tell us what you think Help us shape future events by sharing your valuable feedback.
Scan the QR code to evaluate this session.
< QR Code will be given 2 days before the Conference >
Thank you
Twitter: @ravibajaj1971 Twitter: @junoondotme
Follow us online