KEMBAR78
Cloud State of the Union for Java Developers | PPT
Burr Sutter Currently Product Manager of: JBoss Tools (JBoss Developer Studio) Seam – feed into EE6-CDI/Weld, JSF2, etc. Snowdrop – JBoss  Spring  integration Richfaces – JSF AJAX Controls Arquillian – Integration Testing Framework Forge – RAD Framework Also working with: SteamCannon – JBoss PaaS TorqueBox  - RoR on JBoss BoxGrinder – Virtual image/appliance creator
Outline Historical Perspective Key Players Key Concepts – IaaS, PaaS, SaaS, images Key Battles – API Turf War Developers, Developers, Developers Demos
IaaS PaaS SaaS Virtualization Compute grid Self-Service Pay-as-you-go Data grid CLOUD in December 2010
IT Evolution Mainframe Minis PC Client/Server Web 1U Blades Virtualization Cloud in a Box 80s 90s 00s 10s 70s Got Boat Ouch.
Developer Evolution COBOL C/C++ CORBA 4GLs RDBMS/SQL Unix HTML CGI GET/POST Cookies Java Servlet EJB Windows Solaris/AIX MVC - Struts DI- Spring ORM- Hibernate XML WS-* JSF RIA-AJAX Agile Automated Testing CI DSLs SVN EE6 GWT Mobile iOS/Android Groovy/Grails Scala OpenSocial Widgets/Gadgets Maven Git ? 80s 90s 00s 10s 70s Got Boat Ouch.
Yesterday
1990 InfoWorld archive on Google Books
1991 InfoWorld archive on Google Books
InfoWorld archive on Google Books 1991
Today Same Game Not the same players
 
Crossing the Chasm – Moore Where is your organization? Techies Geek on it Visionaries Competitive Advantage Pragmatists Stick with the Herd Conservatives Hold On Skeptics Only when forced http://en.wikipedia.org/wiki/Crossing_the_chasm
Gartner Hype Cycle – Cloud Computing 2010
What
http://blog.mariaspinola.com/2009/08/what-exactly-is-cloud-computing.html
PaaS - Primary Value Proposition Zero time to business value by removing: Hardware evaluation, acquisition and implementation OS & Database evaluation, acquisition and implementation Middleware evaluation, acquisition and implementation System tools (e.g. monitoring) evaluation, acquisition and implementation No configuring Apache, load-balancers, tweaking Linux packages No SAs No DBAs Hard drives fail, hard drives fill-up, memory chips fail, the OS needs patches Peak capacity planning (end of month, Christmas, etc) Lower capex, lower staff costs, portable, scalable, reliable, on-demand
Hybrid Cloud Private Cloud B Chicago Datacenter 1 Private Cloud A New York Datacenter 1 Public  Cloud  Provider 1 VM: OS, JVM, App Server .jar, .war, .ear
Hybrid Cloud (Bursting) Private Cloud B Chicago Datacenter 1 Private Cloud A New York Datacenter 1 Public  Cloud  Provider 1 VM: OS, JVM, App Server .jar, .war, .ear
Why
Ten Years of Evolution Time: 6+ months 1999 Price Component 18,000 App Server HW 60,000 Weblogic 92,000 DB Server HW 243,000 Oracle 25,000 Symantec Café $438,000 +  $ 87,600   annual maintenance Time: ~1 Day 2010
Who is this for?
People Factor By 2014, cloud platform experience will be a priority skill in most IT hiring decisions (Gartner) The rise of DevOps Scheduling Provisioning Configuration Mgmt Release Mgmt Alerts/Event Mgmt Orchestration Performance Log Correlation Goal: Fully Automated http://dev2ops.org/blog/2010/2/22/what-is-devops.html Source:  http://en.wikipedia.org/wiki/DevOps
Point of View Developers Devops Build a new online inquiry UI – in 3 days Roll the new inquiry component into production - now Design/develop a AJAX-based B2C web application that  targets smartphones and a real-time twitter feed. Design/develop a resilient infrastructure that will allow us to scale to 500 servers the moment the Super Bowl ad runs. Incorporate Agile principles that allow for changing  functional  requirements. Incorporate Agile principles that allow for changing  non-functional  requirements. Build a Web UI that inserts a record into a DB – in 1 day Launch a 10-node HA cluster that addresses DR - now
Web Stack Evolution DB UI Web Browser HTML5 CSS3 JavaScript JSON ? Stored Procedures NoSQL Cloud-based  Services and RDBMS HTML HTML + AJAX Struts JSF1+Richfaces3* or SpringMVC or  GWT Stored Procedures SpringMVC or GWT or RESTful UI Engine 2002 2006 2012-13+ HTML + AJAX Struts Stored Procedures 2010 Mid-2011 HTML + AJAX JSF2+Richfaces4* or SpringMVC or GWT Stored Procedures Mobile + Cloud Impact? Bus  Logic EJB2 Struts Action Spring + Hibernate Spring or Seam2 + Hibernate/JPA EJB 3.1 or Spring + Hibernate/JPA JAX-RS? + Hibernate & NoSQL * Or IceFaces/Primefaces
Future Web - HTML5+REST HTML5+CSS3+jQuery/EXT JS ? DB JSON REST Websocket Cloud Service NoSQL
Java Developers like Abstraction Java Virtual Machine abstracts the OS Java EE’s portable code & skills – servlet, JSP, JSTL, JSF, JMS, EJB, JPA, CDI, etc. JDBC – database portability Hibernate – schema portability Web Services – services built in .NET REST – resource-oriented services built in Python Avoid Vendor Lock-in OS JVM DB JDBC Servlet, JSP, JPA Hibernate
Demo 1
Java APIs for the Cloud JClouds – jclouds.org  http://code.google.com/p/jclouds/ JetS3t – focuses on Amazon S3 and CloudFront http://jets3t.s3.amazonaws.com/toolkit/toolkit.html Typica – focuses on Amazon – compliments JetS3t http://code.google.com/p/typica/ Amazon API into Java Siena – cloud db (SimpleDB, GAE’s DB) abstraction API http://www.sienaproject.com Dasein -  http://dasein-cloud.sourceforge.net/ Cloudloop – focuses on cloud storage AWS SDK for Java – from Amazon for Amazon
Non-Java Cloud abstractions libcloud – python - incubator.apache.org/libcloud/ Fog – ruby - github.com/geemus/fog Deltacloud – RESTful Services – deltacloud.org
jclouds Key-value stores Blob stores Provisioning: Compute Storage
import siena.*; import static siena.Json.*; @Table(&quot;employees&quot;) public class Employee extends Model {                  @Id(Generator.AUTO_INCREMENT)         public Long id;                  @Column(&quot;first_name&quot;)         @Max(200) @NotNull         public String firstName;                  @Column(&quot;last_name&quot;)         @Max(200) @NotNull         public String lastName;                  @Column(&quot;contact_info&quot;)         public Json contactInfo;                  @Column(&quot;boss&quot;) @Index(&quot;boss_index&quot;)         public Employee boss;                  @Filter(&quot;boss&quot;)         public Query<Employee> employees;                  public static void main(String[] args) {                 Employee e = new Employee();                 e.firstName = &quot;John&quot;;                 e.lastName = &quot;Smith&quot;;                 e.contactInfo = map()                         .put(&quot;email&quot;, &quot;john.smith@example.com&quot;)                         .put(&quot;telephone&quot;, list(&quot;xxx&quot;, &quot;yyy&quot;));                 e.insert();                                  System.out.println(e.contactInfo);         }                  public static Query<Employee> all() {                 return Model.all(Employee.class);         } } Siena  www.sienaproject.com   Siena is a persistence API for Java inspired on the Google App Engine Python Datastore API  Google App Engine DataStore Amazon SimpleDB
DeltaCloud Basic Architecture Deltacloud Any Cloud Driver Amazon GoGrid OpenNebula Rackspace RHEV-M RimuHosting Eucalyptus * Terremark * vCloud * Deltacloud.org * coming soon Common REST API   http://localhost/deltacloud only runs on Linux (as of Dec 2010) RoR-based Buckets – create, destroy Hardware Profiles – list Images – list Instance States – list Instances – list, create, reboot,   start, stop, destroy Keys – create, destroy Storage Volumes – create, destroy,   attach, detach IaaS Abstraction Note: Not a broker – one installation to one cloud
 
Demo 2
Picking a OSS Winner? Number of recently active committers  Number of recent forum postings jclouds has the strongest community Daesin and Typica appear to be 1 person teams.
 
 
 
 
 
 
JBoss and the Cloud
Adding PaaS to Deltacloud Deltacloud Any Cloud Driver Amazon GoGrid OpenNebula Rackspace RHEV-M RimuHosting Eucalyptus * Terremark * vCloud * Deltacloud.org * coming soon Linux+JVM JBoss Cluster-Ready Cloud Provider Image (e.g. AMI) Adds  Deploy .WAR Deploy .EAR Add Node App Management App Monitoring
http://try.steamcannon.org
 
 
Demo 3
*aa S What’s your Service
Big Public Cloud Providers IaaS PaaS
Self Service Web UIs Amazon AWS Console (Native) Google App Engine Console (Native) Azure Console (Native) Cloud Foundry (for EC2 only, acquired by SpringSource) SteamCannon (portable) Makara (recently acquired by Red Hat) Cloud Kick (recently acquired by Rackspace) Stax Networks (recently acquired by CloudBees)
Each Cloud Vendor Servers/hardware profile Images (virtual machines) Instances (running virtual machines) - states Buckets (blob storage) Realms (us-east1) Authentication Many are REST, some Web Service (SOAP)
 
Amazon for Java Developers Eclipse Tools Tomcat on Linux Gotcha: Local  and remote Tomcat needs to match
Cloud Services: Amazon Simple Storage Service – S3 Relational Data Service – RDS SimpleDB Simple Queuing Service – SQS Simple Notification Service – SNS Elastic Map Reduce (Hadoop) Mechanical Turk Flexible Payments Service - FPS
 
Cloud Services: Google Blobstore Channel  - server push to JS client Datastore Memcache Mail XMPP Task Queues Images Google User Accounts
Cloud Services: Microsoft Blob Store SQL Azure Reporting Service Bus Cache
Cloud Services: vmForce * Reports Easy integration with all your customer-related data (if you use Salesforce.com) Social integration via Chatter Security – Salesforce Users Accounts Mobile support * Expected – as of Dec 21 st  2010 – not available to public
Salesforce – Force.com GUI-Driven Development Apex programming language Visualforce UI Framework
 
Google + Force.com try {  SObject account = new SObject();  account.setType(&quot;Account&quot;);  account.setField(&quot;Name&quot;, &quot;My New Account&quot; );  account.setField(&quot;Phone&quot;, &quot;123 244 3455&quot;);  connection.create(new SObject[] { account });  } catch ( ConnectionException ce ) {  log.warning(ce.getMessage());  } http://developer.force.com/appengine Call Salesforce Services from AppEngine
Public Cloud Providers Google – for student projects, departmental apps, not “Enterprise” – environment is unique and applications won’t move back “on-premise”.  Q2 2011 (Hosted SQL)  vmForce – for Salesforce.com extensions – leverage the data & functionality of the CRM++ SaaS.  Amazon – for something more like what will be in your datacenter – bursting scenario Azure – more Microsoft-centric
Why give your datacenter to Amazon? slashdot
5 Lessons We’ve Learned Using AWS Dorothy, you’re not in Kansas anymore.  If you’re used to designing and deploying applications in your own data centers, you need to be prepared to unlearn a lot of what you know. Seek to understand and embrace the differences operating in a cloud environment. Co-tenancy is hard. Your best bet is to build your systems to expect and accommodate failure at any level, which introduces the next lesson The best way to avoid failure is to fail constantly. Each system has to be able to succeed, no matter what, even all on its own. Learn with real scale, not toy models Early in our production build out, we built a simple repeater and started copying full customer request traffic to our AWS systems. That is what really taught us where our bottlenecks were, and some design choices that had seemed wise on the white board turned out foolish at big scale. Commit yourself. AWS is only a few years old, and building at a high scale within it is a pioneering enterprise today. There were some dark days as we struggled with the sheer size of the task we’d taken on, and some of the differences between how AWS operates vs. our own data centers. http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
Agile Team in the Sky Offerings like: Hudson/Bamboo Maven Git/SVN Bugzilla/Jira Fisheye Develop Manage Monitor Scale

Cloud State of the Union for Java Developers

  • 1.
    Burr Sutter CurrentlyProduct Manager of: JBoss Tools (JBoss Developer Studio) Seam – feed into EE6-CDI/Weld, JSF2, etc. Snowdrop – JBoss Spring integration Richfaces – JSF AJAX Controls Arquillian – Integration Testing Framework Forge – RAD Framework Also working with: SteamCannon – JBoss PaaS TorqueBox - RoR on JBoss BoxGrinder – Virtual image/appliance creator
  • 2.
    Outline Historical PerspectiveKey Players Key Concepts – IaaS, PaaS, SaaS, images Key Battles – API Turf War Developers, Developers, Developers Demos
  • 3.
    IaaS PaaS SaaSVirtualization Compute grid Self-Service Pay-as-you-go Data grid CLOUD in December 2010
  • 4.
    IT Evolution MainframeMinis PC Client/Server Web 1U Blades Virtualization Cloud in a Box 80s 90s 00s 10s 70s Got Boat Ouch.
  • 5.
    Developer Evolution COBOLC/C++ CORBA 4GLs RDBMS/SQL Unix HTML CGI GET/POST Cookies Java Servlet EJB Windows Solaris/AIX MVC - Struts DI- Spring ORM- Hibernate XML WS-* JSF RIA-AJAX Agile Automated Testing CI DSLs SVN EE6 GWT Mobile iOS/Android Groovy/Grails Scala OpenSocial Widgets/Gadgets Maven Git ? 80s 90s 00s 10s 70s Got Boat Ouch.
  • 6.
  • 7.
    1990 InfoWorld archiveon Google Books
  • 8.
    1991 InfoWorld archiveon Google Books
  • 9.
    InfoWorld archive onGoogle Books 1991
  • 10.
    Today Same GameNot the same players
  • 11.
  • 12.
    Crossing the Chasm– Moore Where is your organization? Techies Geek on it Visionaries Competitive Advantage Pragmatists Stick with the Herd Conservatives Hold On Skeptics Only when forced http://en.wikipedia.org/wiki/Crossing_the_chasm
  • 13.
    Gartner Hype Cycle– Cloud Computing 2010
  • 14.
  • 15.
  • 16.
    PaaS - PrimaryValue Proposition Zero time to business value by removing: Hardware evaluation, acquisition and implementation OS & Database evaluation, acquisition and implementation Middleware evaluation, acquisition and implementation System tools (e.g. monitoring) evaluation, acquisition and implementation No configuring Apache, load-balancers, tweaking Linux packages No SAs No DBAs Hard drives fail, hard drives fill-up, memory chips fail, the OS needs patches Peak capacity planning (end of month, Christmas, etc) Lower capex, lower staff costs, portable, scalable, reliable, on-demand
  • 17.
    Hybrid Cloud PrivateCloud B Chicago Datacenter 1 Private Cloud A New York Datacenter 1 Public Cloud Provider 1 VM: OS, JVM, App Server .jar, .war, .ear
  • 18.
    Hybrid Cloud (Bursting)Private Cloud B Chicago Datacenter 1 Private Cloud A New York Datacenter 1 Public Cloud Provider 1 VM: OS, JVM, App Server .jar, .war, .ear
  • 19.
  • 20.
    Ten Years ofEvolution Time: 6+ months 1999 Price Component 18,000 App Server HW 60,000 Weblogic 92,000 DB Server HW 243,000 Oracle 25,000 Symantec Café $438,000 + $ 87,600 annual maintenance Time: ~1 Day 2010
  • 21.
  • 22.
    People Factor By2014, cloud platform experience will be a priority skill in most IT hiring decisions (Gartner) The rise of DevOps Scheduling Provisioning Configuration Mgmt Release Mgmt Alerts/Event Mgmt Orchestration Performance Log Correlation Goal: Fully Automated http://dev2ops.org/blog/2010/2/22/what-is-devops.html Source: http://en.wikipedia.org/wiki/DevOps
  • 23.
    Point of ViewDevelopers Devops Build a new online inquiry UI – in 3 days Roll the new inquiry component into production - now Design/develop a AJAX-based B2C web application that targets smartphones and a real-time twitter feed. Design/develop a resilient infrastructure that will allow us to scale to 500 servers the moment the Super Bowl ad runs. Incorporate Agile principles that allow for changing functional requirements. Incorporate Agile principles that allow for changing non-functional requirements. Build a Web UI that inserts a record into a DB – in 1 day Launch a 10-node HA cluster that addresses DR - now
  • 24.
    Web Stack EvolutionDB UI Web Browser HTML5 CSS3 JavaScript JSON ? Stored Procedures NoSQL Cloud-based Services and RDBMS HTML HTML + AJAX Struts JSF1+Richfaces3* or SpringMVC or GWT Stored Procedures SpringMVC or GWT or RESTful UI Engine 2002 2006 2012-13+ HTML + AJAX Struts Stored Procedures 2010 Mid-2011 HTML + AJAX JSF2+Richfaces4* or SpringMVC or GWT Stored Procedures Mobile + Cloud Impact? Bus Logic EJB2 Struts Action Spring + Hibernate Spring or Seam2 + Hibernate/JPA EJB 3.1 or Spring + Hibernate/JPA JAX-RS? + Hibernate & NoSQL * Or IceFaces/Primefaces
  • 25.
    Future Web -HTML5+REST HTML5+CSS3+jQuery/EXT JS ? DB JSON REST Websocket Cloud Service NoSQL
  • 26.
    Java Developers likeAbstraction Java Virtual Machine abstracts the OS Java EE’s portable code & skills – servlet, JSP, JSTL, JSF, JMS, EJB, JPA, CDI, etc. JDBC – database portability Hibernate – schema portability Web Services – services built in .NET REST – resource-oriented services built in Python Avoid Vendor Lock-in OS JVM DB JDBC Servlet, JSP, JPA Hibernate
  • 27.
  • 28.
    Java APIs forthe Cloud JClouds – jclouds.org http://code.google.com/p/jclouds/ JetS3t – focuses on Amazon S3 and CloudFront http://jets3t.s3.amazonaws.com/toolkit/toolkit.html Typica – focuses on Amazon – compliments JetS3t http://code.google.com/p/typica/ Amazon API into Java Siena – cloud db (SimpleDB, GAE’s DB) abstraction API http://www.sienaproject.com Dasein - http://dasein-cloud.sourceforge.net/ Cloudloop – focuses on cloud storage AWS SDK for Java – from Amazon for Amazon
  • 29.
    Non-Java Cloud abstractionslibcloud – python - incubator.apache.org/libcloud/ Fog – ruby - github.com/geemus/fog Deltacloud – RESTful Services – deltacloud.org
  • 30.
    jclouds Key-value storesBlob stores Provisioning: Compute Storage
  • 31.
    import siena.*; importstatic siena.Json.*; @Table(&quot;employees&quot;) public class Employee extends Model {                 @Id(Generator.AUTO_INCREMENT)         public Long id;                 @Column(&quot;first_name&quot;)         @Max(200) @NotNull         public String firstName;                 @Column(&quot;last_name&quot;)         @Max(200) @NotNull         public String lastName;                 @Column(&quot;contact_info&quot;)         public Json contactInfo;                 @Column(&quot;boss&quot;) @Index(&quot;boss_index&quot;)         public Employee boss;                 @Filter(&quot;boss&quot;)         public Query<Employee> employees;                 public static void main(String[] args) {                 Employee e = new Employee();                 e.firstName = &quot;John&quot;;                 e.lastName = &quot;Smith&quot;;                 e.contactInfo = map()                         .put(&quot;email&quot;, &quot;john.smith@example.com&quot;)                         .put(&quot;telephone&quot;, list(&quot;xxx&quot;, &quot;yyy&quot;));                 e.insert();                                 System.out.println(e.contactInfo);         }                 public static Query<Employee> all() {                 return Model.all(Employee.class);         } } Siena www.sienaproject.com Siena is a persistence API for Java inspired on the Google App Engine Python Datastore API Google App Engine DataStore Amazon SimpleDB
  • 32.
    DeltaCloud Basic ArchitectureDeltacloud Any Cloud Driver Amazon GoGrid OpenNebula Rackspace RHEV-M RimuHosting Eucalyptus * Terremark * vCloud * Deltacloud.org * coming soon Common REST API http://localhost/deltacloud only runs on Linux (as of Dec 2010) RoR-based Buckets – create, destroy Hardware Profiles – list Images – list Instance States – list Instances – list, create, reboot, start, stop, destroy Keys – create, destroy Storage Volumes – create, destroy, attach, detach IaaS Abstraction Note: Not a broker – one installation to one cloud
  • 33.
  • 34.
  • 35.
    Picking a OSSWinner? Number of recently active committers Number of recent forum postings jclouds has the strongest community Daesin and Typica appear to be 1 person teams.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    Adding PaaS toDeltacloud Deltacloud Any Cloud Driver Amazon GoGrid OpenNebula Rackspace RHEV-M RimuHosting Eucalyptus * Terremark * vCloud * Deltacloud.org * coming soon Linux+JVM JBoss Cluster-Ready Cloud Provider Image (e.g. AMI) Adds Deploy .WAR Deploy .EAR Add Node App Management App Monitoring
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
    *aa S What’syour Service
  • 49.
    Big Public CloudProviders IaaS PaaS
  • 50.
    Self Service WebUIs Amazon AWS Console (Native) Google App Engine Console (Native) Azure Console (Native) Cloud Foundry (for EC2 only, acquired by SpringSource) SteamCannon (portable) Makara (recently acquired by Red Hat) Cloud Kick (recently acquired by Rackspace) Stax Networks (recently acquired by CloudBees)
  • 51.
    Each Cloud VendorServers/hardware profile Images (virtual machines) Instances (running virtual machines) - states Buckets (blob storage) Realms (us-east1) Authentication Many are REST, some Web Service (SOAP)
  • 52.
  • 53.
    Amazon for JavaDevelopers Eclipse Tools Tomcat on Linux Gotcha: Local and remote Tomcat needs to match
  • 54.
    Cloud Services: AmazonSimple Storage Service – S3 Relational Data Service – RDS SimpleDB Simple Queuing Service – SQS Simple Notification Service – SNS Elastic Map Reduce (Hadoop) Mechanical Turk Flexible Payments Service - FPS
  • 55.
  • 56.
    Cloud Services: GoogleBlobstore Channel - server push to JS client Datastore Memcache Mail XMPP Task Queues Images Google User Accounts
  • 57.
    Cloud Services: MicrosoftBlob Store SQL Azure Reporting Service Bus Cache
  • 58.
    Cloud Services: vmForce* Reports Easy integration with all your customer-related data (if you use Salesforce.com) Social integration via Chatter Security – Salesforce Users Accounts Mobile support * Expected – as of Dec 21 st 2010 – not available to public
  • 59.
    Salesforce – Force.comGUI-Driven Development Apex programming language Visualforce UI Framework
  • 60.
  • 61.
    Google + Force.comtry { SObject account = new SObject(); account.setType(&quot;Account&quot;); account.setField(&quot;Name&quot;, &quot;My New Account&quot; ); account.setField(&quot;Phone&quot;, &quot;123 244 3455&quot;); connection.create(new SObject[] { account }); } catch ( ConnectionException ce ) { log.warning(ce.getMessage()); } http://developer.force.com/appengine Call Salesforce Services from AppEngine
  • 62.
    Public Cloud ProvidersGoogle – for student projects, departmental apps, not “Enterprise” – environment is unique and applications won’t move back “on-premise”. Q2 2011 (Hosted SQL) vmForce – for Salesforce.com extensions – leverage the data & functionality of the CRM++ SaaS. Amazon – for something more like what will be in your datacenter – bursting scenario Azure – more Microsoft-centric
  • 63.
    Why give yourdatacenter to Amazon? slashdot
  • 64.
    5 Lessons We’veLearned Using AWS Dorothy, you’re not in Kansas anymore. If you’re used to designing and deploying applications in your own data centers, you need to be prepared to unlearn a lot of what you know. Seek to understand and embrace the differences operating in a cloud environment. Co-tenancy is hard. Your best bet is to build your systems to expect and accommodate failure at any level, which introduces the next lesson The best way to avoid failure is to fail constantly. Each system has to be able to succeed, no matter what, even all on its own. Learn with real scale, not toy models Early in our production build out, we built a simple repeater and started copying full customer request traffic to our AWS systems. That is what really taught us where our bottlenecks were, and some design choices that had seemed wise on the white board turned out foolish at big scale. Commit yourself. AWS is only a few years old, and building at a high scale within it is a pioneering enterprise today. There were some dark days as we struggled with the sheer size of the task we’d taken on, and some of the differences between how AWS operates vs. our own data centers. http://techblog.netflix.com/2010/12/5-lessons-weve-learned-using-aws.html
  • 65.
    Agile Team inthe Sky Offerings like: Hudson/Bamboo Maven Git/SVN Bugzilla/Jira Fisheye Develop Manage Monitor Scale