Entendiendo Iaas/Paas/Saas en Azure

Download Entendiendo Iaas/Paas/Saas en Azure

Post on 21-Mar-2017

102 views

Category:

Technology

0 download

Embed Size (px)

TRANSCRIPT

<p>PowerPoint Presentation</p> <p>Entendiendo IAAS y PAAS con AzureFernando Mejia@feranto</p> <p>Azure Clouders ChileAzure Clouders Chile</p> <p>bugs4fun.com</p> <p>1</p> <p>Agenda-Bienvenida y Guidelines comunidad para nuevos-On Premise La manera clsica-Modelos Cloud Computing-IAAS-PAAS-SAAS-Azure-IAAS-PAAS-Modelo hbrido-Demos</p> <p>2</p> <p>On Premise </p> <p>Disear la red para que se comuniquen nuestros servidores(tener redundancia de enlaces, si fuera posible)Establecer el almacenamiento(algn tipo de RAID para no estar tan vulnerables)Instalar los servidores, manejar toda la parte de virtualizacin de ser necesariaDecidir que sistema operativo instalarInstalamos el software necesario(frameworks, bases de datos, libreras, runtime) para que funcione nuestra aplicacinFinalmente, instalamos nuestra aplicacin</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM4</p> <p>On-Premise Vs Cloud Computing</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM5</p> <p>Este escenario es funcional para grandes y medianas empresas con varios departamentos de TI a su disposicin, donde cada uno puedo administrar y mantener las diferentes capas de manera ptima. Adems de esto tienen componentes crticos que por seguridad/legislacin no pueden estar en la nube.</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM6</p> <p>IAAS</p> <p>Sidistribuyramosnuestro software bajo un proveedor de IAAS(infraestructure as a service, infraestructura como servicio), debemos hacer lo siguiente:Nosotros decidimos que sistema operativo instalarInstalamos el software necesario(frameworks, bases de datos, libreras, runtime) para que funcione nuestra aplicacinFinalmente, instalamos nuestra aplicacin</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM8</p> <p>Ac delegamos la parte de administracin de equipo fsico y nuestro proveedor IAAS se encarga de esto, nosotros empezamos a controlar a partir del tipo de sistema operativo que deseamos. Este modelo es usado por startups y empresas de mediano y gran tamaos comnmente.</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM9</p> <p>PAAS</p> <p>Sidistribuyramosnuestro software bajo un proveedor de PAAS(platform as a service, plataforma como servicio), debemos hacer lo siguiente:Instalamos nuestra aplicacin</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM11</p> <p>Este modelo es comnmente utilizado por startups que necesitan lanzar sus productos de manera gil y rpida con el enfoque en el desarrollo de sus productos y no de mantener middleware e infraestructura.</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM12</p> <p>Azure</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM14</p> <p>Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.2/17/2017 10:23 AM15</p> <p>IAAS - Azure</p> <p>Galera de Imagenes Virtuales</p> <p>Windows Server 2012 R2</p> <p>Ubuntu Server 14.04 LTS</p> <p>CentOS 6.5</p> <p>SUSE Linux Enterprise Server</p> <p>Oracle Linux 6.4.0.0.0</p> <p>Windows 8.1 Enterprise</p> <p>SQL Server 2014 Standard</p> <p>Oracle Database 11g R2</p> <p>BizTalk Server 2013</p> <p>SharePoint Server Farm</p> <p>Microsoft Dynamics GP 2013</p> <p>Zulu 8</p> <p>SAP HANA Developer Edition</p> <p>Puppet Enterprise 3.2.3</p> <p>Barracuda Web Application</p> <p>Oracle WebLogicServer 12.1.2</p> <p>Visual Studio Ultimate 2013</p> <p>openSUSE 13.1</p> <p>Objective: To illustrate a sampling of the array of different kinds of VM images available in the VM Gallery.Notes:One of the ways a VM can be provisioned is by selecting a predefined image from the VM Gallery, which offers a wide variety of vendor/partner-provided pre-configured VM images that you can choose from.Examples include Windows Server versions/editions or Linux ServersSQL Server database or Oracle databaseMSDN subscribers also get access to Windows images pre-populated with Visual Studio and Windows Client OS versions for use in DevTest scenarios17</p> <p>CloudOn-PremisesPreparar el VHDOpcional generalizer el VHD usando SysPrep/waagentSubir el VHD a Azure StoragePreparar los recursos de redCrear la VM a partir del la imagen generalizada subida</p> <p>VHDSubir nuestras propias imgenes virtuales</p> <p>Objective: To show another option for deploying VMs via uploading a custom image.Notes:One unique thing about Azure is its Hybrid nature VM exchange isnt strictly uni-directional, VHDs can be moved from Azure to on-prem.A generalized image is one which is intended to be used to create multiple new VMs - it has all personal information &amp; state removed via SysPrep (Windows) or waagent (Linux)A specialized image is one which is intended to be used as is in Azure18</p> <p>Deployment con ARM TemplatesDeclarative deploymentMaintain resources with the same lifecycle within a resource groupConfigure parameters for input/outputSpecify resources &amp; dependenciesLeverage Quickstart Templates or export existing resources</p> <p>Objective: To show another option for deploying VMs via ARM templates.Notes:Another deployment option is to use ARM TemplatesARM Templates are declarative files that define the resources to deploy and the inter-relationships between deployed resourcesSpecify input parameters and variables, use expressionsUse Azure Quickstart templates, with source in GitHubEdit in Azure online editor, use Visual Studio tooling, use Visual Studio CodeThey can be checked into source control in order to simplify deployment management</p> <p>19</p> <p>PAAS - Azure</p> <p>Azure App Service Family</p> <p>Web AppsWeb apps that scale with your businessMobile AppsBuild mobile apps for any deviceLogic AppsAutomate business processes across SaaS and on-premisesAPI AppsBuild and consume APIs in the cloud</p> <p>Azure App Service is a PaaS offering that comprises four separate (but related) services:</p> <p>Web Apps is a fully managed compute platform optimized to host Web sites and Web applicationsMobile Apps provides infrastructure for hosting back-ends for mobile apps -- for example, it provides infrastructure for sending push notifications not only to Windows clients, but to iOS and Android clients as wellAPI Apps makes it easy to host APIs in the cloud, features integrated support for Swagger (http://swagger.io/), and offers a built-in authentication service for restricting access to APIsLogic Apps allows you to automate business processes and workflow -- for example, automatically finding negative tweets about your company and sending notifications to a Slack channel</p> <p>Together, these services comprise a ready-made solution to many of the challenges involved in publishing Web sites, Web apps, Web services, mobile apps, and more.21</p> <p>Azure Web AppsSupport a variety of languages and platforms.NET, Java, Node.js, PHP, Python, and moreSupport scaling (manual or auto) and load balancingSupport slots for staged deployments and A/B testingSupport continuous integration</p> <p>Global ScaleScale up and down as needed, manually or automaticallyEnterprise GradeISO-, SOC2-, and PCO-compliant with enterprise-level SLAsFamiliar and FastLeverage existing skills, plus languages, frameworks, and tools you're familiar with</p> <p>The focus of this presentation is Azure Web Apps (https://azure.microsoft.com/en-us/documentation/articles/app-service-web-overview/). This service supports multiple languages and frameworks, including ASP.NET, Node.js, Java, PHP, and Python, so you can "use what you know" to begin leveraging it quickly. It supports scaling (manually or automatically) so capacity can grow as demand grows. It supports deployment slots for staged deployments -- for example, publish to staging, test your changes there, and then swap it into production only after you're confident it is ready. And it supports continuous integration, enabling you to be agile and aggressive in fixing bugs, adding features, and doing everything else needed to keep your site fresh and up to date.22</p> <p>Scaling - Cloud Computing PatternsPredictable BurstsServices with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacityCompute t</p> <p>Unpredictable BurstsUnexpected/unplanned peak in demand Sudden spike impacts performance Cant over provision for extreme cases tCompute </p> <p>Growing FastSuccessful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enoughtCompute </p> <p>On and OffOn &amp; off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome tCompute </p> <p>InactivityPeriod </p> <p>Deploy a Web app on a single server and you'll hit a wall when the demand on that server reaches a certain level. Deploy it in Azure, however, and you can handle bursts through auto-scaling or steady growth through manual scaling.23</p> <p>Scaling Up vs. Scaling Out</p> <p>Scale Up</p> <p>Vary the VM size1 Core w/ 1.75 GB RAM 2 Cores w/ 3.5 GB RAM 4 Cores w/ 7 GB RAM</p> <p>Scale OutVary the VM countMax 3* instancesMax 10 instances Max 20/50** instances </p> <p>With a traditional server farm, there are two ways to scale to meet demand:</p> <p>Scale up by beefing up the servers (more RAM, more cores, etc.)Scale out by adding servers</p> <p>The same holds true for virtual server farms. In App Services, scale up is a choice between B/S/P 1-3, where 1 = 1 Core, 1/75 GB RAM, 2 = 2 Core, 3.5 GB RAM, 3 = 4 Core, 7 GB RAM. You can also scale up/down between tiers (B/S/P), which impacts local HDD storage (10/50/250 GB) as well as the cap on number of instances (3/10/50).</p> <p>* For 3 instances on Basic, only manual scaling is supported** For Premium Tier, there is a max of 20 if not using ASEs, and 50 if using ASEs24</p> <p>Deployment SlotsUse a Deploy-Confirm-Promote workflowPromote via swap through Azure portalhttp://sitename-slotname.azurewebsites.net</p> <p>When you deploy an Azure Web App, you can deploy to a separate deployment slot instead of the default production slot when running in the Standard or Premium App Service plan mode. Deployment slots are actually live web apps with their own hostnames. Web app content and configurations elements can be swapped between two deployment slots, including the production slot. Deploying your application to a deployment slot has the following benefits:</p> <p>You can validate changes in a staging deployment slot before swapping it with the production slot.</p> <p>Deploying a web app to a slot first and swapping it into production ensures that all instances of the slot are warmed up before being swapped into production. This eliminates downtime when you deploy your web app. The traffic redirection is seamless, and no requests are dropped as a result of swap operations. This entire workflow can be automated by configuring Auto Swap when pre-swap validation is not needed.</p> <p>After a swap, the slot with the previously staged web app now has the previous production web app. If the changes swapped into the production slot are not as you expected, you can perform the same swap immediately to get your "last known good site" back</p> <p>For more information, see https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/.25</p> <p>Continuous IntegrationWeb apps can be deployed manually via FTP or WebDeployAutomate deployment using 3rd party source-control providersCan also use a local Git repository from Azure Portal</p> <p>DropBox</p> <p>BitBucket</p> <p>GitHub</p> <p>CodePlex</p> <p>Visual StudioTeam Services</p> <p>Git</p> <p>Continuous integration means deploying updates to your Web app as often as needed -- even several times a day. Azure supports many different deployment methods, including FTP, Git deployment (publishing from a local Git repository to Azure), and WebDeploy, which supports diff-deployment, database creation, and more. Visual Studio has integrated support for all three. Teams can also publish via third-party source-control providers such as Kudu (https://github.com/projectkudu/kudu/wiki/Deployment), which supports deployments from OneDrive and Dropbox, as well as repository-based deployments from GitHub, BitBucket, VSTS, and local Git repositories. For more information, see https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/.26</p> <p>Infraestructura Hbrida - Azure</p> <p>Virtual NetworksBring your own networkProvides security and isolation by creating a private network inside of AzureSupports:Defining subnetsPeering with other non-overlapping VNETs in the same regionDefining Network Security Groups (ACL rules)Allows you to create complex and/or sophisticated network topologies around your VMs</p> <p>Objective: To introduce the concept of Virtual Networks (VNETs) in AzureNotes:A VNET is your private network within the overall Azure networkAlong with the VNET, you can leverage other tools like Load Balancers, Network Service Gateways, Application Gateways, Public IP Addresses, etc.Peering (new feature) allows 2 VNETs to be maintained as separate resources, but VMs in those VNETs can communicate with each other directly via IP Address.VNETs can define Network Security Groups, which contain ACL rules that allow or deny traffic to VM instances in a VNET.NSGs can be associated with subnets or individual VM instances</p> <p>Illustration source: https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-overview/</p> <p>28</p> <p>Other Network ResourcesReserved Public IP Addresses</p> <p>Internal or External Load Balancers</p> <p>Application Gateways</p> <p>Application Gateway Web Application Firewall (Preview)</p> <p>Objective: To introduce some other Azure Networking resources that often complement VNETs.Notes:Reserved Public IP AddressesCan be dynamic or reserved IP addressesLoad balancers act as a NATPublic IP address can be associated to it (public), private is assigned an address in the subnet (and is accessed via that address)Private load balancers are usually found in multi-tier apps/deployments, where only one (front) tier is internet-facing.Also, with VPNs, the ILB can ensure company resource are only available internally to other systems on the same VNETSupports hashed distribution of traffic, as well as port forwarding, auto-reconfiguration (scal...</p>