Sunday, October 1, 2017

[AZURE 70-534 - Cheat Sheet and Exam Notes Part-7] Architect an Azure Compute infrastructure

  1. Virtual machine Series
    1. There are two families are VM Current Generation and Previous Generation 
    2. VM Family
      Previous Generation
      Current Generation
      General Purpose

      D1-4 – v1
      A0-7 – Standard


      B-series (in preview)
      A0-4 Basic
      Av2 Standard
      D2-64 v3 latest generation
      D2s-64s v3 latest generation
      D2-5 v2 limited-time special pricing
      D1-5 v2
      DS1-S5 v2
      Memory Optimized
      D11-14 – v1

      E2-64 v3 latest generation
      D11-14 v2 limited-time special pricing
      D11-15 v2
      DS11-S15 v2
      G-series
      M-series
      Compute Optimized
      None
      F-series
      High Performance Compute

      A8-11
      H-series
      Storage Optimized
      None

      L-series

      GPU Optimized
      None

      NC-series

      NCv2 series

      NV-series

      ND-series

    3. A Series -  Entry Level General Purpose , DEV, test , compute
      1. 300-500 IOPS /data drive max 16 data drive 
      2. Options are A0-A11 
      3. A0-A4 are very generic and A7-11 are HCP
    4. D Series - General Purpose Compute , SSD based , Production class
      1. IOPS 500/disk,  2-32 data disk supported 
    5. DS Series - Very High IOPS workload 
      1. 3200 - 50k IOPS
    6. DV2 Series - Next Generation Compute 
    7. F Series -Compute Optimized 
    8. G Series -  Memory and Storage Optimize 
    9. H Series - Next Generation High Performance Computing 
    10. L Series - Storage Optimize mainly used for application like large databases 
    11. N Series GPU Enabled Graphics Optimized  
  2. Premium data disk for VMs
    1. Azure Premium Storage delivers high-performance, low-latency disk support for virtual machines (VMs) with input/output (I/O)-intensive workloads. VM disks that use Premium Storage store data on solid-state drives (SSDs). To take advantage of the speed and performance of premium storage disks, you can migrate existing VM disks to Premium Storage.
    2. Premium Storage supports DS-series, DSv2-series, GS-series, Ls-series, and Fs-series VMs.
    3.  With Premium Storage, Azure offers the ability to truly lift-and-shift demanding enterprise applications like Dynamics AX, Dynamics CRM, Exchange Server, SAP Business Suite, and SharePoint farms to the cloud. 
  3. High Performance Compute
    1. A8-A11 and H series are called HPC machine 
  4. VM Images 
    1. Images can be stores either in VM galary or Open Source VM Depot 
    2. Custom image capturing required sysprep to run on it 
  5. VM Agents 
    1. Installed by default on VM is responsible execution of management task
  6. VM extension 
    1.  First party or Thrid party plug-ins for VMs 
  7. The Custom Script Extension 
    1. The Custom Script Extension downloads and executes scripts on Azure virtual machines.
    2. This extension is useful for post deployment configuration, software installation, or any other configuration / management task. 
  8. Desired State Configuration (DSC)
    1. Azure Automation DSC is an Azure service that allows you to write, manage, and compile PowerShell Desired State Configuration (DSC) configurations, import DSC Resources, and assign configurations to target nodes, all in the cloud.
    2. Azure Automation DSC provides several advantages over using DSC outside of Azure.
  9. Auto Scaling 
    1. The standard service plan or higher is required for auto-scaling.
  10. Availability Sets 
    1. The availability set can only be configured when creating a virtual machine. You must recreate the virtual machine to move it in or out of an availability set.
  11. Scale Set Vs Placement Group
    1. The core difference is that scale sets are Identical vms where availibity does not require them to be identical. 
    2. A placement group is a construct similar to an Azure availability set, with its own fault domains and upgrade domains. By default, a scale set consists of a single placement group with a maximum size of 100 VMs. If a scale set property called singlePlacementGroup is set to false, the scale set can be composed of multiple placement groups and has a range of 0-1,000 VMs.
    3. Availability set,>>Scale Set>>placement group
  12. Azure's Azure Compute Unit (ACU) 
    1. Azure have created the concept of the Azure Compute Unit (ACU) to provide a way of comparing compute (CPU) performance across Azure SKUs
    2. A1-A7 100 ACU , A8-A11- 225 ACU, H 290-300 ACU , G 180-250 ACU , F 210- 250 ACU
  13. Important Point to remembers 
    1. Every Azure VM has temporary storage drive (D:) – lost when VM is moved/restarted.
    2. VMs may be attached to data disks that persist across VM restarts/redeployments and are locally replicated in-region (and beyond if specified).
    3. Can use gallery images or create custom images (to meet custom requirements, e.g. with certain software pre-installed).
    4. OS disk always has caching, default Read/Write (data disk caching is optional, default none) – changes need a reboot.
    5. Can create a bootable image from an OS disk (not data disk).
    6. Can change caching on data disk without reboot.
    7. OS disk max 127GB, data disk max 1TB.
    8. Only charged for storage used (regardless of what is provisioned).
    9. Can take VHDs from on-premises: (Windows Server 2008 R2 SP1 or later), sysprep then upload with Add-AzureVhd -Destination storageaccount/container/name.vhd -LocalFilePath localfile.vhd; for Linux install WALinuxAgent (different preparation for different distributions).
    10. Tell cloud service to load balance an endpoint to split load between VMs. With ARM there is the option to define a separate Load Balancer.
    11. Encryption at rest for data disks requires third party applications (encryption is in preview though…).
    12. Availability set: 2 or more VMs distributed across fault domains and upgrade domains for SLA of 99.95% (no SLA for single VMs).
    13. Auto-scaling based on thresholds (mix/max number of instances, CPU utilisation, queue length – between web and worker roles) or time schedule (also time to wait before adding/removing more instances – AKA cooldown period). Needs at least 2 VMs in an availability set.
    14. Basic Pricing Tier VMs have no load balancing or auto-scaling.
    15. Standard Pricing Tier has similar configuration as of basic but support auto scaling and load balancing. https://azure.microsoft.com/en-us/blog/basic-tier-virtual-machines-2/

[AZURE 70-534 - Cheat Sheet and Exam Notes Part-6] Design a management, monitoring, and business continuity strategy

Series Index 
  1. Azure ARM , networking and GLOBAL Infrastructure (2017-10-01)
  2. Securing Resources and Azure Security (2017-10-01)
  3. Design an application storage and data access strategy (2017-10-01) 
  4. Design advanced applications (2017-10-01)
  5. Design Azure Web and Mobile Apps (2017-10-01)
  6. Design a management, monitoring, and business continuity strategy (2017-10-01)
  7. Architect an Azure Compute infrastructure (2017-10-01)
Azure Monitoring Solutions 

There is a range of tools for monitoring Azure applications and services. Some of their features overlap. Diagnostic tasks may include performance measurement, troubleshooting and debugging, capacity planning, traffic analysis, billing and auditing. 

Key Monitoring Solution Across Azure are listed below 
  1. Azure Monitor is basic tool for monitoring services running on Azure. It gives you infrastructure-level data about the throughput of a service and the surrounding environment. If you are managing your apps all in Azure, deciding whether to scale up or down resources, then Azure Monitor gives you what you use to start.
  2. Application Insights can be used for development and as a production monitoring solution. It works by installing a package into your app, and so gives you a more internal view of what’s going on. Its data includes response times of dependencies, exception traces, debugging snapshots, execution profiles. It provides powerful smart tools for analyzing all this telemetry both to help you debug an app and to help you understand what users are doing with it.
  3. Log Analytics is for those who need to tune performance and plan maintenance on applications running in production. It is based in Azure. It collects and aggregates data from many sources, though with a delay of 10 to 15 minutes. It provides a holistic IT management solution for Azure, on-premises, and third-party cloud-based infrastructure (such as Amazon Web Services). It provides richer tools to analyze data across more sources, allows complex queries across all logs, and can proactively alert on specified conditions. You can even collect custom data into its central repository so can query and visualize it.
  4. System Center Operations Manager (SCOM) is for managing and monitoring large cloud installations. You might be already familiar with it as a management tool for on-premises Windows Sever and Hyper-V based-clouds, but it can also integrate with and manage Azure apps. Among other things, it can install Application Insights on existing live apps. If an app goes down, it tells you in seconds. Note that Log Analytics does not replace SCOM. It works well in conjunction with it. 
Key Notes about Azure Monitoring
  1. Azure management services to manage alerts or view operational logs. Create alerts based on metrics and thresholds (and average to smooth out spikes) and send email to service admins and co-admins or to a specific address.
  2.  Azure has two type of monitoring , \
    1. Point Of time and Long term 
  3. Basic Monitoring is via console 
  4. For IAAS VM monitoring Agent must be installed 
  5. Global Service Monitoring Test Application Availability based on geography 
  6. OMS - Log Analytics Tool 
  7. Operational logs are service requests – operation, timestamped, by whom.
  8. Visual Studio 2013 has Azure SDK for managing Azure services. Some limitations: with remote debugging cannot have more than 25 role instances in a cloud service.
  9. Azure Redis cache monitoring allows diagnostic data stored in storage account – enable desired chart from Redis cache blade to display the metric blade for that chart.
  10. System Center 2012 R2 can also monitor, provision, configure, automate, protect and self-service Azure and on-premises.
  11. Third party tools like New Relic and AppDynamics.
  12. For websites there are application diagnostic logs and site diagnostic logs (3 types: web server logging; detailed error messages; failed request tracing) – access via Visual Studio, PowerShell or portal. Kudu dashboard at https://sitename.scm.azurewebsites.net.
  13. View streaming log files (i.e. just see the end): Get-AzureWebsiteLog -Name "sitename" -Tail -Path http
  14. View only the error logs: Get-AzureWebsiteLog -Name "sitename" -Tail -Message Error
  15. Options include -ListPath (to list log paths) -Message <string> -Name <string> -Path (defaults to root) -Slot <string> -Tail (to stream instead of downloading entire log)
  16. Can also turn on diagnostics on storage accounts.

Operations Management Suite (OMS)

  1. Operations Management Suite (also known as OMS) is a collection of management services that were designed in the cloud from the start. 
  2. OMS components are entirely hosted in Azure. Configuration is minimal, and you can be up and running literally in a matter of minutes.
  3. OMS can effectively manage your on-premises environment. Put an agent on any Windows or Linux computer in your data center.
  4. Existing installation of System Center can integrate these components with OMS services 
  5. The core functionality of OMS is provided by a set of services that run in Azure. Each service provides a specific management function, and you can combine services to achieve different management scenarios.
    1. Azure Log Analytics Monitor and analyze the availability and performance of different resources including physical and virtual machines.
    2. Azure Automation Automate manual processes and enforce configurations for physical and virtual machines.
    3. Azure Backup Backup and restore critical data.
    4. Azure Site Recovery Provide high availability for critical applications.

Azure Automation Solutions 

Azure offer multiple automation options and each has it`s own use cases and scope. List belwo provide a summarized view of available option  
  1. VM Automation 
    1. Powershell Workflow 
      1. Suitable for long running jobs with support for restart and resume 
      2. Support Sequence 
    2. Custom Script Extension
      1. It can be used for configuration and installation post VM deployment
    3. Operation Management Suite (OMS)
      1. TBD
  2. Configuration Automation
    1. Choice of configuration is depends on what organisation is currently using 
    2. Virtual machine extension need to be added during deployment in VM to support configuration managers 
    3. Configuration Management (Automation) Tools
      1. Chef 
        1. Cross Platform Support
        2. 10K VMs per Server 
        3.  Cloud or On Prem Deployment 
      2. Puppet 
        1. Cross Platform Support 
        2. Large number of Pre built options available 
        3. Limited Support for azure artifact 
      3. Azure Automation 
        1. Full Support of Azure and On Prem system 
        2. Work on concept of Run Book that are four types
          1. Graphical 
          2. Graphical power shell workflow 
          3. Powershell
          4. Powershell Workflow 
    4. Desired State Configuration (DSC)
      1.  New Evolving technology that can be used variety of lo Level Tasks such as add/remove roles , env variables etc.Script and automate the application lifecycle; simplify cloud management; automate manual, long-running and frequently-repeated tasks (save time and increase reliability).
  3. Automation account is a container for Azure Automation resources.
  4. Create runbooks – set of tasks that perform an automated process – PowerShell workflow.
  5. Scheduler to start run-books daily/hourly/at a defined point in time.
  6. Pricing based on minutes/triggers:
    1. Free = 500 minutes
    2. Basic tier
    3. Standard tier
  7. Automation is an enabler for DevOps:
    1. Dev team loves changes.
    2. Ops Team loves stability.
    3. Agile used for development between business-dev.
    4. DevOps fills gap between dev and ops.
    5. Infrastructure as code; configuration automation; automation testing.
  8. Continuous integration – pipeline to delivery and deployment – cycle of integrating solution with various phases:
    1. Delivery team check-in to Version Control, triggers Build and Unit Tests (with Feedback). When Build and Unit tests are clean, triggers Automated Acceptance tests (with feedback). When approval gained, move to User Acceptance Tests, and then on FInal Approval move to release.
  9. Continuous Delivery – push-button deployment of any version of software to any environment, on demand – similar to CI but can feed business logic tests.
    1. Need automated testing to achieve CD.
  10. Continuous Deployment – natural extension to CD; every check-in ends up in a production release.
Azure continuity/disaster recovery (BC/DR) capabilities

Azure Business Continuity Option 

Theses are the tools that can be used for disaster recovery

  1. Hyper-V Replica 
  2. Hyper-v Fail Over
  3. Azure Site Recovery
  4. Recovery Service Vault 
  5. Azure Backup Agent 
  6. Azure Data Protection Manager 
  7. Azure Backup Server 

Azure Business continuity (BC) 

  1. Scenarios: recover from local failures; loss of a region; on-premises to Azure
  2. For Azure failures:
    1. HA in PaaS (per region), just make sure web and worker roles 2 or more roles each – then will automatically be spread across fault domains.
    2. For region failure need to plan across regions – more elaborate (make sure code and config is available in a second region).
  3. HA in IaaS needs management of VMs in availability sets (need to define define manually).
  4. At region level, also think about load balancing (VIP), storage (LRS, ZRS, GRS of RA-GRS), Azure SQL replication.
  5. Recover from loss of region:
    1. Redeploy on disaster (cold DR) – replicate data ready to run (not high RTO/RPO)
    2. Warm spare (active/passive) – infrastructure in DR region but not fully available (e.g. SQL replication with secondary copy not accessed, not routing traffic to passive).
    3. Hot spare (active/active) – two regions at the same time (e.g. SQL on IaaS and replicating itself).
  6. Cross regional strategies for DR:
    1. VNet – export settings, import in secondary region.
    2. Cloud Services – create a separate cloud service in target region; publish to secondary region if primary files; use Traffic Manager to route traffic.
    3. VM – use blob copy API to duplicate VM disks; geo-replicated VM images.
    4. Storage – use GRS or RA-GRS (replicated in minutes, so tight RPOs cannot rely on this – need to write own algorithm).
    5. Azure SQL:
      1. Geo-restore (1 hour RPO/<12 hours RTO).
      2. Standard geo-replication (5 secs RPO/30 mins RTO) – no access to secondary.
      3. Active geo-replication (5 secs RPO/30 mins RTO) – read access to secondary.
      4. Manually export to Azure Storage (blob) with Azure SQL database import/export service.

Azure Backup

  1. Backup service targeted at replacing tape backup.
  2. Can work with on-premises workloads or Azure workloads.
  3. On-premises backup – pick region and create a vault; download vault credential files; download and install Azure backup agent; can seed through Azure Import/Export Service; select backup policy (start time of backup (retention policies (weekly/monthly/yearly)) – backups are incremental.
  4. Azure VM Backup – install agent if not already installed, register VMs with Azure Backup Service (installs backup agent in extensions); select backup policy.
  5. Azure backup is to backup data on VM. Priced per protected instance and storage consumed (price for protected instance goes up at 50GB, then 500GB, then each additional 500GB.

Azure Site Recovery

  1. Orchestrates failover and recovery of a VM.
  2. On-premises machine replicated to vault in Azure, or to another datacentre – not Azure to Azure.
  3. Protect AD and DNS, SQL Server, SharePoint, Dynamics AX, RDS, Exchange, SAP.
  4. Can also perform a test failover, starting resources in Azure but not routing the traffic.
  5. Use to protect VMware ESX or Hyper-V VMs or physical servers and can be used to migrate 

System Center and Hybrid with Azure

Can be used for Azure only and Hybrid deployment There are lot of system center components that can be leveraged for this purpose. First consideration we need to make is Hybrid Deployment Consideration
    1. Connectivity - VPN Vs Express Route 
    2. Gateway Server 
    3. Domain Joined VM or Not
      1. Domain Authentication 
      2. Non Domain Authentication using certificates
    4. Bandwidth Requirements 
    5. Azure only charge for Data OUT not Data IN 
  1. Core Components of System Centers  
    1. Data Protection Manager 
      1. It is Enterprise level backup and recovery system 
      2. Can use azure as storage and replacement of local disk and tapes 
      3. Support local backup (Offsite Storage)
    2. Operation Manager
      1. Support Both On Prem and Azure 
      2. Azure is supported via Azure Management Pack
    3. Virtual Machine Manager (VVM )
      1. Now Azure Machine Subscription is supported in basic mood (connect , restart etc)
    4. App Controller 
      1. Tool for deployment and management of VMs by VMM and Azure 
      2. Can Copy VMs in between VMM and Azure (Offline Migration )
      3.  Azure Site Recovery is a similar and advance product to online migration 
    5. Configuration Manager 
      1. Support cloud based distribution point in cloud 
    6. System Center EndPoint Protection 
      1. Integrated with Configuration manager 
      2. Works like windows defenders 
      3. Extensive Reporting 
      4. Support Firewalls of IAAS VMs
    7. Orchestrator 

Azure Update and Patching Strategy 

  1. Windows Servers Update Service 
    1. Support Updated for MS product 
    2. Support Azure IAAS VMs 
    3. VM Can be separate in to groups 
  2. Configuration Manager With Azure
    1. Mainly designed for On Prem 
    2. Support MS and Third party 
    3. Required WSUS and sits on top of it 
    4. Rich Reporting 
  3. Linux VM Updateds 
    1. OS patching Extension available
    2. Requires MS Linux Version 2.0.6 and Cross platform CLI 

[AZURE 70-534 Cheat Sheet and Exam Notes Part-5] Design Azure Web and Mobile Apps

Series Index 
  1. Azure ARM , networking and GLOBAL Infrastructure (2017-10-01)
  2. Securing Resources and Azure Security (2017-10-01)
  3. Design an application storage and data access strategy (2017-10-01) 
  4. Design advanced applications (2017-10-01)
  5. Design Azure Web and Mobile Apps (2017-10-01)
  6. Design a management, monitoring, and business continuity strategy (2017-10-01)
  7. Architect an Azure Compute infrastructure (2017-10-01)

Designing Web Apps 

App Service Vs Cloud Service Vs Virtual Machine 
Scalable Web Apps, Mobile Apps, API Apps, and Logic Apps for any device
Highly available, scalable n-tier cloud apps with more control of the OS
Customized Windows and Linux VMs with complete control of the OS

Azure Web Apps 

  1. Web Apps are available in 5 tiers: free/shared/basic/standard/premium.
    1. web/mobile/API apps (10/100/unlimited/unlimited/unlimited),
    2. logic apps (10/10/10/20 per core/20 per core,
    3. integration options (dev/test up to basic; 
    4. Standard connectors for Standard; 
    5. Premium Connectors and BizTalk Services for premium),
    6. disk space (1GB/1GB/10GB/50GB/500GB), 
    7. maximum instances (-/-/3/10/50), 
    8. App Service environments (Premium only), 
    9. SLA (Free/shared none; Basic 99.9; Standard and Premium 99.95%)
  2. Resource Group and Web Hosting Plan are used to group websites and other resources in a single view; can also add databases and other resources; deleting a resource group will delete all of the resources in it.
  3. Instance types:
    1. Free F1.
    2. Shared D1.
    3. Basic B1-B3 1 core, 1.75GB RAM, 10GB storage x2 cores and RAM (2/3.5; 4/7) – VMs running web apps.
    4. Standard S1-S3 same cores and RAM but more storage (50GB).
    5. Premium P1-P4 same again but 500GB storage (P4 is 8 cores, 14GB RAM).
  4. Other things to configure:
    • .NET Framework version.
    • PHP version (or off).
    • Java version (or off) – use web container version to chose between Tomcat and Jetty; enabling Java disables .NET, PHP and Python.
    • Python version (or off).
  5. Scale web apps 
    1. by moving up plans: Free-Shared-Basic-Standard – changes apply in seconds and affect all websites in web hosting plan. No real scaling for Free or Shared plans. Basic can change instance size and count. Standard can autoscale based on schedule or CPU – min/max instances (checked every 5 mins).
    2. Scale database separately.
  6. SSL certificates – can add own custom certs (2 options – server name indication with multiple SSL certs on a single VM; or IP SSL for older browsers but only one SSL cert for IP address).
  7. Site extensions – no RDP access to the VM, so tools for website: Visual Studio Online for viewing code or phpMyAdmin.
  8. Webjobs 
    1. allow running programs or scripts on website (like cron in Linux or scheduled task in Windows) – one time, schedules or recurring.
    2. Can use .cmd, .bat or .exe; .ps1, .sh., php, .py, .js
  9. Development Environment 
    1. Visual Studio 2013 plus support one click deployment 
    2. Deployment pipeline can be automated and can flip environments when move from staging to production (flips virtual IP). Can flip back if there are issues. 
  10. Debugging
    1. Azure Application Insight is used for debugging for some extra fee.
    2. You can connect to Console session of Web App Host  using simple commend line environment provided by azure 
    3.  Debugger can be attached remotely 
    4. KUDO can be used for Web based Debugging 
      1. it provide a page consistent of 
        1. Environment Information 
        2. Process Explorer  
        3. Site Extension
        4. Diagnostics Dump
        5.  Log Stream 
        6. WebJob Dashboard 
        7. Web Hooks 
        8. Download Deployment Scripts 
        9. Can be used to initiate Powershell Session to host
  11. Supported Language
    1. .Net , Java , Node.Js, PHP, Python
  12. Monitoring web app
    1. Monitoring is supported via metrics in the portal.

Azure Scaling Web Apps 

  1. Supported push button in scale up and scale out mode

Azure Scaling Database Tier 

  1. Database load are measured based on (Database transaction units) DTU 
  2. Azure SQL Support GEO Replication 
    1. Standard replication - Disaster recovery only , Deprecated in April 2017
    2. Active Replication - Read Replicas 
  3. If replication is not required the upward scale can be performed i.e. DTU increases 
  4. DTU is charged based on allocation 
  5. Elastic Database Pool 
    1. It is way to allocate shred DTU to a group of databases to that sudden burst of load can be handled without upgrading the database tier.
    2. It is like setting up burst mood that provide predictable billing 
    3. it is region specific and once server can be part of multiple pool
  6.  Database Sharding 
    1. This is one of the ways for horizontal scaling 
    2. Split the database in ti multiple small one 
    3. Split Marge tool can help in this 
    4. Mix of Database Tier can be used 
    5. Need Configure App logic to use appropriate instance 
    6. Other than performance it can also be used for  compliance purpose across the region 

Web Application Deployment 

  1. Azure Site Extensions 
    1. Can add available third party  component to application such as logging 
    2. Also allow to create your own extension 
  2.  Deployment Option 
    1. FTP 
      1. Any FTP Client is Support 
      2. Do not Support version control 
    2. KUDU
      1. Support Git , One Drive , Drop Box etc
      2. Version control , restore , web-hooks, Content Sync  
      3. Local Git supported 
    3. Web Deploy 
      1. Direct Visual Studio Deploy 
      2. Support Diff only Deployment 
      3. Binaries are pre built before deploy 
      4. Package are ZIP includes all codes and dependencies 
  3. App Service Plan 
    1. Allows apps to share features and capacity 
    2. Also to allocate exclusive hosting VM capacity to apps 
    3. There are five pricing tiers free to premium
    4. Pricing tier can be changed any time    
    5. Allow changing number of VMs 
    6. Apps and App service must me in same subscription and and geographic location 
    7. One Web App can only be associated with one app service plan 
    8. App can be moved to different plan  
    9. To move web App to other region you have to clone it 
  4. Resource Group 
    1. Logical grouping of resources  
    2. Works as subset of resources for an application 
    3. Allows grouping of resources for billing and management purpose
    4. One resource can only belongs to single RG 
    5. resources can be in separate region 
    6. Deployment template can be created for resource group 

High Availability Web Apps 

  1. Azure Traffic Manager 
    1. Controls distribution of traffic to endpoints including cloud services , websites external sites etc
    2. Support Three Load Balancing models 
      1. Failover 
      2. Performance 
      3. Round Robin 

Business Continuity Plan 

  1. Update with Minimal Downtime 
    1. Azure Provide Deployment Slot that actually Swapping of Production IP Address 
  2. Backup and restore
    1. Builtin feature of Azure 
    2. Support Up to 10 GB (Website + DB)
    3. backup include -
      1. Web Apps Configuration 
      2. Web App File Contents 
      3. Azure Database (SQL or My SQL)
    4. Manual and schedule both are supported 
    5. Output of back is 
      1. XML Config File 
      2. ZIP file with Site and DB contents in BAKPAK file 
      3. BAKPAK  file can be restored locally /on prem
    6. Backup support file and folder filters 
    7. Differential backup and parts backup is supported 
  3. Restoring Web Apps 
    1. Database restore can be don on same production slot or new one 
    2. Swap can be used in case of restore to new slot (recommended )

Azure Cloud Services 

Cloud Services is an example of Platform-as-a-Service (PaaS). Like App Service, this technology is designed to support applications that are scalable, reliable, and cheap to operate. Just like an App Service is hosted on VMs, so too are Cloud Services, however, you have more control over the VMs. You can install your own software on Cloud Service VMs and you can remote into them.
  1. Cloud Service roles
    1. Web role 
    2.  Automatically deploys and hosts your app through IIS.
    3. Worker role
      1. Does not use IIS and runs your app standalone.For more complex, multi-tier apps.
      2.  for back-end (synchronous, perpetual tasks – independent of user interaction; uses polling, listening or third party process patterns).
  2. Upload code and Azure manages infrastructure (provisioning, load balancing, availability, monitoring, patch management, updates, hardware failures…)
  3. 99.95% SLA (min 2 role machines)
  4. Auto-scale based on CPU or queue.
  5. Communicate via internal endpoints, Azure storage queues, Azure Service Bus (pub/sub model – service bus creates a topic, published by web role and worker role subscriber is notified).
  6. Availability: fault domain (physical – power, network, etc.) – cannot control but can programmatically query to find out which domain a service is running in. In ASM, normally 0 or 1. ASM automatically distributes VMs across fault domains.
  7. Upgrade domain (logical – services stopped one domain at a time) – default is 5, can be changed.
  8. If have web and worker roles, automatically placed in Availability set.
  9. Azure Service Definition Schema (.csdef file) has definitions for cloud service (number of web/worker roles, communications, etc.), service endpoints, config for the service – changes required restart of services.
  10. Azure Service Configuration Schema (.cscfg file) runtime components, number of VMs per web/worker role and size etc. – changes do not require service restart.
  11. Deployment pipeline as for Web Apps.

Design Mobile Application 

Azure Mobile Services (Mobile Data Access)

  1. Offers cloud based storage for mobile apps
  2. support both Node or .Net
  3. Support Proxy (Data Classes) for SQL Data Base , technically it create web-service 
  4. Support Many different data source like Azure SQL, Blob , Table and Mongo DB
  5. Support Hybrid Service 
  6. Support Social providers for authentication 
  7. Support Several Push Notification Services 
    1. Windows Push Notification Services (WNS)
    2. Microsoft Push Notification Service (MPNS)
    3. Apple Push Notification Service (APNS)
    4. Google Content Notification 
    5. Azure Notification Hub 
  8. Also support Git integration 
  9. Can be consumed from cross platform client by adding Mobile Service Client Library reference in you project.
  10. Offline Sync is supported via SQL Lite 
  11. Mobile service support custom coding and create more feature to API
  12. Mobile Service Security 
    1. Authorization has four modes 
      1. Application Key Required 
      2. Everyone - public
      3. Authenticated user (ID +Token)
      4. Admin and Other Script (Need Master key from mobile service)
    2. Authentication provider 
      1. Azure AD 
      2. MS Account 
      3. Facebook 
      4. Twitter 
      5. Google
    3. More than one identity provider are supported by mobile service 
    4. Log in request made to LoginAsycn end point that in turn provide User variable containing  claims like user level , and user id  
    5. Azure provide and AD Authentication Library as abstraction layer for client apps that support featured like token cache and automatic token refresh 

 Azure Application Notification Services

  1. There are two way to push a notification on device 
  2. Push Notification Service (discussed above) 
    1. Notification services are specific to Device provider 
  3. Notification Hub 
    1. Notification Hub is latest approach to implement push service 
    2. Fully Managed and highly scalable service 
    3. it is abstraction over push notification service and vendor independent 
    4. Allow collect data back from devices like GPS location 
    5. Support Message Template 

Azure Application Services 

  1. Azure offer various application service some of them are renamed and some new 
  2. Web App , Mobile Apps, BizTalk API apps, Api Apps, Logic App (Workflow) are key name to highlight 
  3. App Service Plan 
    1. Service belongs to five pricing tier called , Free, Shared , Basic , Standard , Premium 
    2. Only one service plan can be associated at any time 
  4. Azure API Apps 
    1. Builtin Support for swagger 
    2. automatic generation of client code 
    3. CORS support out of the box 
    4. Support for azure logic apps 
    5. Support built in access level 
      1. Internal , Public , and Public Authenticated
    6. Support Scale Up and Out 
    7. Security 
      1. Azure Ad is used for authentication 
      2. Support  express and Advance mode of integration 
      3. Advance mode requires AD App Client ID and Issues URI 
  5.  WebJobs  Apps 
    1. Allow execution of script on host 
    2. Deployed via Zip, FTP or IDEs
    3. an run on demand or scheduled 

Azure Website and Azure VNETs

  1. Azure website can not be placed in VNET but can access resources on VNET through a special VPN Configuration 
  2. VNET Can be used for On Premise access and support boath TCP and UDP
  3. In order website can access VNET must have 
    1. Dynamic Gateway 
    2. Point to Site Enabled 
    3. V1 VNET is support not classic VNET 
    4. Website Must use VNET DNS server 
    5. Same VNET can be used by multiple APPS
    6. Requires STD or Premium pricing plan 
    7. Azure Website and VNET for not support Drive Mounting , AD Integration , NetBois, Express Route 
    8. Hybrid Connection Manager (HCM) can be used to allow Website/VPN access via Express Route 
      1. HCM Can only be installed on Windows 
      2. Max Five Instances of HCM 
      3. Only Support TCP (No UDP)
      4. Use with express route 

Cloud Services Vs Standalone Cloud Services

  1. It is one of the way to organised resources on Azure
  2. Each Cloud Service has a unique public DNS and IP address 
  3. Cloud Service without virtual network is called standalone 
  4. VMs in standalone cloud service must communicate over the intenet
  5.  Standalone cloud service can not participate in VPN
  6. Cloud Service are part of classic deployment that is being replaced with Azure Resource Manager that actually uses Resource Group 
====================================================================

  1. Web Apps Vs IAAS VM Vs Cloud Service -TBD
    1. TBD

[AZURE 70-534 Cheat Sheet and Exam Notes Part-4]Design advanced applications

[AZURE 70-534 Cheat Sheet and Exam Notes Part-3]: Design an application storage and data access strategy

Series Index
  1. Series Index 
    1. Azure ARM , networking and GLOBAL Infrastructure (2017-10-01)
    2. Securing Resources and Azure Security (2017-10-01)
    3. Design an application storage and data access strategy (2017-10-01) 
    4. Design advanced applications (2017-10-01)
    5. Design Azure Web and Mobile Apps (2017-10-01)
    6. Design a management, monitoring, and business continuity strategy (2017-10-01)
    7. Architect an Azure Compute infrastructure (2017-10-01)

Azure Storage Services

  1. Azure Storage Types
    1. RDBMS -SQL Server , Oracle , MySQL , SQL Compact , SQL Lite, PostGreSQL
    2. Key Value - Azure Storage(File/Blob), Tables , Cache , Redis , MemCache, Riak 
    3. Column Family - HBase , Cassandra
    4. Document - Mango, Raven, Couch
    5. Graph - NEO4J 
    6. Queue Service 

[AZURE 70-534 - Cheat Sheet and Exam Notes Part-2] Securing Resources and Azure Security

  1. Forest 
    1. At its highest level, a forest is a single instance of Active Directory. Therefore, a forest is synonymous with Active Directory, meaning that the set of all directory partitions in a particular Active Directory instance (which includes all domain, configuration, schema and optional application information) makes up a forest. 
  2. This means that when you have multiple forests in an enterprise they will, by default, act separately from each other as if they were the only directory service in your organization.

[AZURE 70-534 - Cheat Sheet and Exam Notes Part-1] Design Azure Resource Manager (ARM) networking and GLOBAL Infrastructure

AZURE Data Centers Architecture

  1.  In order to check latency of data center use http://azurespeedtest.azurewebsites.net/
  2. No All the services are available in all regions and Data Centers use service availability page to verify the same. https://azure.microsoft.com/en-us/regions/services/
  3. Azure uses Blade Server in data center either in compute or storage role 
  4. 40-50 Blade server per Rack (mounting unit)
  5. Each Rack has Aggregation Switch 
  6. Some Racks have a special controller called Fabric Controller responsible for VM Life cycle management 
  7. 20 Racks together makes a Stamps or Cluster  

Wednesday, May 28, 2014

Is it Suggested to Use Repository Pattern and Unit of Work with Entity Framework ( ORM Solutions)

Repository Pattern and Unit of Work Pattern on the top of Entity Framework an overhead from both performance and maintainability point of view. Unless otherwise there is strong business driver we should be stay away of this approach.

Saturday, May 17, 2014

Wednesday, January 8, 2014

What is new in ASP.Net MVC 5

Summary : ASP.Net MVC 5 is a part of Dot.Net framework 4.5 that is releases with VS2013.  Key new feature includes

  1. One ASP.Net, 
  2. ASP.Net Identity for External Authentication like google, 
  3. Enhance Async Controller, 
  4. WEB API Ver 2,0, 
  5. Support of EF 6, 
  6. Attribute based routing, Bootstrap, 
  7. OWIN and Katana for cloud enhance cloud support.