Movatterモバイル変換


[0]ホーム

URL:


PPT, PDF2,321 views

CloudStack for Java User Group

Apache CloudStack is an open-source Infrastructure as a Service (IaaS) platform initiated by VMops, later acquired by Citrix, and accepted into the Apache Incubator in 2012. With a focus on community-driven development and contributions from various organizations, CloudStack supports complex networking and is hypervisor-agnostic, allowing for extensive customization and integration. The platform aims to facilitate fast adoption in enterprise environments by providing an open-source solution desired by users and developers alike.

Embed presentation

Downloaded 88 times
Apache CloudStack Sebastien Goasguen GenevaJUG, Oct 30th   Geneve, Suisse
Info•   Apache incubator project•   http://www.cloudstack.org•   http://incubator.apache.org/cloudstack/•   #cloudstack on irc.freenode.net•   @cloudstack on Twitter•   http://www.slideshare.net/cloudstack•   http://cloudstack.org/discuss/mailing-lists.htmlWelcoming contributions and feedback, Join the fun !
A bit of History• Original company VMOPs (2008)    – Founded by Sheng Liang former lead dev on JVM• Open source (GPLv3) as CloudStack• Acquired by Citrix (July 2011)• Relicensed under ASL v2 April 3, 2012• Accepted as Apache Incubating Project April  16, 2012• First Apache (ACS 4.0) release expected Sept  26th
Apache Software Foundation
Apache Process• 100% community driven• New ideas, decisions only taken on mailing lists.  Votes taken by community• Project led by Project Management Committee  (PMC):  – http://www.apache.org/dev/pmc.html  – http://incubator.apache.org/guides/committer.html• Non committers get invited as committers:  – http://community.apache.org/newcommitter.html
Apache Processes
First Release almost out• Apache CloudStack 4.0• Check out the testing procedure:  – https://cwiki.apache.org/CLOUDSTACK/cloudstack    -40-test-procedure.html• Or watch my amazing screencast:  – http://vimeo.com/52150218
Contributions from outside Citrix                     Examples:                     Sungard: Announced that                     6 developers were joining                     the Apache project                     Schuberg Philis: Big                     contribution in                     building/packaging and                     Nicira support                     Go Daddy: Early proto of                     Maven building                     Caringo: Support for own                     object store
CloudStack and Citrix           • CloudPlatform powered             by CloudStack           • Feature parity, moving             to CloudStack being             upstream           • Enterprise support           • Enterprise training           • Main contributor to             Apache CloudStack, up             to now
Why make it Open Source ?• Large partner ecosystem needed a way to integrate  quickly• Users drive adoption in early markets – providing  shortest path to adoption is open source• Open source communities are driving integrations  and standards• Faster time to market, short feedback loop from  user community• Enterprise ready and wanted an open source  solution for customers to develop on.
What Does it do ?• Open source Infrastructure as a Service (IaaS)  platform.• Data Center orchestrator• Hypervisor agnostic (with addition of bare  metal provisioning)• Support complex enterprise networking (e.g  Firewall, load balancer, VPN, VPC…)• Multi-tenant
Other OSS IaaS Players
A Very Flexible IaaS PlatformCompute     HypervisorStorage     Block & Object                          Primary Storage                        Secondary StorageNetwork     Network & Network Services  http://www.slideshare.net/cloudstack/cloudstack-architecture
Architecture / Language• Java application• Tomcat6, Axis2, Maven build + ant  – Ant going away in 4.1• Moving towards a plugin architecture  – Cocoon ? Spring ?• Collaboration Conference, Nov 30th -Dec 2nd  – http://collab12.cloudstack.org/
Build and Run in 4.1• git clone https://git-wip-  us.apache.org/repos/asf/incubat  or-cloudstack.git• mvn clean• mvn install• mvn –P developer –pl developer  –Ddeploydb• mvn –pl :cloud-client-ui  jetty:run
Cloud Interactions                                                                    OVM Cluster        Primary                                                                                                                                          Storage                                                                                                     Ap   i                                                                                                 Xen               vcenter                                                                                                                     vcenter  Monitoring                                                                                                                            Primary                                           CS API                     Clu                                    I                                                                          ste                             AP           vSphere Cluster                                                                                                                                    Storage                                                                              r   M                 n ter    End      End                                                                                   gm            vCe                                                                                     t   User UI    User UI                                                                                                                                         Primary                                                                                                                        XS Cluster       Storage   Admin    Admin                                                    Clustered                                                              Clustered                                                        CloudStack                           XAPI     UI      UI                                                 CloudStack   Domain    Domain                            CS Admin &                    CloudStack                                                            CloudStack                                                           CloudStack                                                             CloudStack                            End-user API                                                                                                 Primary   Admin    Admin     UI      UI                                                          Management                                                           Management                            JSON                   KVM Cluster Storage                                                               Server                                                                Server                                  NetConf                                                                                                                           Juniper SRXCloud user                                                                                         Nitro API{API client (Fog/etc)}                                                                                                                                 VNC                                                                                            JSON                  ec2 API                                                                 JSON                                          Netscaler  Cloud user                                                                                                       Console                                                                                                                    Console                                                                                                                      Console  {ec2 API client }                                                                                               ProxyConsole                                                                                                                        VM                                                                                                                   Proxy VM                                                                                                                     Proxy VM                                                                                                                      Proxy VM                NFS                                                    MySQL                                                    MySQL                                                                                     Server                                                                                                                   Sec. Storage                                                                                                                    Sec. Storage NFS                     NFS                                                                           {Proxied} SSH                            Sec. VM                                                                                                                         Storage                                                                                                                     Sec. Storage                                                                                                                        VM                Ajax                 Ajax                           HTTPS                                                                    VM                                                                                                                          VM               Console                Console                                                           Router VM                                                                                   Router VM                                      HTTP (Template Download)                                                                                    Router VM                                                                                      Router VM                                  HTTP (Template Copy)                                                                                       Router VM                                                                                         Router VM    Cloud user                                                                                                                 HTTP (Swift)               http://www.slideshare.net/cloudstack/cloudstack-architecture
Terminology         Zone: Availability zone,         aka Regions. Could be         worldwide. Different data         centers         Pods: Racks or aisles in a         data center         Clusters: Group of         machines with a common         type of Hypervisor         Host: A Single server         Primary Storage: Shared         storage across a cluster         Secondary Storage:         Shared storage in a single         Zone
Storage• Primary Storage:   –   Anything that can be mounted on the node of a cluster.   –   Cluster LVM…iSCSI…   –   Holds disk images of running VMs   –   Support for CEPH with KVM hypervisors• Secondary Storage:   –   Available across the zone   –   Holds snapshots and templates (image repo)   –   Can use Openstack swift or any object store (Gluster FS…)   –   New support for Caringo• Can use NFS for both to start• Storage Abstraction refactoring underway
Networking• Extremely flexible to:  – Provide isolation with VLANs  – Provide isolation at L3 with shared L2 (scalability)  – Support hardware devices that exposes API  – Deployed on existing networking infrastructure  – Support new networking paradigm (SDN)     • Support for Nicira Virtual P     • Extensive use of Open VSwitch
Physical Network       Operations                                              Users       Admin and       Cloud API                CloudStack                Mgmt Server                Cluster                  Router                      MySQL                                         Load Balancer                                                             Availability Zone                                          L3 Core Switch  Access   LayerSwitches                                       …                                                           Secondary Servers                                                           Storage           …           …         …                …       Pod 1        Pod 2     Pod 3           Pod NSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
Layer-2 Guest Virtual Network   CS Virtual Router provides Network Services                       External Devices provide Network Services                                                                     Network Hardware exposing API can be controlled                                  Guest Virtual Network 10.1.1.1/8                                     Guest Virtual Network 10.1.1.1/8                                  VLAN 100                                                             VLAN 100Public                                                                  PublicNetwork/Inter                                                           Network/Internet                                                      Guest          net                                                  Guest                                                                                                                              Guest                                                          Guest                                  Private IP                                                         VM 11         Public IP                                10.1.1.1     VM 11                                            10.1.1.1      VM                                     10.1.1.111                   VM                            Gateway                                    65.37.141.11 Juniper                                                                                      JuniperPublic IP                                                              1              SRX                                                                                        SRX                            address65.37.141.11       CS                                                                Firewall                                                                                      Firewall                     CS     10.1.1.1                     Guest                                                          Guest                                                              Guest                                                                                                                              Guest                 Virtual                  Virtual                                            10.1.1.3     VM 22                                                          VM                                                    10.1.1.3     VM 22                                                                                                                              VM                 Router                  Router                                                                        Public IP               Private IP               DHCP, DNS                                                65.37.141.    NetScaler 10.1.1.112                                                                                     NetScaler               NAT                                       Guest          112           Load                                   Guest                                                          Guest                         Load                                  Guest               Load Balancing               10.1.1.4     VM 33                       Blancer                                 VM 33                                                          VM                          Blancer                   10.1.1.4      VM               VPN                                                         Guest                                                          Guest                                                              Guest                                                                                                                              Guest                                             10.1.1.5    VM 44                                                          VM                                                    10.1.1.5     VM 44                                                                                                                              VM                                                                                                               CS                                                                                                                CS                                                                                                     DHCP, Virtual                                                                                                            Virtual                                                                                                           Router                                                                                                            Router                                                                                                     DNSSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
L3 isolation• To go beyond the limitation of VLANs (4096  vlans per switch)• Move to L3 isolation  – Shared L2  – Manage one firewall per VM• Potential use of GRE tunnels to create single  L2 overlay• GRE in tech preview for site to site VPN.
L3 isolation with distributed firewalls                                                                  Tenant   10.1.0.2Public     Public IP address                                                                  1 VM 1Internet   65.37.141.11           65.37.141.24           65.37.141.36                          10.1.0.1                                      Pod 1 L2                    Tenant   10.1.0.3           65.37.141.80                Switch                     2 VM 1                                                                  Tenant   10.1.0.4                                                                  1 VM 2                           L3 Core                                      Pod 2 L2                                       Switch                                                 10.1.8.1                                                             …                                                                  Tenant   10.1.16.12                                                 10.1.16.1        2 VM 2                             Load     Pod 3 L2                           Balancer    Switch                                                                  Tenant                                                                  2 VM 3   10.1.16.21                                       …                          Tenant                                                                  1 VM 3                                                                           10.1.16.47                                                                  Tenant                                                                           10.1.16.85                                                                  1 VM 4                                                                 Slide from Chiradeep Vittal
A customizable GUI    AJAX + API
A very extensive API
API•   Not really REST•   A set of methods available over http(s)•   Unauthenticated on integration port•   Authenticated on 8080 using Access and    Secret Key•   Python/Ruby clients available•   Internal Marvin client•   CLI under development•   Other clouds client support the API
Making API callsCan be authenticated or not.HTTP call.User Keys can be generated via the GUIBase url: http://<manager-host>:8080/client/api?….def make_request(requests, secretKey):        request = zip(requests.keys(), requests.values())        request.sort(key=lambda x: str.lower(x[0]))        requestUrl = "&".join(["=".join([r[0], urllib.quote_plus(str(r[1]))]) for r in request])        hashStr = "&".join(["=".join([str.lower(r[0]),str.lower(urllib.quote_plus(str(r[1]))).replace("+", "%20")]) for r in request])        sig = urllib.quote_plus(base64.encodestring(hmac.new(secretKey, hashStr,hashlib.sha1).digest()).strip())        print "Signature: %s"%sig        requestUrl += "&signature=%s"%sig        print requestUrlif __name__ == '__main__':    requests = {                 "apiKey": "BRZ5j4E8O4di2MZWnQsYBLThCrTGO-LGeZaMjsnvelkHuY5P8FdTnluNZTDQhCUy-wqeJzk8EAc_NbcZxTF_FA",                 "response" : "json",                 "command" : "listZones"               }    secretKey = "bFlx2llt3OmM4AiHzfwV1ZbuJ5tsv6hAx6IeM32CkM-obCA77BRwBr3_yQ0bO1-kdZyfD3-lY6khsXCx18n3Mw"    make_request(requests, secretKey)
EC2 /S3 compatibility• Significant development work happening to make  Cloudstack highly compatible with EC2 /S3 API.• http://wiki.cloudstack.org/display/RelOps/EC2+API  +support+in+CloudStack• http://www.slideshare.net/sebastiengoasguen/clou  dstack-ec2-configuration• Euca tools, boto etc…should work with cloudstack.
Enabling EC2 and S3• Via the GUI• Via API call on integration API port 8096  http://localhost:8096/client/api?  command=updateConfiguration&name=enable.s3.api&value=true  http://localhost:8096/client/api?  command=updateConfiguration&name=enable.ec2.api&value=true
Highly Scalable• See:  – http://www.slideshare.net/cloudstack/scalability-    12819428  – From Alex Huang. 10k “resources” managed per    Mgt server. 30k resources with 30k VM in    simulation.• Management server can be setup in a multi-  node configuration with a load-balancer and  replicated MySQL.
SandBox: DevCloud• A Virtual box appliance packaged to provide a  working CloudStack environment.• Aimed at developers but has other use cases:  – Xen PV hosts gives nested virtualization  – Local EC2/S3 Cloud on your laptop  – Networking experiments ?• http://wiki.cloudstack.org/display/comm/Dev  Cloud
DevCloud: self-containedCloudStack runs in the appliance
Testing “4.0” code in DevCloud• Deploy new CloudStack code in self-contained  DevCloud:• mvn –P deps• ant rdeploy• ant rdeploydb  – Wipes database of mgt server, you will need to    reconfigure the “data center”• ant rdebug
DevCloud: as HostRun CloudStack on local machineUse DevCloud to setup hosts
DevCloud to test 4.1 branch• mvn -P developer clean• mvn -P developer install• mvn -P developer -pl developer –Ddeploydb• mvn -P developer -pl tools/devcloud –  Ddeploydb• mvn -pl :cloud-client-ui jetty:runConfigure infrastructure:• mvn -P developer,deploysvr -pl  tools/devcloud -Ddeploysvr
Testing Framework –for the PyUG                             [environment]• Marvin is a Python        dns=10.147.28.6                            mshost=10.147.39.69  based framework to run    mysql.host=10.147.39.69  tests against a                            [cloudstack]                            private.gateway=10.147.40.1  CloudStack install        private.pod.startip=10.147.41.121                            private.pod.endip=10.147.41.160• Could be used as a        private.netmask=255.255.254.0                            public.gateway=10.147.40.1  simulator of a            public.vlan.startip=10.147.41.162  datacenter                            public.vlan.endip=10.147.41.200                            public.netmask=255.255.254.0• Used to configure an                            hypervisor=XenServer                            host=10.147.40.10  infrastructure on a mgt   host.password=password                            #storage pools  server                    primary.pool=nfs://10.147.28.7:/expo                            rt/home/automation/sadhu/primary                            secondary.pool=nfs://10.147.28.6:/ex                            port/home/automation/sadhu/secondary
Opportunities for Java developers• Improve Maven build• Move to Spring framework• True REST API• Plugin framework with better  componentization – Cocoon ?• Junit tests• Support for Hadoop as storage backend• …
Info•   Apache incubator project•   http://www.cloudstack.org•   #cloudstack on irc.freenode.net•   @cloudstack on Twitter•   http://www.slideshare.net/cloudstack•   http://cloudstack.org/discuss/mailing-lists.htmlWelcoming contributions and feedback, Join the fun !

Recommended

PPT
Apache CloudStack AlpesJUG
PPT
DevCloud and CloudMonkey
PPT
Intro to Cloudstack
PPT
Building FOSS clouds
PPT
Intro to CloudStack Build a Cloud Day
PDF
iPaas with Fuse Fabric Technology
PDF
Scalable Object Storage with Apache CloudStack and Apache Hadoop
PPTX
BACD July 2012 : The Xen Cloud Platform
PDF
Hacking apache cloud stack
PPTX
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
PPTX
CloudStack technical overview
PPTX
Orchestration & provisioning
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
PPTX
Apache CloudStack from API to UI
PPTX
Cloudstack vs Openstack
PPTX
Apache CloudStack Architecture by Alex Huang
PPTX
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
PDF
OSGi Cloud Ecosystems
KEY
OpenStack Report
PDF
Openstack Global Meetup
PPTX
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
PDF
CloudStack-Developer-Day
PDF
CloudStack NVP Integration - BACD
PDF
CloudStack Architecture Future
PPTX
Hitchhiker's Guide to Open Source Cloud Computing
PPTX
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
PDF
OpenStack Momentum
PPTX
VMUG ISRAEL November 2012, EMC session by Itzik Reich

More Related Content

PPT
Apache CloudStack AlpesJUG
PPT
DevCloud and CloudMonkey
PPT
Intro to Cloudstack
PPT
Building FOSS clouds
PPT
Intro to CloudStack Build a Cloud Day
PDF
iPaas with Fuse Fabric Technology
PDF
Scalable Object Storage with Apache CloudStack and Apache Hadoop
PPTX
BACD July 2012 : The Xen Cloud Platform
Apache CloudStack AlpesJUG
DevCloud and CloudMonkey
Intro to Cloudstack
Building FOSS clouds
Intro to CloudStack Build a Cloud Day
iPaas with Fuse Fabric Technology
Scalable Object Storage with Apache CloudStack and Apache Hadoop
BACD July 2012 : The Xen Cloud Platform

What's hot

PDF
Hacking apache cloud stack
PPTX
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
PPTX
CloudStack technical overview
PPTX
Orchestration & provisioning
PDF
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
PPTX
Apache CloudStack from API to UI
PPTX
Cloudstack vs Openstack
PPTX
Apache CloudStack Architecture by Alex Huang
PPTX
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
PDF
OSGi Cloud Ecosystems
KEY
OpenStack Report
PDF
Openstack Global Meetup
PPTX
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
PDF
CloudStack-Developer-Day
PDF
CloudStack NVP Integration - BACD
PDF
CloudStack Architecture Future
PPTX
Hitchhiker's Guide to Open Source Cloud Computing
PPTX
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
Hacking apache cloud stack
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
CloudStack technical overview
Orchestration & provisioning
CloudStack Hyderabad Meetup: Using CloudStack to build IaaS clouds
Apache CloudStack from API to UI
Cloudstack vs Openstack
Apache CloudStack Architecture by Alex Huang
Introduction to CloudStack: How to Deploy and Manage Infrastructure-as-a-Serv...
OSGi Cloud Ecosystems
OpenStack Report
Openstack Global Meetup
vBACD- July 2012 - Crash Course in Open Source Cloud Computing
CloudStack-Developer-Day
CloudStack NVP Integration - BACD
CloudStack Architecture Future
Hitchhiker's Guide to Open Source Cloud Computing
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison

Similar to CloudStack for Java User Group

PDF
OpenStack Momentum
PPTX
VMUG ISRAEL November 2012, EMC session by Itzik Reich
PDF
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-2
PPTX
Citrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStack
PDF
Mach Technology
PPTX
PPTX
Virtual Security in Cloud Networks
PPTX
Building a cloud with cisco ucs and citrix
PDF
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
PPT
CloudStack Intro NYC
 
PPT
10 Minute Overview of Apache CloudStack
 
PDF
OpenStack at Xen summit Asia
PPTX
彭—Elastic architecture in cloud foundry and deploy with openstack
PDF
Portrait of the Developer as the Artist - OpenTour Sofia
PPTX
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar
PPTX
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar (ノートに...
PDF
RunningQuantumOnQuantumAtNicira.pdf
PDF
OpenStack, SDN, and the Future of Software Defined Infrastructure
PDF
Deep dive: Citrix CloudPlatform for Infrastructure as a Service
 
PPTX
Cloud stack overview
OpenStack Momentum
VMUG ISRAEL November 2012, EMC session by Itzik Reich
2012 CloudStack Design Camp in Taiwan--- CloudStack Overview-2
Citrix CloudStack - Build Your Own Scalable Infrastructure Cloud with CloudStack
Mach Technology
Virtual Security in Cloud Networks
Building a cloud with cisco ucs and citrix
Dell open stack powered cloud solution introduce & crowbar demo cosug-2012
CloudStack Intro NYC
 
10 Minute Overview of Apache CloudStack
 
OpenStack at Xen summit Asia
彭—Elastic architecture in cloud foundry and deploy with openstack
Portrait of the Developer as the Artist - OpenTour Sofia
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar
Apache CloudStack's Plugin Model: Balancing the Cathedral with a Bazaar (ノートに...
RunningQuantumOnQuantumAtNicira.pdf
OpenStack, SDN, and the Future of Software Defined Infrastructure
Deep dive: Citrix CloudPlatform for Infrastructure as a Service
 
Cloud stack overview

More from Sebastien Goasguen

PDF
Kubernetes Sealed secrets
PDF
Kubernetes Native Serverless solution: Kubeless
PPTX
Serverless on Kubernetes
PPTX
Kubernetes kubecon-roundup
PPT
Docker and CloudStack
PPTX
On Docker and its use for LHC at CERN
PPTX
CloudStack Conference Public Clouds Use Cases
PPT
Kubernetes on CloudStack with coreOS
PPTX
Apache Libcloud
PPTX
Moving from Publican to Read The Docs
PPTX
Cloud and Big Data trends
PPTX
SDN: Network Agility in the Cloud
PPT
Build a Cloud Day Paris
PPT
CloudStack / Saltstack lightning talk at DevOps Amsterdam
PPT
CloudStack Clients and Tools
PPT
CloudMonkey
PPT
Intro to CloudStack API
PPT
Apache CloudStack Google Summer of Code
PDF
Git 101 for CloudStack
PPT
Avoiding cloud lock-in
Kubernetes Sealed secrets
Kubernetes Native Serverless solution: Kubeless
Serverless on Kubernetes
Kubernetes kubecon-roundup
Docker and CloudStack
On Docker and its use for LHC at CERN
CloudStack Conference Public Clouds Use Cases
Kubernetes on CloudStack with coreOS
Apache Libcloud
Moving from Publican to Read The Docs
Cloud and Big Data trends
SDN: Network Agility in the Cloud
Build a Cloud Day Paris
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack Clients and Tools
CloudMonkey
Intro to CloudStack API
Apache CloudStack Google Summer of Code
Git 101 for CloudStack
Avoiding cloud lock-in

Recently uploaded

PPTX
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
PDF
GPUS and How to Program Them by Manya Bansal
PPTX
From Backup to Resilience: How MSPs Are Preparing for 2026
 
PDF
The year in review - MarvelClient in 2025
PPTX
Data Privacy and Protection: Safeguarding Information in a Connected World
PDF
Session 1 - Solving Semi-Structured Documents with Document Understanding
PDF
Decoding the DNA: The Digital Networks Act, the Open Internet, and IP interco...
PPTX
Coded Agents – with UiPath SDK + LangGraph [Virtual Hands-on Workshop]
PPTX
AI's Impact on Cybersecurity - Challenges and Opportunities
PPTX
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
PDF
Unlocking the Power of Salesforce Architecture: Frameworks for Effective Solu...
PDF
API-First Architecture in Financial Systems
PDF
TrustArc Webinar - Looking Ahead: The 2026 Privacy Landscape
PDF
DevFest El Jadida 2025 - Product Thinking
PDF
Making Sense of Raster: From Bit Depth to Better Workflows
PDF
Internet_of_Things_IoT_for_Next_Generation_Smart_Systems_Utilizing.pdf
PPT
software-security-intro in information security.ppt
PPTX
Building Cyber Resilience for 2026: Best Practices for a Secure, AI-Driven Bu...
DOCX
Introduction to the World of Computers (Hardware & Software)
DOCX
iRobot Post‑Mortem and Alternative Paths - Discussion Document for Boards and...
Kanban India 2025 | Daksh Gupta | Modeling the Models, Generative AI & Kanban
GPUS and How to Program Them by Manya Bansal
From Backup to Resilience: How MSPs Are Preparing for 2026
 
The year in review - MarvelClient in 2025
Data Privacy and Protection: Safeguarding Information in a Connected World
Session 1 - Solving Semi-Structured Documents with Document Understanding
Decoding the DNA: The Digital Networks Act, the Open Internet, and IP interco...
Coded Agents – with UiPath SDK + LangGraph [Virtual Hands-on Workshop]
AI's Impact on Cybersecurity - Challenges and Opportunities
THIS IS CYBER SECURITY NOTES USED IN CLASS ON VARIOUS TOPICS USED IN CYBERSEC...
Unlocking the Power of Salesforce Architecture: Frameworks for Effective Solu...
API-First Architecture in Financial Systems
TrustArc Webinar - Looking Ahead: The 2026 Privacy Landscape
DevFest El Jadida 2025 - Product Thinking
Making Sense of Raster: From Bit Depth to Better Workflows
Internet_of_Things_IoT_for_Next_Generation_Smart_Systems_Utilizing.pdf
software-security-intro in information security.ppt
Building Cyber Resilience for 2026: Best Practices for a Secure, AI-Driven Bu...
Introduction to the World of Computers (Hardware & Software)
iRobot Post‑Mortem and Alternative Paths - Discussion Document for Boards and...

CloudStack for Java User Group

  • 1.
    Apache CloudStack SebastienGoasguen GenevaJUG, Oct 30th Geneve, Suisse
  • 2.
    Info•Apache incubator project• http://www.cloudstack.org• http://incubator.apache.org/cloudstack/• #cloudstack on irc.freenode.net• @cloudstack on Twitter• http://www.slideshare.net/cloudstack• http://cloudstack.org/discuss/mailing-lists.htmlWelcoming contributions and feedback, Join the fun !
  • 3.
    A bit ofHistory• Original company VMOPs (2008) – Founded by Sheng Liang former lead dev on JVM• Open source (GPLv3) as CloudStack• Acquired by Citrix (July 2011)• Relicensed under ASL v2 April 3, 2012• Accepted as Apache Incubating Project April 16, 2012• First Apache (ACS 4.0) release expected Sept 26th
  • 4.
  • 5.
    Apache Process• 100%community driven• New ideas, decisions only taken on mailing lists. Votes taken by community• Project led by Project Management Committee (PMC): – http://www.apache.org/dev/pmc.html – http://incubator.apache.org/guides/committer.html• Non committers get invited as committers: – http://community.apache.org/newcommitter.html
  • 6.
  • 7.
    First Release almostout• Apache CloudStack 4.0• Check out the testing procedure: – https://cwiki.apache.org/CLOUDSTACK/cloudstack -40-test-procedure.html• Or watch my amazing screencast: – http://vimeo.com/52150218
  • 8.
    Contributions from outsideCitrix Examples: Sungard: Announced that 6 developers were joining the Apache project Schuberg Philis: Big contribution in building/packaging and Nicira support Go Daddy: Early proto of Maven building Caringo: Support for own object store
  • 9.
    CloudStack and Citrix • CloudPlatform powered by CloudStack • Feature parity, moving to CloudStack being upstream • Enterprise support • Enterprise training • Main contributor to Apache CloudStack, up to now
  • 10.
    Why make itOpen Source ?• Large partner ecosystem needed a way to integrate quickly• Users drive adoption in early markets – providing shortest path to adoption is open source• Open source communities are driving integrations and standards• Faster time to market, short feedback loop from user community• Enterprise ready and wanted an open source solution for customers to develop on.
  • 11.
    What Does itdo ?• Open source Infrastructure as a Service (IaaS) platform.• Data Center orchestrator• Hypervisor agnostic (with addition of bare metal provisioning)• Support complex enterprise networking (e.g Firewall, load balancer, VPN, VPC…)• Multi-tenant
  • 12.
  • 13.
    A Very FlexibleIaaS PlatformCompute HypervisorStorage Block & Object Primary Storage Secondary StorageNetwork Network & Network Services http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 14.
    Architecture / Language•Java application• Tomcat6, Axis2, Maven build + ant – Ant going away in 4.1• Moving towards a plugin architecture – Cocoon ? Spring ?• Collaboration Conference, Nov 30th -Dec 2nd – http://collab12.cloudstack.org/
  • 15.
    Build and Runin 4.1• git clone https://git-wip- us.apache.org/repos/asf/incubat or-cloudstack.git• mvn clean• mvn install• mvn –P developer –pl developer –Ddeploydb• mvn –pl :cloud-client-ui jetty:run
  • 16.
    Cloud Interactions OVM Cluster Primary Storage Ap i Xen vcenter vcenter Monitoring Primary CS API Clu I ste AP vSphere Cluster Storage r M n ter End End gm vCe t User UI User UI Primary XS Cluster Storage Admin Admin Clustered Clustered CloudStack XAPI UI UI CloudStack Domain Domain CS Admin & CloudStack CloudStack CloudStack CloudStack End-user API Primary Admin Admin UI UI Management Management JSON KVM Cluster Storage Server Server NetConf Juniper SRXCloud user Nitro API{API client (Fog/etc)} VNC JSON ec2 API JSON Netscaler Cloud user Console Console Console {ec2 API client } ProxyConsole VM Proxy VM Proxy VM Proxy VM NFS MySQL MySQL Server Sec. Storage Sec. Storage NFS NFS {Proxied} SSH Sec. VM Storage Sec. Storage VM Ajax Ajax HTTPS VM VM Console Console Router VM Router VM HTTP (Template Download) Router VM Router VM HTTP (Template Copy) Router VM Router VM Cloud user HTTP (Swift) http://www.slideshare.net/cloudstack/cloudstack-architecture
  • 17.
    Terminology Zone: Availability zone, aka Regions. Could be worldwide. Different data centers Pods: Racks or aisles in a data center Clusters: Group of machines with a common type of Hypervisor Host: A Single server Primary Storage: Shared storage across a cluster Secondary Storage: Shared storage in a single Zone
  • 18.
    Storage• Primary Storage: – Anything that can be mounted on the node of a cluster. – Cluster LVM…iSCSI… – Holds disk images of running VMs – Support for CEPH with KVM hypervisors• Secondary Storage: – Available across the zone – Holds snapshots and templates (image repo) – Can use Openstack swift or any object store (Gluster FS…) – New support for Caringo• Can use NFS for both to start• Storage Abstraction refactoring underway
  • 19.
    Networking• Extremely flexibleto: – Provide isolation with VLANs – Provide isolation at L3 with shared L2 (scalability) – Support hardware devices that exposes API – Deployed on existing networking infrastructure – Support new networking paradigm (SDN) • Support for Nicira Virtual P • Extensive use of Open VSwitch
  • 20.
    Physical Network Operations Users Admin and Cloud API CloudStack Mgmt Server Cluster Router MySQL Load Balancer Availability Zone L3 Core Switch Access LayerSwitches … Secondary Servers Storage … … … … Pod 1 Pod 2 Pod 3 Pod NSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • 21.
    Layer-2 Guest VirtualNetwork CS Virtual Router provides Network Services External Devices provide Network Services Network Hardware exposing API can be controlled Guest Virtual Network 10.1.1.1/8 Guest Virtual Network 10.1.1.1/8 VLAN 100 VLAN 100Public PublicNetwork/Inter Network/Internet Guest net Guest Guest Guest Private IP VM 11 Public IP 10.1.1.1 VM 11 10.1.1.1 VM 10.1.1.111 VM Gateway 65.37.141.11 Juniper JuniperPublic IP 1 SRX SRX address65.37.141.11 CS Firewall Firewall CS 10.1.1.1 Guest Guest Guest Guest Virtual Virtual 10.1.1.3 VM 22 VM 10.1.1.3 VM 22 VM Router Router Public IP Private IP DHCP, DNS 65.37.141. NetScaler 10.1.1.112 NetScaler NAT Guest 112 Load Guest Guest Load Guest Load Balancing 10.1.1.4 VM 33 Blancer VM 33 VM Blancer 10.1.1.4 VM VPN Guest Guest Guest Guest 10.1.1.5 VM 44 VM 10.1.1.5 VM 44 VM CS CS DHCP, Virtual Virtual Router Router DNSSlide from Chiradeep Vittal, http://www.slideshare.net/cloudstack/cloudstack-networking
  • 22.
    L3 isolation• Togo beyond the limitation of VLANs (4096 vlans per switch)• Move to L3 isolation – Shared L2 – Manage one firewall per VM• Potential use of GRE tunnels to create single L2 overlay• GRE in tech preview for site to site VPN.
  • 23.
    L3 isolation withdistributed firewalls Tenant 10.1.0.2Public Public IP address 1 VM 1Internet 65.37.141.11 65.37.141.24 65.37.141.36 10.1.0.1 Pod 1 L2 Tenant 10.1.0.3 65.37.141.80 Switch 2 VM 1 Tenant 10.1.0.4 1 VM 2 L3 Core Pod 2 L2 Switch 10.1.8.1 … Tenant 10.1.16.12 10.1.16.1 2 VM 2 Load Pod 3 L2 Balancer Switch Tenant 2 VM 3 10.1.16.21 … Tenant 1 VM 3 10.1.16.47 Tenant 10.1.16.85 1 VM 4 Slide from Chiradeep Vittal
  • 24.
  • 25.
  • 26.
    API•Not really REST• A set of methods available over http(s)• Unauthenticated on integration port• Authenticated on 8080 using Access and Secret Key• Python/Ruby clients available• Internal Marvin client• CLI under development• Other clouds client support the API
  • 27.
    Making API callsCanbe authenticated or not.HTTP call.User Keys can be generated via the GUIBase url: http://<manager-host>:8080/client/api?….def make_request(requests, secretKey): request = zip(requests.keys(), requests.values()) request.sort(key=lambda x: str.lower(x[0])) requestUrl = "&".join(["=".join([r[0], urllib.quote_plus(str(r[1]))]) for r in request]) hashStr = "&".join(["=".join([str.lower(r[0]),str.lower(urllib.quote_plus(str(r[1]))).replace("+", "%20")]) for r in request]) sig = urllib.quote_plus(base64.encodestring(hmac.new(secretKey, hashStr,hashlib.sha1).digest()).strip()) print "Signature: %s"%sig requestUrl += "&signature=%s"%sig print requestUrlif __name__ == '__main__': requests = { "apiKey": "BRZ5j4E8O4di2MZWnQsYBLThCrTGO-LGeZaMjsnvelkHuY5P8FdTnluNZTDQhCUy-wqeJzk8EAc_NbcZxTF_FA", "response" : "json", "command" : "listZones" } secretKey = "bFlx2llt3OmM4AiHzfwV1ZbuJ5tsv6hAx6IeM32CkM-obCA77BRwBr3_yQ0bO1-kdZyfD3-lY6khsXCx18n3Mw" make_request(requests, secretKey)
  • 28.
    EC2 /S3 compatibility•Significant development work happening to make Cloudstack highly compatible with EC2 /S3 API.• http://wiki.cloudstack.org/display/RelOps/EC2+API +support+in+CloudStack• http://www.slideshare.net/sebastiengoasguen/clou dstack-ec2-configuration• Euca tools, boto etc…should work with cloudstack.
  • 29.
    Enabling EC2 andS3• Via the GUI• Via API call on integration API port 8096 http://localhost:8096/client/api? command=updateConfiguration&name=enable.s3.api&value=true http://localhost:8096/client/api? command=updateConfiguration&name=enable.ec2.api&value=true
  • 30.
    Highly Scalable• See: – http://www.slideshare.net/cloudstack/scalability- 12819428 – From Alex Huang. 10k “resources” managed per Mgt server. 30k resources with 30k VM in simulation.• Management server can be setup in a multi- node configuration with a load-balancer and replicated MySQL.
  • 31.
    SandBox: DevCloud• AVirtual box appliance packaged to provide a working CloudStack environment.• Aimed at developers but has other use cases: – Xen PV hosts gives nested virtualization – Local EC2/S3 Cloud on your laptop – Networking experiments ?• http://wiki.cloudstack.org/display/comm/Dev Cloud
  • 32.
  • 33.
    Testing “4.0” codein DevCloud• Deploy new CloudStack code in self-contained DevCloud:• mvn –P deps• ant rdeploy• ant rdeploydb – Wipes database of mgt server, you will need to reconfigure the “data center”• ant rdebug
  • 34.
    DevCloud: as HostRunCloudStack on local machineUse DevCloud to setup hosts
  • 35.
    DevCloud to test4.1 branch• mvn -P developer clean• mvn -P developer install• mvn -P developer -pl developer –Ddeploydb• mvn -P developer -pl tools/devcloud – Ddeploydb• mvn -pl :cloud-client-ui jetty:runConfigure infrastructure:• mvn -P developer,deploysvr -pl tools/devcloud -Ddeploysvr
  • 36.
    Testing Framework –forthe PyUG  [environment]• Marvin is a Python dns=10.147.28.6 mshost=10.147.39.69 based framework to run mysql.host=10.147.39.69 tests against a [cloudstack] private.gateway=10.147.40.1 CloudStack install private.pod.startip=10.147.41.121 private.pod.endip=10.147.41.160• Could be used as a private.netmask=255.255.254.0 public.gateway=10.147.40.1 simulator of a public.vlan.startip=10.147.41.162 datacenter public.vlan.endip=10.147.41.200 public.netmask=255.255.254.0• Used to configure an hypervisor=XenServer host=10.147.40.10 infrastructure on a mgt host.password=password #storage pools server primary.pool=nfs://10.147.28.7:/expo rt/home/automation/sadhu/primary secondary.pool=nfs://10.147.28.6:/ex port/home/automation/sadhu/secondary
  • 37.
    Opportunities for Javadevelopers• Improve Maven build• Move to Spring framework• True REST API• Plugin framework with better componentization – Cocoon ?• Junit tests• Support for Hadoop as storage backend• …
  • 38.
    Info•Apache incubator project• http://www.cloudstack.org• #cloudstack on irc.freenode.net• @cloudstack on Twitter• http://www.slideshare.net/cloudstack• http://cloudstack.org/discuss/mailing-lists.htmlWelcoming contributions and feedback, Join the fun !

Editor's Notes

  • #16 https://cwiki.apache.org/CLOUDSTACK/building-with-maven.html
  • #24 As vms get created and destroyed, CloudStack has to ensure the configuration of the host-based firewalls (iptables) is consistent with the security group rules programmed by the cloud user
  • #26 http://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root_Admin.html
  • #36 https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+devcloud+environment+setup
  • #37 https://cwiki.apache.org/confluence/display/CLOUDSTACK/Testing+with+Python

[8]ページ先頭

©2009-2025 Movatter.jp