SlideShare uma empresa Scribd logo
1 de 36
Scalable Application
Development on AWS
    Mikalai Alimenkou
  http://xpinjection.com
        11.05.2012
Background
• Java Technical Lead/Scrum Master at Zoral
  Labs
• 7+ years in software development
• 5+ years of working by Agile
  methodologies
• Expert in Agile engineering practices
• Founder and coach at XP Injection
• Organizer of Selenium Camp, JEEConf, XP
  Days Ukraine, IT Brunch conferences
No
Future!
Cloud computing
•   Scale capacity on demand
•   Turn fixed costs into variable costs
•   Clean APIs and conceptual models
•   Always available
•   Cost-effective
•   Reduced time to market
•   Focus on product
• Interesting startup
• Completely in Java
• Customer wants to use AWS




                New project arrived
AWS structure
• Elastic Compute Cloud        • Simple Storage Service (S3)   • SimpleDB
  (EC2)                        • Elastic Block Store (EBS)     • DynamoDB
• Elastic Map Reduce (EMR)     • Import/Export                 • Relational Database
• Auto Scaling                 • Storage Gateway                 Service (RDS)
• Elastic Load Balancing                                       • ElastiCache


Compute                        Storage                         Database

• Route 53                   • Simple Queue Service (SQS)      • CloudWatch
• Virtual Private Cloud      • Simple Notification Service     • Elastic Beanstalk
  (VPC)                        (SNS)                           • CloudFormation
• Direct Connect             • Simple Email Service (SES)      • Identity and Access
• CloudFront                 • Simple Workflow Service           Management (IAM)
                               (SWS)
                             • CloudSearch
Networking                   App Services                      Deployment
Why Java?




•   Runs everywhere
•   Full technological stack
•   Lots of tools for scalability
•   Many frameworks for cloud development
EC2 quick introduction

              $.08-$2.4 per
               server hour

              $.05 - $.12 per GB
                 data transfer
Simple boot model                       AMI
         Instant-store AMI
         • Stateless
                                      Instance
         • Cheaper
         • Better IO
         • Easier to scale
                                       Cloud
               EBS boot AMI
               • Stateful
               • Stop/start support
               • Quick migration
               • Faster loading
Different API access levels



AWS management console              AWS console tools




        REST API clients   Plugins to IDEs and browsers
Elasticfox – my superhero!
Everything on AWS



                    •   Infrastructure
                    •   Testing
                    •   Staging
                    •   Production
                    •   Monitoring
•   Easy and reliable server configuration with AMI
•   No work for system administrator
•   Any number of servers available
•   No waits for hardware
•   More experimenting and testing
•   Easy security model




                                Happiness…
Look ma, no hands!
What about money?
EC2 charging model
What I have for such money?
Testing
Server

  DB
Server
          Production
            Server
Ways to save money
• Good and responsible team 
• Reuse instances when possible rounding
  usage time
• Release instances when not more needed
• Monitor and control running instances
• Use reserved instances for continuously
  running jobs
EC2 physical distribution
• Hourly payment is invisible
• Instances are virtual
• Same type of machine, but
  different performance
• Instance not immediately
  available
• Images creation require
  “magical” skills
• No multicast messaging
Amazon cares about
you … and other people
Everything is unreliable

• Retry policies everywhere
• Timeouts for all operations
• Automatic recovery
EBS quick introduction




•   Raw data volumes from 1GB to 1TB
•   Replicated automatically
•   Snapshots to S3
•   May be used with different instances
EBS architecture
EBS fault tolerance
EBS cost model
• Not so cheap
• Additional costs for snapshots in S3
EBS != hard drive
• Slow for time critical tasks
• Bottleneck for Lucene indexing and DB
  – Use parallel EBS volumes
  – Separate data storage between EC2 instances
  – Don’t use RDS
• Limited to 1TB
  – Virtual RAID
  – Data distribution
S3 quick introduction

             $.055 - $.125
             per GB month
                storage



              $.05 - $.12 per
             GB data transfer
Load balancing with
JMS or AMQP
• JMS and AMQP are very scalable and flexible
• Costs are less than SQS (Simple Queue
  Service)
• Configurable load balancing
Deployment options
Self-distributed system




• Host manager works via Java AWS API
• Centralized deployment
• Code distribution to EC2 hosts
Reduce coupling to AWS
Conclusions
• AWS is great for startups or research projects
• AWS increases development speed in times
• It is easy to create scalable and highly available
  Java application on AWS
• Development, testing and production may be
  done on AWS
• AWS save development costs
• AWS support Agile developmernt approaches
Useful books
@xpinjection
             http://xpinjection.com
mikalai.alimenkou@xpinjection.com

Mais conteúdo relacionado

Mais procurados

Handling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
Handling online game challenges by Gabriel Glachant, IT Manager at BulkypixHandling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
Handling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
Sylvain Gauthier
 

Mais procurados (20)

Hands on Lab: Windows Workloads - AWS Online Tech Talks
Hands on Lab: Windows Workloads - AWS Online Tech TalksHands on Lab: Windows Workloads - AWS Online Tech Talks
Hands on Lab: Windows Workloads - AWS Online Tech Talks
 
Using Jupyter Notebooks to Run Deep Learning Algorithms - AWS Online Tech Talks
Using Jupyter Notebooks to Run Deep Learning Algorithms - AWS Online Tech TalksUsing Jupyter Notebooks to Run Deep Learning Algorithms - AWS Online Tech Talks
Using Jupyter Notebooks to Run Deep Learning Algorithms - AWS Online Tech Talks
 
Elasticity using AWS | Sherdil IT Academy
Elasticity using AWS | Sherdil IT AcademyElasticity using AWS | Sherdil IT Academy
Elasticity using AWS | Sherdil IT Academy
 
Building Your Practice on AWS - An APN Breakfast Session
Building Your Practice on AWS - An APN Breakfast SessionBuilding Your Practice on AWS - An APN Breakfast Session
Building Your Practice on AWS - An APN Breakfast Session
 
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application DeliveryAmazon WorkSpaces - Aadvanced Topics & Application Delivery
Amazon WorkSpaces - Aadvanced Topics & Application Delivery
 
ENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems ManagerENT401 Deep Dive with Amazon EC2 Systems Manager
ENT401 Deep Dive with Amazon EC2 Systems Manager
 
Aws certification roadmap yogesh-sharma
Aws certification roadmap   yogesh-sharmaAws certification roadmap   yogesh-sharma
Aws certification roadmap yogesh-sharma
 
Moving Viadeo to AWS (2015)
Moving Viadeo to AWS (2015)Moving Viadeo to AWS (2015)
Moving Viadeo to AWS (2015)
 
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh VariaThe Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
The Cloud as a Platform - Cloud Connections 2011 Keynote - Jinesh Varia
 
AWS re:Invent 2016: Building and Growing a Successful AWS User Group (DCS203)
AWS re:Invent 2016: Building and Growing a Successful AWS User Group (DCS203)AWS re:Invent 2016: Building and Growing a Successful AWS User Group (DCS203)
AWS re:Invent 2016: Building and Growing a Successful AWS User Group (DCS203)
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
 
Ford's AWS Service Update - February 2020 (Richmond AWS User Group)
Ford's AWS Service Update - February 2020 (Richmond AWS User Group)Ford's AWS Service Update - February 2020 (Richmond AWS User Group)
Ford's AWS Service Update - February 2020 (Richmond AWS User Group)
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
PHP Office Hours
PHP Office HoursPHP Office Hours
PHP Office Hours
 
AWS & Infrastructure Hardening - Cloud Infrastructure Security
AWS & Infrastructure Hardening - Cloud Infrastructure SecurityAWS & Infrastructure Hardening - Cloud Infrastructure Security
AWS & Infrastructure Hardening - Cloud Infrastructure Security
 
Sitecore on AWS
Sitecore on AWSSitecore on AWS
Sitecore on AWS
 
Aws introduction
Aws introductionAws introduction
Aws introduction
 
Running Docker clusters on AWS (June 2016)
Running Docker clusters on AWS (June 2016)Running Docker clusters on AWS (June 2016)
Running Docker clusters on AWS (June 2016)
 
Handling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
Handling online game challenges by Gabriel Glachant, IT Manager at BulkypixHandling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
Handling online game challenges by Gabriel Glachant, IT Manager at Bulkypix
 
Aws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noidaAws developer meetup 24 feb-18 noida
Aws developer meetup 24 feb-18 noida
 

Destaque

Cuestionario internet Hernandez Michel
Cuestionario internet Hernandez MichelCuestionario internet Hernandez Michel
Cuestionario internet Hernandez Michel
jhonzmichelle
 
Scalable Applications with Scala
Scalable Applications with ScalaScalable Applications with Scala
Scalable Applications with Scala
Nimrod Argov
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
george.james
 
天猫后端技术架构优化实践
天猫后端技术架构优化实践天猫后端技术架构优化实践
天猫后端技术架构优化实践
drewz lin
 

Destaque (20)

Cuestionario internet Hernandez Michel
Cuestionario internet Hernandez MichelCuestionario internet Hernandez Michel
Cuestionario internet Hernandez Michel
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
Building a Scalable XML-based Dynamic Delivery Architecture: Standards and Be...
 
Scalable Applications with Scala
Scalable Applications with ScalaScalable Applications with Scala
Scalable Applications with Scala
 
Highly Scalable Java Programming for Multi-Core System
Highly Scalable Java Programming for Multi-Core SystemHighly Scalable Java Programming for Multi-Core System
Highly Scalable Java Programming for Multi-Core System
 
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
Building Highly Scalable Java Applications on Windows Azure - JavaOne S313978
 
Diary of a Scalable Java Application
Diary of a Scalable Java ApplicationDiary of a Scalable Java Application
Diary of a Scalable Java Application
 
Writing Scalable Software in Java
Writing Scalable Software in JavaWriting Scalable Software in Java
Writing Scalable Software in Java
 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
 
Scalable web architecture
Scalable web architectureScalable web architecture
Scalable web architecture
 
Apache Cassandra Lesson: Data Modelling and CQL3
Apache Cassandra Lesson: Data Modelling and CQL3Apache Cassandra Lesson: Data Modelling and CQL3
Apache Cassandra Lesson: Data Modelling and CQL3
 
Scalable Web Architectures and Infrastructure
Scalable Web Architectures and InfrastructureScalable Web Architectures and Infrastructure
Scalable Web Architectures and Infrastructure
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
 
天猫后端技术架构优化实践
天猫后端技术架构优化实践天猫后端技术架构优化实践
天猫后端技术架构优化实践
 
Building Web Scale Applications with AWS
Building Web Scale Applications with AWSBuilding Web Scale Applications with AWS
Building Web Scale Applications with AWS
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
Scalable Web Architecture and Distributed Systems
Scalable Web Architecture and Distributed SystemsScalable Web Architecture and Distributed Systems
Scalable Web Architecture and Distributed Systems
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 

Semelhante a Scalable Application Development on AWS

Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
Tom Laszewski
 

Semelhante a Scalable Application Development on AWS (20)

Amazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI WebinarAmazon Webservices for Java Developers - UCI Webinar
Amazon Webservices for Java Developers - UCI Webinar
 
Cloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & OpportunitiesCloud Computing - Challenges & Opportunities
Cloud Computing - Challenges & Opportunities
 
SAP on Amazon web services
SAP on Amazon web servicesSAP on Amazon web services
SAP on Amazon web services
 
AWS 101 - An Introduction to the Amazon Cloud
AWS 101  - An Introduction to the Amazon CloudAWS 101  - An Introduction to the Amazon Cloud
AWS 101 - An Introduction to the Amazon Cloud
 
[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop[Jun AWS 201] Technical Workshop
[Jun AWS 201] Technical Workshop
 
Cloud computing 101 with amazon web service
Cloud computing 101 with amazon web serviceCloud computing 101 with amazon web service
Cloud computing 101 with amazon web service
 
Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015Brisbane DevOps Meetup - Reinvent 2015
Brisbane DevOps Meetup - Reinvent 2015
 
AWS August Webinar Series - Services Overview
AWS August Webinar Series - Services Overview AWS August Webinar Series - Services Overview
AWS August Webinar Series - Services Overview
 
AWS Distilled
AWS DistilledAWS Distilled
AWS Distilled
 
Introduction to AWS and Docker on ECS
Introduction to AWS and Docker on ECSIntroduction to AWS and Docker on ECS
Introduction to AWS and Docker on ECS
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWSMigrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
AWS Public Sector Symposium 2014 Canberra | Black Belt Tips on AWS
 
Adopting AWS in your organization - ITPalooza 2015
Adopting AWS in your organization - ITPalooza 2015Adopting AWS in your organization - ITPalooza 2015
Adopting AWS in your organization - ITPalooza 2015
 
Amazon Web Services - Elastic Beanstalk
Amazon Web Services - Elastic BeanstalkAmazon Web Services - Elastic Beanstalk
Amazon Web Services - Elastic Beanstalk
 
Amazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and HostingAmazon Web Services Building Blocks for Drupal Applications and Hosting
Amazon Web Services Building Blocks for Drupal Applications and Hosting
 
IaaS azure_vs_amazon
IaaS azure_vs_amazonIaaS azure_vs_amazon
IaaS azure_vs_amazon
 
AWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWSAWS 201 - A Walk through the AWS Cloud: What's New with AWS
AWS 201 - A Walk through the AWS Cloud: What's New with AWS
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 
ENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million UsersENT309 Scaling Up to Your First 10 Million Users
ENT309 Scaling Up to Your First 10 Million Users
 

Mais de Mikalai Alimenkou

Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчика
Mikalai Alimenkou
 

Mais de Mikalai Alimenkou (20)

Rise and fall of Story Points. Capacity based planning from the trenches.
Rise and fall of Story Points. Capacity based planning from the trenches.Rise and fall of Story Points. Capacity based planning from the trenches.
Rise and fall of Story Points. Capacity based planning from the trenches.
 
Static analysis tools as the best friend of QA
Static analysis tools as the best friend of QAStatic analysis tools as the best friend of QA
Static analysis tools as the best friend of QA
 
Modern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with KubernetesModern CI/CD in the microservices world with Kubernetes
Modern CI/CD in the microservices world with Kubernetes
 
Saga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices worldSaga about distributed business transactions in microservices world
Saga about distributed business transactions in microservices world
 
Effectiveness tips from Kubernetes trenches by Captain Obvious
Effectiveness tips from Kubernetes trenches by Captain ObviousEffectiveness tips from Kubernetes trenches by Captain Obvious
Effectiveness tips from Kubernetes trenches by Captain Obvious
 
Ride the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database RiderRide the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database Rider
 
Wastful waste or why everything is so slow in development
Wastful waste or why everything is so slow in developmentWastful waste or why everything is so slow in development
Wastful waste or why everything is so slow in development
 
Hexagonal architecture with Spring Boot
Hexagonal architecture with Spring BootHexagonal architecture with Spring Boot
Hexagonal architecture with Spring Boot
 
Wastful waste or why everything is so slow in development
Wastful waste or why everything is so slow in developmentWastful waste or why everything is so slow in development
Wastful waste or why everything is so slow in development
 
DevOps checklist or how to understand where is your team in DevOps landscape ...
DevOps checklist or how to understand where is your team in DevOps landscape ...DevOps checklist or how to understand where is your team in DevOps landscape ...
DevOps checklist or how to understand where is your team in DevOps landscape ...
 
DevOps checklist or how to understand where is your team in DevOps landscape
DevOps checklist or how to understand where is your team in DevOps landscapeDevOps checklist or how to understand where is your team in DevOps landscape
DevOps checklist or how to understand where is your team in DevOps landscape
 
Практические трудности в разработке Медкарты для целой страны
Практические трудности в разработке Медкарты для целой страныПрактические трудности в разработке Медкарты для целой страны
Практические трудности в разработке Медкарты для целой страны
 
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]
 
Bro, manage test data like a pro! [QA Fest 2018]
Bro, manage test data like a pro! [QA Fest 2018]Bro, manage test data like a pro! [QA Fest 2018]
Bro, manage test data like a pro! [QA Fest 2018]
 
Agile antipatterns: review after 10 years of practice
Agile antipatterns: review after 10 years of practiceAgile antipatterns: review after 10 years of practice
Agile antipatterns: review after 10 years of practice
 
Hexagonal architecture with Spring Boot
Hexagonal architecture with Spring BootHexagonal architecture with Spring Boot
Hexagonal architecture with Spring Boot
 
Bro, manage test data like a pro!
Bro, manage test data like a pro!Bro, manage test data like a pro!
Bro, manage test data like a pro!
 
Бытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчикаБытовая классификация тестировщиков с точки зрения разработчика
Бытовая классификация тестировщиков с точки зрения разработчика
 
Code Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysisCode Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysis
 
Funny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscapeFunny stories and anti-patterns from DevOps landscape
Funny stories and anti-patterns from DevOps landscape
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Scalable Application Development on AWS

  • 1. Scalable Application Development on AWS Mikalai Alimenkou http://xpinjection.com 11.05.2012
  • 2. Background • Java Technical Lead/Scrum Master at Zoral Labs • 7+ years in software development • 5+ years of working by Agile methodologies • Expert in Agile engineering practices • Founder and coach at XP Injection • Organizer of Selenium Camp, JEEConf, XP Days Ukraine, IT Brunch conferences
  • 4. Cloud computing • Scale capacity on demand • Turn fixed costs into variable costs • Clean APIs and conceptual models • Always available • Cost-effective • Reduced time to market • Focus on product
  • 5. • Interesting startup • Completely in Java • Customer wants to use AWS New project arrived
  • 6. AWS structure • Elastic Compute Cloud • Simple Storage Service (S3) • SimpleDB (EC2) • Elastic Block Store (EBS) • DynamoDB • Elastic Map Reduce (EMR) • Import/Export • Relational Database • Auto Scaling • Storage Gateway Service (RDS) • Elastic Load Balancing • ElastiCache Compute Storage Database • Route 53 • Simple Queue Service (SQS) • CloudWatch • Virtual Private Cloud • Simple Notification Service • Elastic Beanstalk (VPC) (SNS) • CloudFormation • Direct Connect • Simple Email Service (SES) • Identity and Access • CloudFront • Simple Workflow Service Management (IAM) (SWS) • CloudSearch Networking App Services Deployment
  • 7. Why Java? • Runs everywhere • Full technological stack • Lots of tools for scalability • Many frameworks for cloud development
  • 8. EC2 quick introduction $.08-$2.4 per server hour $.05 - $.12 per GB data transfer
  • 9. Simple boot model AMI Instant-store AMI • Stateless Instance • Cheaper • Better IO • Easier to scale Cloud EBS boot AMI • Stateful • Stop/start support • Quick migration • Faster loading
  • 10. Different API access levels AWS management console AWS console tools REST API clients Plugins to IDEs and browsers
  • 11. Elasticfox – my superhero!
  • 12. Everything on AWS • Infrastructure • Testing • Staging • Production • Monitoring
  • 13. Easy and reliable server configuration with AMI • No work for system administrator • Any number of servers available • No waits for hardware • More experimenting and testing • Easy security model Happiness…
  • 14. Look ma, no hands!
  • 17.
  • 18. What I have for such money? Testing Server DB Server Production Server
  • 19. Ways to save money • Good and responsible team  • Reuse instances when possible rounding usage time • Release instances when not more needed • Monitor and control running instances • Use reserved instances for continuously running jobs
  • 21. • Hourly payment is invisible • Instances are virtual • Same type of machine, but different performance • Instance not immediately available • Images creation require “magical” skills • No multicast messaging
  • 22. Amazon cares about you … and other people
  • 23. Everything is unreliable • Retry policies everywhere • Timeouts for all operations • Automatic recovery
  • 24. EBS quick introduction • Raw data volumes from 1GB to 1TB • Replicated automatically • Snapshots to S3 • May be used with different instances
  • 27. EBS cost model • Not so cheap • Additional costs for snapshots in S3
  • 28. EBS != hard drive • Slow for time critical tasks • Bottleneck for Lucene indexing and DB – Use parallel EBS volumes – Separate data storage between EC2 instances – Don’t use RDS • Limited to 1TB – Virtual RAID – Data distribution
  • 29. S3 quick introduction $.055 - $.125 per GB month storage $.05 - $.12 per GB data transfer
  • 30. Load balancing with JMS or AMQP • JMS and AMQP are very scalable and flexible • Costs are less than SQS (Simple Queue Service) • Configurable load balancing
  • 32. Self-distributed system • Host manager works via Java AWS API • Centralized deployment • Code distribution to EC2 hosts
  • 34. Conclusions • AWS is great for startups or research projects • AWS increases development speed in times • It is easy to create scalable and highly available Java application on AWS • Development, testing and production may be done on AWS • AWS save development costs • AWS support Agile developmernt approaches
  • 36. @xpinjection http://xpinjection.com mikalai.alimenkou@xpinjection.com