Just do it!
-
Upload
cloudbees -
Category
Technology
-
view
2.446 -
download
2
description
Transcript of Just do it!
![Page 1: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/1.jpg)
Just Do It!Building and running high volume applications in the
cloud
Charles TeagueCEO, FitNow, Inc.
![Page 2: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/2.jpg)
What is Lose It?Free mobile application,
website Calorie tracking Peer support using social networking
Lose It! by the numbers 7+ million downloads 1m+ Loseit.com users 15,000 requests per minute, 24x7
load 4 people working full time at Lose It!
Helped users lose more than 5.5 million pounds since 2009
![Page 3: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/3.jpg)
What does that have to do with the cloud?!Lose It! started as a local only mobile application
Need for additional capabilities drove need for web serviceClient -> web sync supportSocial featuresWeb version of Lose It!
Unpredictable initial demand and usage growth made it difficult to estimate scale
Millions of users made high volume likely
As a startup, our team is small
![Page 4: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/4.jpg)
Our challenge was to build and run a service that supports millions of users with very limited resources…
![Page 5: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/5.jpg)
How can we do this?
LEVERAGEUse the cloud and platform as a service to
make development, deployment, and operation of our service faster and easier.*
![Page 6: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/6.jpg)
Leverage the cloudLow startup cost
Ability to scale in response to anticipated demand
Efficiently onboard new services and capabilities
Choose deep, best of breed services that represent significantly more technology and expertise than we’d be able to create ourselves.
Use of cloud eliminates need for us to focus on deployment, management, and administration of compute, disk, and other lower level infrastructure
![Page 7: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/7.jpg)
Leverage Platform as a ServiceLow operational overhead
Simplified deployment
No dedicated operations engineer
Spin up and down development, test, and preproduction environments quickly and easily
PAAS eliminates the need for us to focus on deployment, management, and administration of our application container, data container, and other higher level infrastructure
![Page 8: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/8.jpg)
The result?
We spend most of our calories worrying about delivering the most compelling and effective consumer experience
Our time, effort, and opportunity isn’t spent on simply running the infrastructure required to support our usersBut we’re still up 3 ninesAn average request to our server is fulfilled in under 250ms
Our laser focus translates into a superior customer experience for our users
LASER FOCUS
![Page 9: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/9.jpg)
What technology?Java / Tomcat
Compiler checkedHigh performanceNative GWT Support
MySQLRelationalProvenUse both InnoDB / MyISAM
Web – Google Web ToolkitCompiler checkedEncodes best practices from GoogleMobile – native and GWT/HTML hybrid client
![Page 10: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/10.jpg)
What cloud services?Application Development
Development and staging environments
Iterative deployment services
Build services and continuous deployment (future)
Source code management
Issue Tracking
![Page 11: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/11.jpg)
What cloud services?Application Runtime
Scalable Java application stack
HTTP routing and load-balancing
Clustered database services
Server hardware and virtualization
Network management
Data storage devices
Email services
![Page 12: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/12.jpg)
What cloud services?Application Monitoring / Operations
Application performance monitoring
Uptime tracking and alerting
Application and database recovery
Umbrella support - someone to call!
![Page 13: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/13.jpg)
Architecture
![Page 14: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/14.jpg)
The Myth of the Cloud / Black Box
Infrastructure and platform as a service is a *great* abstraction
Your application has its own characteristics
The infrastructure itself has particular characteristics
There is no single cloud configuration that represents a well tuned, reliable, and high performance solution for every profile of application
![Page 15: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/15.jpg)
Real World EC2Persistent disk I/O (EBS) performance not
great Also can be more variable than you’d expect Ripples into data performance, esp. for disk intensive work like
transactional writes (InnoDB)
Hardware itself is not configurable Can’t add a battery backed up disk write cache for performance
Pay attention to EC2 instance sizes Remember that a small instance is really a very slow computer And depending upon instance sizes, you will be sharing physical
resources with other applications.
![Page 16: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/16.jpg)
Real world adviceFor MySQL, use big instances with huge RAM.
Configure big caches to protect you from slow I/O
Protect your database with application caches (even simple simple Hashmaps)
Design application / data storage to support sharding
Make sure app server tier is cluster safe
Use queuing to decouple work from main application
![Page 17: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/17.jpg)
More ChallengesThe cloud and PAAS does provide
incredible leverage, but some things are actually a pain in this environment.
Scheduled jobs
Logging /Server diagnostics / error reporting
Full text search implementations
Server coordination
Portability
File Storage
![Page 18: Just do it!](https://reader036.fdocuments.in/reader036/viewer/2022081414/54b68c494a7959571b8b46de/html5/thumbnails/18.jpg)
Wrap upThe cloud gives small teams unprecedented
leverage to build and deploy applications
But it’s no silver bullet
Application architecture may be even more important to achieving scale on the cloud
Beware the myth of the cloud/blackbox
Get real about the platform that you’re deploying
Leverage platform as a service to gain leverage