• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Construindo Aplicacoes Web e Mobile Escalaveis na AWS
 

Construindo Aplicacoes Web e Mobile Escalaveis na AWS

on

  • 961 views

Construindo Aplicacoes Web e Mobile Escalaveis na AWS

Construindo Aplicacoes Web e Mobile Escalaveis na AWS

Statistics

Views

Total Views
961
Views on SlideShare
875
Embed Views
86

Actions

Likes
0
Downloads
80
Comments
0

5 Embeds 86

http://www.ricardomartins.com.br 69
http://cloud.feedly.com 8
http://digg.com 6
https://twitter.com 2
http://www.feedspot.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Construindo Aplicacoes Web e Mobile Escalaveis na AWS Construindo Aplicacoes Web e Mobile Escalaveis na AWS Presentation Transcript

    • Michel Pereira Building Web-Scale and Mobile Applications with AWS Enterprise Solutions Architect
    • Vários Tutoriais , treinamentos e mentoria em português Inscreva-se agora !! http://awshub.com.br
    • While You Scale • Architect for Failure – Failures do happen • Architect with Security – Security must happen
    • Why Is Scale Important? Self Hosting Waste Customer Dissatisfaction Actual demand Predicted Demand Rigid Elastic Actual demand AWS
    • Regions and Storage Where and What
    • US-WEST (Oregon) EU-WEST (Ireland) ASIA PAC (Tokyo) ASIA PAC (Singapore) US-WEST (N. California) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) Regions
    • US-WEST (Oregon)) EU-WEST (Ireland) ASIA PAC (Tokyo) ASIA PAC (Singapore) US-WEST (N. California) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) Availability Zones
    • Storage Types Ephemeral Storage • (Almost) every instance has them • Fast • Cheap • Volatile Elastic Block Storage • 1GB to 1TB • Snapshot-able • You choose the IOPS • Good for random IO
    • Storage Types S3 • (Almost) infinitely durable • Infinitely scalable • CloudFront integration Glacier • (Almost) infinitely durable • Infinitely scalable • Cheapest
    • Storage Types Database • Readily queryable • Consistency/performance options SQS • Logic built-in • Infinitely scalable • Good for small blobs and write/read once
    • Application Scaling Wide and Proud
    • An Example App! • Photo upload • Thumbnail generated • Image recognition scan • Meta data processing • End-user web interface and mobile app
    • Throw it all on one box?
    • Single-tier Architecture AWS Cloud Availability Zone Web/Ap p/DB/St orage
    • Multi-tier Architecture AWS Cloud Availability Zone Web App DB S3
    • Loose coupling sets you free! • The looser they're coupled, the bigger they scale – Independent components – Design everything as a black box – Decouple interactions – Load-balance clusters Gen. Thumb Image Reg. Meta Data Gen. Thumb Image Reg. Meta Data Q Q Q Tight Coupling Use Amazon SQS as Buffers Loose Coupling
    • Allows for Parallel Processing and Failure • Fan out • Use varied instance types • Use varied billing models
    • Allows for Parallel Processing and Failure
    • Loosely-Coupled Multi-tier Architecture Web App DB S3 SQSSNS Availability Zone A App Availability Zone B
    • Let’s Auto Scale Auto Scaling Automatic resizing of compute clusters based on demand Trigger auto- scaling policy Feature Details Control Define minimum and maximum instance pool sizes and when scaling and cool down occurs. Integrated to Amazon CloudWatch Use metrics gathered by CloudWatch to drive scaling. Instance types Run Auto Scaling for On-Demand and Spot Instances. Compatible with VPC. as-create-auto-scaling-group MyGroup --launch-configuration MyConfig --availability-zones eu-west-1a --min-size 4 --max-size 200
    • Loosely-Coupled Multi-tier Architecture Web App DB S3 SQSSNS Availability Zone A App Availability Zone B Auto scaling Group
    • …and Spread the Load Elastic Load Balancing • Create highly scalable applications • Distribute load across EC2 instances in multiple availability zones Feature Details Available Load balance across instances in multiple Availability Zones Health checks Automatically checks health of instances and takes them in or out of service Session stickiness Route requests to the same instance Secure sockets layer Supports SSL offload from web and application servers with flexible cipher support Monitoring Publishes metrics to CloudWatch
    • Where should session state reside? Trigger auto- scaling policy Session State Service Not Here Here State must reside OUTSIDE the scope of the elements you wish to scale
    • But usually some state has to reside somewhere Cookies in browser Memory-resident session manager Session database Framework-provided session handler
    • So this store of state needs to be… Performant Scalable Reliable
    • And what do I build it on? The state service itself must be well architected
    • Scaled and Loaded Multi-tier Architecture App DB S3 SQSSNS AppWeb Web Auto scaling Group Auto scaling Group Dynamo DB ELB
    • • GeneXus é a fornecedora líder de ferramentas para desenvolvimento ágil de software empresarial, com base na captação e gestão de conhecimento do usuário sobre seu negócio. • Com mais de 7.000 empresas e governos como clientes, tem escritórios no Brasil, EUA, Japão, México e Uruguai, presença em 45 países. "A estabilidade e escalabilidade na principal ferramenta de discovery que tem GeneXus: A nossa própria trial". A cada experiência do usuário com nossa Trial, apostamos nossa marca. A AWS deu a tranquilidade que precisávamos em uma área critica. Gerardo Wisosky - Brasil Country Manager
    • O Desafio • Alcançar aplicativos de Prototipagem na nuvem • Garantir a qualidade da interação de novos usuários com GeneXus • Apoiar a geração de milhares de aplicações web e móveis por mês • Permitir crescer em função do aumento de demanda
    • Sobre a o Papel da AWS e Benefícios alcançados PARAGRAFO RESUMO CASO _ KEY WORDS de BENEFICIO, DESAFIO VENCIDO – RESUMO DO CASO EM UM PARAGRAFO • Facilidade de implementação do projeto • Estabilidade das Apps para os usuários • Escalabilidade para Teste • Imagem de marca sólida, graças à confiabilidade da AWS • Previsibilidade na alocação de recursos para o projeto
    • IAM Temporary Security Credentials • Use Cases  Identity Federation to AWS APIs  Mobile and browser-based applications  Consumer applications with unlimited users • Scales to millions of users – No need to create an IAM identity for every user
    • AWS Account Credentials IAM User Temporary Security Credentials The IAM Hierarchy of Permissions Permissions Example Unrestricted access to all enabled services and resources Action: * Effect: Allow Resource: * (implicit) Access restricted by Group and User policies Action: [‘s3:*’, ‘sts:Get*’] Effect: Allow Resource: * Access restricted by generating identity and further by policies used to generate token Action: [ ‘s3:Get*’ ] Effect: Allow Resource: ‘arn:aws:s3:::userbucket/*’
    • AWS Application Management Solutions Elastic BeanstalkOpsWorksCloudFormationEC2 ConvenienceControl Higher-level ServicesDo it yourself
    • Data Tier Scaling The bane of the Architect’s existence
    • Create your own on EC2 ( Some popular choices in no particular order ) Many options on the AWS Marketplace https://aws.amazon.com/marketplace
    • RDS • Managed MySQL, Oracle and MS SQL • Helps ease scaling in some scenarios • Automates backups, snapshots and failover
    • Vertical Scaling “We’re gonna need a bigger box” • Simplest approach • Can now leverage PIOPs • High I/O instances • Easy to change instance sizes • Will hit an endpoint eventually hi1.4xlarge m2.4xlarge m1.small
    • Master/Slave Horizontal Scaling • Reasonably simple to adapt to • Can now leverage PIOPs • Easy to change instances sizes • Will hit an endpoint eventually
    • Sharded Horizontal Scaling Hash Ring A BC D • More complex at the application layer • ORM support can help • No practical limit on scalability • Operation complexity/sophistication • Shard by function or key space • RDBMS or NoSQL
    • Horizontal Scaling – Fully Managed DynamoDB • Provisioned throughput NoSQL database • Fast, predictable performance • Fully distributed, fault tolerant architecture • Considerations for non-uniform data Feature Details Provisioned throughput Dial up or down provisioned read/write capacity. Predictable performance Average single digit millisecond latencies from SSD-backed infrastructure. Strong consistency Be sure you are reading the most up to date values. Fault tolerant Data replicated across Availability Zones. Monitoring Integrated to CloudWatch. Secure Integrates with AWS Identity and Access Management (IAM). Elastic MapReduce Integrates with Elastic MapReduce for complex analytics on large datasets.
    • Petabyte-Scale Data Warehousing Feature Details Optimized for Data Warehousing Redshift uses a variety of innovations to obtain very high query performance on datasets ranging in size from hundreds of gigabytes to a petabyte or more. Scalable Easily scale the number of nodes in your data warehouse up or down as your performance or capacity needs change Fault tolerant Data replicated across Availability Zones. Monitoring Integrated to CloudWatch. Secure Encrypt data in transit and at rest. Can also be run in VPC to isolate your data warehouse cluster. S3 intergration Loads data in parallel to each node from S3. Elastic MapReduce Integrates with ERM via Data Pipeline.
    • Summary • Use these techniques (and many, many others) situationally • Awareness of the options is the first step to good design • Scaling is the ability to move the bottlenecks around to the least expensive part of the architecture • AWS makes this easier – so your application is not a victim of its own success
    • Michel Pereira Building Web-Scale Applications with AWS michelp@amazon.com