Xebia Workshop


                                    Discover
                          Java Infrastructure As Code
                                      with
                                 Amazon AWS
                          Xebia:             OpenCSI:
                          Bertrand Dechoux   Bruno Bonfils
                          Charles Blonde
                          Cyrille Le Clerc
                          Emmanuel Servent
                          Eric Briand




Saturday, August 13, 11
Purpose of this workshop

 Java DEVs oriented!
      ▶ Use          real life use cases


 Introduce to Java DEVs:
      ▶ Infrastructure
                     as Code
      ▶ Cloud Computing



 Help Java DEVS to:
      ▶ Automate their deployments
      ▶ Be Cloud-Ready :-)
      ▶ Embrace DevOps




                                           2
Saturday, August 13, 11
Next steps after this workshop

      ▶ Still        Java focused (thinking about PHP & Ruby)

      ▶ DevOps
            » Automated/Continuous Deployment with Rundeck
            » Monitoring and metrics


      ▶ Cloud             Computing
            » PaaS: Java Servlet Engine as a Service

      ▶ Enterprise           & Web Architecture Trainings
            » Cloud Computing = dozens of servers for training
            » NoSQL, caching, high availability, etc




                                                                 3
Saturday, August 13, 11
Amazon AWS Services
                               IaaS & PaaS




                                                4
Saturday, August 13, 11
Glossary

 SaaS (Software as a Service)
      ▶ Hosted  application (e.g.: Salesforce)
      ▶ Predictable costs

 PaaS (Platform as a Service)
      ▶ Ready to use environment to deploy your applications
      ▶ No ops skill required
      ▶ May be difficult to estimate costs

 IaaS (Infrastructure as a Service)
      ▶ Create your server to host what you want
      ▶ Require some ops skills
      ▶ May be difficult to estimate costs




                                                               5
Saturday, August 13, 11
Infrastructure as a Service / IaaS


 S3: Simple Storage Service
 EBS: Elastic Block Store

 EC2: Elastic Cloud compute

 ELB: Elastic Load Balancing

 Route 53: DNS
 CloudFront: Content Delivery Network (CDN)


                                               6
Saturday, August 13, 11
Platform as a Service / PaaS


 RDS: Relational Data Service
 SQS: Simple Queue Service
 SNS: Simple Notification Service
 SES: Simple Email Service
 Elastic MapReduce:MapReduce based on Hadoop
 Beanstalk: Tomcat as a Service
 ...




                                                7
Saturday, August 13, 11
Amazon AWS Topology
                          Regions & Availability Zones




                                                         8
Saturday, August 13, 11
Amazon AWS Infrastructure



                                       EU West
   US West                             Ireland
  N. Carolina             US East
                                                               Asia Pacific
                          Virginia
                                                                 Tokyo



                                                          Asia Pacific
                                                          Singapore




                                     Five Amazon AWS Regions

                                                                              9
Saturday, August 13, 11
Amazon AWS Infrastructure




                          Availability Zones = Data Centers


                                                              10
Saturday, August 13, 11
Infrastructure as Code




                                                   11
Saturday, August 13, 11
Infrastructure as Code

 Benefits
      ▶ Scalability
            » too many servers to do it manually
            » add nodes on demand
      ▶ Reliability,        Reproducibility & Traceability
            » no human direct change
      ▶ Testable          infrastructure
 How?
      ▶ Physical          infrastructure: public or private cloud
            » Amazon Aws/ec2, RackSpace, OpenStack, etc.
      ▶ Software          infrastructure: Configuration Mgmt Systems
            » CFEngine, Chef, Puppet, etc.




                                                                       12
Saturday, August 13, 11
Let’s start the lab!




                                                 13
Saturday, August 13, 11
Petclinic on Amazon AWS




                                                       petclinic
                                              8080
                                                        tomcat
                                 80                   Amazon Linux   Amazon RDS

                                                                       MySQL

                                   Amazon              petclinic
                                    Elastic    8080
                                 Load Balancer
                                                        tomcat
                                                      Amazon Linux




                          Petclinic infrastructure on Amazon AWS




                                                                                  14
Saturday, August 13, 11
Petclinic on Amazon AWS
    The Lab:
    http://code.google.com/p/xebia-france/wiki/JavaInfrastructureAsCodeWithAmazonAwsWorkshop




                                                                                               15
Saturday, August 13, 11

Workshop: Discover "Java Infrastructure as Code" with Amazon AWS

  • 1.
    Xebia Workshop Discover Java Infrastructure As Code with Amazon AWS Xebia: OpenCSI: Bertrand Dechoux Bruno Bonfils Charles Blonde Cyrille Le Clerc Emmanuel Servent Eric Briand Saturday, August 13, 11
  • 2.
    Purpose of thisworkshop  Java DEVs oriented! ▶ Use real life use cases  Introduce to Java DEVs: ▶ Infrastructure as Code ▶ Cloud Computing  Help Java DEVS to: ▶ Automate their deployments ▶ Be Cloud-Ready :-) ▶ Embrace DevOps 2 Saturday, August 13, 11
  • 3.
    Next steps afterthis workshop ▶ Still Java focused (thinking about PHP & Ruby) ▶ DevOps » Automated/Continuous Deployment with Rundeck » Monitoring and metrics ▶ Cloud Computing » PaaS: Java Servlet Engine as a Service ▶ Enterprise & Web Architecture Trainings » Cloud Computing = dozens of servers for training » NoSQL, caching, high availability, etc 3 Saturday, August 13, 11
  • 4.
    Amazon AWS Services IaaS & PaaS 4 Saturday, August 13, 11
  • 5.
    Glossary  SaaS (Softwareas a Service) ▶ Hosted application (e.g.: Salesforce) ▶ Predictable costs  PaaS (Platform as a Service) ▶ Ready to use environment to deploy your applications ▶ No ops skill required ▶ May be difficult to estimate costs  IaaS (Infrastructure as a Service) ▶ Create your server to host what you want ▶ Require some ops skills ▶ May be difficult to estimate costs 5 Saturday, August 13, 11
  • 6.
    Infrastructure as aService / IaaS  S3: Simple Storage Service  EBS: Elastic Block Store  EC2: Elastic Cloud compute  ELB: Elastic Load Balancing  Route 53: DNS  CloudFront: Content Delivery Network (CDN) 6 Saturday, August 13, 11
  • 7.
    Platform as aService / PaaS  RDS: Relational Data Service  SQS: Simple Queue Service  SNS: Simple Notification Service  SES: Simple Email Service  Elastic MapReduce:MapReduce based on Hadoop  Beanstalk: Tomcat as a Service  ... 7 Saturday, August 13, 11
  • 8.
    Amazon AWS Topology Regions & Availability Zones 8 Saturday, August 13, 11
  • 9.
    Amazon AWS Infrastructure EU West US West Ireland N. Carolina US East Asia Pacific Virginia Tokyo Asia Pacific Singapore Five Amazon AWS Regions 9 Saturday, August 13, 11
  • 10.
    Amazon AWS Infrastructure Availability Zones = Data Centers 10 Saturday, August 13, 11
  • 11.
    Infrastructure as Code 11 Saturday, August 13, 11
  • 12.
    Infrastructure as Code Benefits ▶ Scalability » too many servers to do it manually » add nodes on demand ▶ Reliability, Reproducibility & Traceability » no human direct change ▶ Testable infrastructure  How? ▶ Physical infrastructure: public or private cloud » Amazon Aws/ec2, RackSpace, OpenStack, etc. ▶ Software infrastructure: Configuration Mgmt Systems » CFEngine, Chef, Puppet, etc. 12 Saturday, August 13, 11
  • 13.
    Let’s start thelab! 13 Saturday, August 13, 11
  • 14.
    Petclinic on AmazonAWS petclinic 8080 tomcat 80 Amazon Linux Amazon RDS MySQL Amazon petclinic Elastic 8080 Load Balancer tomcat Amazon Linux Petclinic infrastructure on Amazon AWS 14 Saturday, August 13, 11
  • 15.
    Petclinic on AmazonAWS The Lab: http://code.google.com/p/xebia-france/wiki/JavaInfrastructureAsCodeWithAmazonAwsWorkshop 15 Saturday, August 13, 11