What is Cloudify
Nir Cohen @
nir0s@github
@thinkops
Agenda
- A (very) brief history
- Current problems
- What Cloudify is and what it provides
- Installing an application
- Managing an application
- Behind the scenes
A brief history (~11y back)
- Application == code --> Application == Everything
- On premise --> IaaS + PaaS + SaaS == Cloud
- Managed services --> Self service
- Prepay --> Pay per usage
- Manual construction --> API based
- SaaS scale change
Current Problems
- Disposable environments
- Post install management
- Process repeatability
- Cloud is just an API
- Vendor Locking
- Extensibility
- Multi-Cloud
's Mission Statement
Cloudify’s mission statement is to allow organizations to realize the benefits of cloud computing by simplifying the management of cloud applications at scale
is
- An application management framework
- Standardized (based on TOSCA)
- Anti vendor-locking
- Open-source stack
- Written in Python
- open-source
- Pluggable
provides
- A standardized way to manage applications
- An easy API to write abstractions
- Strong contextual capabilities
- Repeatable workflows
- OOB CM plugins (Docker, Fabric, script, etc..)
- OOB IaaS plugins (AWS, Openstack, etc..)
- CLI, Server and visual composer
- Healing and scaling workflows
- Agent or agentless approach
- A web UI
Target Audience
- Developers
- System Architects
- System Administrators
Installing an application
Managing an application
- Updating a deployment
- Executing the scale workflow
- Settings up metrics collection
CLI vs. Manager
- Centralized management (REST)
- Data retention
- Concurrent executions
- Security features
- Multiple applications
- Multiple deployments
- High availability
- Web Interface
- Simple installation
- Manage managers
- Deploy applications locally or via a manager
Behind the scenes
Manager Architecture
Development Infra
- ~60 active GitHub repositories
- PRs and CRs for each merge
- PEP8 fully enforced via flake8
- Jenkins based builds with swarm nodes
- Build flow tool developed in house
- Python 2.7
Testing Infra
- tox + nose for all unit tests
- Using unittest or testtools (considering pytest)
- Aiming for 94% unit test coverage
- Comprehensive integration and system tests
- TravisCI --> CircleCI (unit tests + flake8)
- system-tests framework developed in house
- dev-flow tool developed in house
Generic Tooling
Refs
- GitHub Org: https://goo.gl/mx7s6c
- Project Website: http://getcloudify.org/
- NFV Deployment Demo: https://goo.gl/uc6Fdr
- Our tools: http://cloudify-cosmo.github.io/
jobs@gigaspaces.com
http://jobs.gigaspaces.com
Cloudify
By Nir Cohen
Cloudify
What Cloudify is
- 2,128