IaaS, PaaS e SaaS
para Developers
Renato Groffe
Renato
Groffe
 Mais de 15 anos de experiência na área de Tecnologia
 MTAC (Microsoft Technical Audience Contributor)
 Articulista e palestrante em eventos ligados ao
desenvolvimento de software
 Site:
http://renatogroffe.net/
 Facebook:
https://www.facebook.com/RenatoGroffeSW/
Agenda  Alguns conceitos de cloud computing
 Infrastructure as a Service (IaaS)
 Software as a Service (SaaS)
 Plataform as a Service (PaaS)
Alguns conceitos de
cloud computing
Por que
cloud?
 Priorizar negócio, ao invés de somente a tecnologia
 Escalabilidade para atender a demandas crescentes
 Aumento de produtividade, eficiência e redução de
custos
Escalabilidade
Serviço  Ideia básica por trás do
conceito de cloud computing
On-premise x
Cloud
Algumas classificações bem conhecidas
 Máquinas com Windows Server ou Linux em minutos
 Alta escalabilidade (1 a 1000 instâncias)
 Cobrança com base no tempo de uso
 Aberto e extensível
 Existem opções que incluem o sistema operacional
juntamente com outros serviços (como SQL, por exemplo)
Máquinas virtuais no Azure
>_
Physical Server
Host OS
Container
Manager
App
Framework
App
A
App
A
App
Framework
App
B
App
B
App
B
Physical Server
Hypervisor
Guest OS Guest OS
App
Framework
App
Framework
App
A
App
A
Guest OS
App
Framework
App
B
Host OS
Demo: Acessando uma VM
com SQL Server 2014
 O Marketplace do Microsoft Azure
oferece diversas soluções deste tipo
 Foco no uso de um produto, sem
maiores preocupações com
infraestrutura e desenvolvimento
Demo: Criando um blog com o
WordPress
PaaS
• Abordagem que enfatiza aspectos relacionados ao
desenvolvimento de aplicações
• Questões de infraestrutura não são priorizadas (geralmente o
hardware necessário é contratado mediante opções
oferecidas pelo fornecedor de cloud)
• No caso da nuvem da Microsoft, as tecnologias Azure App
Services e Azure Cloud Services correspondem às opções
mais populares
Construção e consume de
APIs na nuvem
Web Apps
Aplicações escaláveis
Mobile Apps
Mobile apps para qualquer
dispositivo
Automação de processos de
negócio
Benefícios -
App
Services
• Segurança a nível corporativo
• Alta disponibilidade
• Escalabilidade (automática ou não)
• Load balancing
• Suporte a muitas linguagens e plataformas
• .NET, Node.js, Python, Ruby e outras
• Facilidades no deployment contínuo
• Integração com ferramentas de continuous delivery
• Compatível com Git
Demo: Utilizando o Azure
App Service
Dúvidas?
Acesse já:
http://azure.microsoft.com
Obrigado!
IaaS, PaaS e SaaS para Developers

IaaS, PaaS e SaaS para Developers

  • 1.
    IaaS, PaaS eSaaS para Developers Renato Groffe
  • 2.
    Renato Groffe  Mais de15 anos de experiência na área de Tecnologia  MTAC (Microsoft Technical Audience Contributor)  Articulista e palestrante em eventos ligados ao desenvolvimento de software  Site: http://renatogroffe.net/  Facebook: https://www.facebook.com/RenatoGroffeSW/
  • 3.
    Agenda  Algunsconceitos de cloud computing  Infrastructure as a Service (IaaS)  Software as a Service (SaaS)  Plataform as a Service (PaaS)
  • 4.
  • 5.
    Por que cloud?  Priorizarnegócio, ao invés de somente a tecnologia  Escalabilidade para atender a demandas crescentes  Aumento de produtividade, eficiência e redução de custos
  • 6.
  • 7.
    Serviço  Ideiabásica por trás do conceito de cloud computing
  • 8.
  • 9.
  • 11.
     Máquinas comWindows Server ou Linux em minutos  Alta escalabilidade (1 a 1000 instâncias)  Cobrança com base no tempo de uso  Aberto e extensível  Existem opções que incluem o sistema operacional juntamente com outros serviços (como SQL, por exemplo) Máquinas virtuais no Azure
  • 12.
  • 14.
    Physical Server Host OS Container Manager App Framework App A App A App Framework App B App B App B PhysicalServer Hypervisor Guest OS Guest OS App Framework App Framework App A App A Guest OS App Framework App B Host OS
  • 15.
    Demo: Acessando umaVM com SQL Server 2014
  • 17.
     O Marketplacedo Microsoft Azure oferece diversas soluções deste tipo  Foco no uso de um produto, sem maiores preocupações com infraestrutura e desenvolvimento
  • 18.
    Demo: Criando umblog com o WordPress
  • 20.
    PaaS • Abordagem queenfatiza aspectos relacionados ao desenvolvimento de aplicações • Questões de infraestrutura não são priorizadas (geralmente o hardware necessário é contratado mediante opções oferecidas pelo fornecedor de cloud) • No caso da nuvem da Microsoft, as tecnologias Azure App Services e Azure Cloud Services correspondem às opções mais populares
  • 21.
    Construção e consumede APIs na nuvem Web Apps Aplicações escaláveis Mobile Apps Mobile apps para qualquer dispositivo Automação de processos de negócio
  • 22.
    Benefícios - App Services • Segurançaa nível corporativo • Alta disponibilidade • Escalabilidade (automática ou não) • Load balancing • Suporte a muitas linguagens e plataformas • .NET, Node.js, Python, Ruby e outras • Facilidades no deployment contínuo • Integração com ferramentas de continuous delivery • Compatível com Git
  • 23.
    Demo: Utilizando oAzure App Service
  • 24.
  • 25.
  • 26.

Notas do Editor

  • #12 Slide Objectives: High-level selling points of virtual machines. Speaker Notes: Both Linux and Windows are supported. It’s important to reiterate on this as many developers are still not aware of this. Mention scaling at enterprise level using DSC, Puppet or Chef. Emphasize on the openness – we are not forcing your to lock on Microsoft technologies. Instead, Azure is more open than ever. You can leverage your existing skills, tools and services, and Azure is providing more and more first-class supports for them.
  • #13 Slide Objective: Explain workflow for provisioning VMs in the cloud Speaker Notes: You have three methods of starting this process: Build a VM from the portal, from the command line OR programmatically calling the REST API. Once your choice of provisioning is made you will need to select the image and instance size to start from. The newly created disk will be stored in blob storage and your machine will boot.
  • #15 When you see “containers” you probably think of Docker. For good reason, Docker has essentially defined the container market. To understand what Docker is let’s start by looking at Containers. Containers are an isolated environment and isolated collection of resources that an application runs in. The resources are all the dependencies (DLL’s, configuration, etc.) that the application needs. Everything the application needs to run is in the container and it sees nothing on the host OS it is running on (except maybe an internet connection). Containers are therefore a unit of deployment. <click> A key benefit of containers is that they can startup almost instantly. The notion of “booting up” a guest OS doesn’t exist. The container just runs on top of the host OS. As a result, containers can startup almost instantly as compared to the startup period of a VM. And because everything is contained in this container, containers are easily repeatable and extremely reliable from one environment to the next. For example, I can run a container on my local dev box and have high confidence it will run the same when deployed to another machine, such as a VM running in Azure. <Click> As you can probably imagine, containers are extremely popular in dev/test scenarios. They are also great for micro-services. <click> To put a visual behind this, consider the architecture for a typical virtual machine. You have a physical server, hyper-visor and host OS. Then, each VM has it’s own guest OS that can be configured with applications and application frameworks. This is what you saw earlier in the presentation. <click> Now consider how a container is different. Physical Server with a host OS. However, notice there is not a guest OS. The container is essentially the application and it’s dependencies. Also notice that the app frameworks used by application A and application B are shared in this model. This is how instant startup is achieved. Note that there are more instances of the same App running on the physical server. This underlines that a container is a scale unit besides being an isolation mechanism. In a production development you would use a cluster of hosts, and have containers spread of the hosts.
  • #18 Slide Objectives: Explain the agenda of the session. Speaker Notes: Explain this presentation is a high-level overview, so not everything is covered in-depth.