jelastic features 2.x
DESCRIPTION
TRANSCRIPT
JELASTIC FEATURES
Ruslan Synytsky, CTO
July 2014
PaI = PaaS + IaaS
• Jelastic brings together the flexibility of IaaS and the ease of use of PaaS for
enterprises, hosting service providers and developers
• PaaS automates all routine tasks on apps deployment
• IaaS is used to build complex apps with
some components currently missing in PaaS
or very complex deployment architecture
• Both PaaS and IaaS can be mixed together
Jelastic Architecture
No Restrictions - No Lock-In
Many other PaaS platforms provide restrictions and limitations such as
• no way to change configurations files for databases and application servers
• no way to use public IP address or custom ports
• no way to use multicast network
• limited ways to deploy an application (only git-push-deploy)
• only shared load balancer without ability to tweak rules/configs
• strict limitations to write on the file system
• stateless design is strongly forced
With Jelastic you have no such restrictions!
High Density: Containers
Jelastic uses Containers virtualization as primary
virtualization option
• Containers’ auto-scaling allows to provide better density
• Containers have the minimal overhead in contrast to
hardware virtualization
• Containers can scale automatically
up and down without restart
– RAM, Storage, CPU, Network, IOPS
High Density: Auto-Hibernation
• Jelastic provides auto-hibernation of test and dev
environments after idle of user requests to them for
some time
• This dramatically economies hardware
resources and provides better density
• Jelastic resumes these environments
in seconds just after the first user request
High Density: Deduplication
Jelastic uses inbound to its virtualization technology of
file-system data deduplication
• Binaries, libraries and config files of middleware stacks or
end-user applications are usually the same
• Jelastic stores the same files only in a single instance on a
particular hardware server which can
provide more than 10x economy on
storage capacity
Containers and Hypervisor VMs
Jelastic supports both Container and Hypervisor
virtualization technologies
• Containers provide better density and performance
• Hypervisors allow to run apps on different OS on the same
hardware server and avoid rare issues
with containers virtualization
Polyglot PaaS
Wide choice of Programming Languages and
Frameworks
• Java
• PHP
• Ruby
• Python
• Node.JS
• .Net support is coming in Q4
Supported Middleware Stacks
Wide range of middleware stacks are supported:
• Load balancers (Nginx)
• App Servers– Apache2, Nginx, JBoss, Glassfish, Tomcat, Jetty, TomEE
– Java EE5 and Java EE6 are supported
• Databases– SQL: MySQL, MariaDB, PostgreSQL,
– NoSql: MongoDB, CouchDB, Neo4j, Cassandra, Redis
• Cache servers: – Memcached, Varnish
Jelastic stacks are easily customizable and extendable via cartridges
Database Clustering
Variety of database technologies are available in Jelastic with ability to have them automatically connected into the application stacks. The following Database Servers are supported:
• PostgreSQL
• MySQL
• MariaDB
• Neo4j
• MongoDB
• Apache Cassandra
• Redis
• CouchDB
In the near future Jelastic will support database clustering set just in one-click with no additional configurations required.
Enterprise Apps with Java EE6
Ability to deploy Java EE6 applications on JBoss, GlassFish and TomEE.
Automation of another Java EE Servers can be added via cartridges.
This allows IT companies heavy using Java EE to move their applications to the cloud without re-writing or re-architecting them
OpenShift Cartridges Support
• Jelastic supports OpenShift cartridges specification
• This allows to use middleware packed by OpenShift
community in Jelastic
• LB servers
• App servers
• DB servers
• Caching servers
• Others
Enterprise Cartridges
• Jelastic supports Enterprise middleware stacks through OpenShift cartridges format– JBoss, PostgreSQL, Percona*, ZendServer* etc.
• Developers can easily add other required languages, db, or middleware components via the customizable Cartridge system
• This unique Cartridge-based extensibility allows Developers (and Operations) to extend the PaaS with specific enterprise standards or requirements
Docker Support
• Jelastic will support Docker images this fall
• All Docker images will be compatible with Jelastic
and will be available for provisioning middleware
stacks
Multi Elastic VPS
Along with PaaS Jelastic provides ability to use IaaS features, represented by Elastic Virtual Private Servers
• VPS is represented by bare Virtual Container or Virtual Machine
• VPS is suitable when you need to host custom workload that currently is not supported by PaaS(e.g. custom languages, DBs, Hadoop)
• It’s possible to ceate multiple VPS and connect them seamless with PaaS environments
Support of Legacy Apps
Jelastic implements “zero code change” design from the first days.
You can deploy any app in the cloud, even with outdated design or without horizontal scaling settings.
This is very suitable especially for proprietary software which distributes only binaries.
Application Zero Lock-In
Jelastic includes unmodified open source language runtimes. So applications developed on Jelastic can be easily moved to other environments supporting the same open source languages.
For example, Ruby or JBoss applications running on Jelastic can be move to stand-alone implementations of Ruby or JBoss in the datacenter
Stateless and Stateful arch
Jelastic supports specifics of stateless and stateful architecture
• The sessions are stored in different databases
• Applications can write on the file system
• Jelastic clones containers when an application scales horizontally
• Custom files and configs are fully replicated to the new container
• It is allowed to tune each container independently
• Session replication via multicast as approach to sync data in clusters for Tomcat,
GlassFish and others
Automatic Vertical Scaling
• Ability to scale an app automatically Up and Down within
resources of hardware server
• Useful for legacy apps and apps that are not designed for
horizontal scalability
• Provides much more density
of applications and resource
usage than any other
Cloud/Virtualization technology
Vertical Scaling: How It Works
• During the load spikes Jelastic gives more resources to an application (up to the predefined limits of a virtual container) and takes them (resources) back when they are not needed anymore
• Jelastic tunes different stacks according to the available resources –when user changes scaling limits of container Jelastic adjusts configuration files of the stack inside the container.
• As a result Jelastic tries to utilize resources in the most optimal way, for example: by default JVM GC is configured in the way that allows to use vertical scaling without reloads
Hot Add of Resources
Jelastic supports hot add of any resources without app
restarts:
• RAM
• CPU
• HDD storage
• Network throughput
• IOPS
Automatic Horizontal Scaling
Jelastic enables cloud elasticity by providing automatic horizontal application scaling due to load changes. • In and Out scaling are supported
• Thresholds based on CPU, RAM, IO* usage
Horizontal scaling is a solution
• when your app is limited to physical resource amount on single hardware server
• when you need to handle huge spike loads
Collaborative Work
Jelastic supports collaborative work of
people from the same organization or
organizational unit
• Use and configure shared environments
• Work with the same VCS repository
• Manage organization users
• One consolidated billing account
Built-In Billing with Blue Money
Jelastic provides very flexible billing engine which is able to bill customers in different ways:
• It allows to define different billing groups, different tariffs and discounts
• Pre-paid and post-paid models are supported
• Billing users on hourly basis
• CPU, RAM, Storage, Network traffic usage
• Arbitrary services
• Dynamic billing rates are supported, e.g. the more you consume the less you pay for the unit of consumption
Limitation for Different Groups
• Support of different groups with different
permissions and quotas
• Company’s group policies can be implemented in
Jelastic through user groups
• Available personal limitations/quotas that override
groups one
Shared or Dedicated Load Balancer
Load balancing ensures high system availability through the distribution of workload across multiple components. Using multiple components with load balancing, instead of a single component, may increase reliability through redundancy.
Jelastic uses NGINX for two types of balancing:
• HTTP
• TCP
HAProxy will be added in the near future via cartridges.
Jelastic provides a flexible choice of:
• fault tolerant shared load balancer for dev and test environments
• fault tolerant dedicated load balancer for production apps
SSH Gate
Jelastic users can remotely access individual application containers for applications deployed on the PaaS in order to see their processes, file system, and log files. This allows users to best architect and manage their applications
SSH Gateway accepts users’ connections from the internet and then transmits these connections to the desired container, using an internal network
• Interactive menu and ability to travel across many environments and containers without unneeded extra authentication
• Direct connect to any container with support of SFTP, SCP, FISH, Puppet, Chef, Capistrano, etc.
Chef and Puppet Integration
• Built-in mechanism of creation and cloning of complex
development/testing/production environments
• Service updating through the launch of new software
generation
• Repeatable configuration behavior is in the platform
architecture
• It allows to reuse collected base of
automation receipts
Public API
• Create very complex workflows/scenarios and app
management
• Simply integrate your
existing solutions with
Jelastic Cloud Services
• Easily provision and de-provision the needed amount
of virtual machines for specific workloads
Dependency and Build Management
Jelastic includes different Dependency and Build Management tools including Maven for Java, Bundler for Ruby and NPM for Node.JS
• automate the process of identifying dependencies in source code
• pulling in the required libraries
• building the complete application
This both increase productivity and reduces the chance of error.
These tools become critical in a cloud application platform like PaaS
Application Lifecycle Management
Jelastic supports multiple Application Development Lifecycle stage environments (such as Dev, QA, Prod).
Enterprises can adopt and implement the Jelastic platform without changing their current methodologies or processes
• GIT/SVN integration
• Smooth migration between dev-test-prod
• Environments cloning
• Swap domains/traffic between 2 instances of app (change pre-prod to prod without downtime)
• Continuous delivery using Maven and CI integration
Continuous Integration and Release Management
Jelastic includes Jenkins Build Server for Continuous Integration and Release Management which:
• performs tests upon code check-in
• orchestrates the build process
• automatically promotes or cancels an application release based on results of the tests or build
This automated release management becomes a critical part of streamlining the application development
In addition supported:
• TeamCity
• Hudson
Continuous Delivery
Jelastic provides everything for organizing right continuous delivery process:
• CI tools
• Environment cloning
• Switching domain names and traffic between stage and production environments
• Public API
• Update and rollback patches
Accelerated Application Service Delivery
Jelastic enhances the productivity and agility of the
Application Developer by:
• standardizing the workflow of app development lifecycle
• enabling the acceleration of application service delivery
• effective increasing the Velocity of IT
• removing tedium and delay with server, OS, and
middleware provisioning through on-demand and self-
service application stack access
IDE Integration
Jelastic has built-in integration with Eclipse, NetBeans,
and IntelliJ Idea.
Many developers can stay
entirely within the IDE that
they are comfortable with
when working with Jelastic
Remote Debugging of Applications
Developers can perform live break-point-enabled
debugging of applications running within Jelastic using:
• attached external IPv4 to any app container
• integrated Eclipse, NetBeans
and IntelliJ Idea
Dev Dashboard
• Creates and manages the application
environment– application servers
– load balancers
– clustering and availability
• Keeps server configs up to date and
consistent across environment
• Defines parameters for app autoscaling
• Provides orchestration for application
deployment, patches, updates and roll-
backs
• And many others
Ops Panel
Jelastic’s Cluster Admin panel provides a consolidated
view of your cloud resources.
• Add servers to the cloud quickly and easily
• Comprehensive analytics for all resources in the
cloud
• Performance metrics and tuning
• Sophisticated user and security management
features
• And many others
High Performance (Hardware and Software)
Jelastic automatically optimize all middleware stacks for
the best performance according to available resources
• Unique technologies of smart VMs placement, Smart
Live Migration allows to offload Cloud Cluster
• Support of SAN and software
defined storage provides fault
tolerant solution
Multi Tenancy
Jelastic provides ability to run the same app in hundreds
and thousands isolated environments
• App is not needed to be adopted for that in contrast to
programmatically multi-tenancy
• Such approach is very secure
Jelastic provides ability to manage
and perform bulk update all of them
automatically
Live Migration
Jelastic is able to live migrate virtual machines between different hardware servers without downtime
Use-cases:• Offload hardware server with too big load average
• Offload hardware server for maintenance or OS/Kernel upgrade
• Migrate virtual machines to hardware server with greater performance/capacity
Smart Migration
• Jelastic contains unique technology of Smart Live Migration which provides automatic live migration of VMs to offload the whole Cloud Cluster
• This approach allows to avoid issues when some hardware servers become overloaded or applications placed on them don’t have growth ability
• Smart live migration automatically rebalances Cloud Cluster without any affect on app availability and performance
SMART Containers/VMs Distribution
Jelastic provides smart VMs placement on their creation
• Each VM is placed using special algorithm with checking if target server is able to handle workload of this VM and contains enough resources to host it
• This allows to avoid situations when some hardware nodes in cluster are overloaded and others are almost idle
• Anti-affinity for smart distribution across hardware nodes asures that app nodes will not be placed at the same container
Software Defined Storage
• Software-defined-storage (SDS) allows fast distribution across cluster and automatic fast recovering of failed containers/VMs from the failed hardware node
• Files and containers/VMs are replicated (usually have 3 copies) to protect from hardware failures
• Redundancy on Application/DB and LB layers minimizes downtime
Full High Availability for Apps
Ability to configure full HA for
• Load-Balancers*
– Redundancy and Failover public IP
• App Server
– Redundancy with Session data replication
• DB
– Master-Slave/Master-Master
Zero Downtime Update
Rolling updates for clustered applications
(Load Balancer + Multiple App Servers)
• First instance stops receiving traffic and is updating
• First app server starts after update and begins to accept
traffic
• Second and following app servers are updating the same
manner
Apps Pre-Packaging
• Ability to pack the most useful and
popular apps
• Easy way to provide patched and
updates for such apps
– Configuration files
– DB: data and schema
– Environment topology
Enterprise App Templates
Set of pre-configured clustered applications installed in
a single click
– CMS
– CRM
– HRM
– ERP
– And more
Ability to add your own clustered apps
Development Innovations Support
Jelastic's supports:
• Backend-as-a-Services (BaaS)
• Mobile Platform-as-a-Services (mPaaS)
• Gaming App Servers
This allows the development of cloud-backed mobile applications for Android or iOS that can be serviced by back-end applications running on Jelastic
– SmartFoxServer
– Apache UserGrid
– BAASBOX
– Deployd
– Helios
Marketplace
• Integrated marketplace
• Geo-distributed marketplace
Choice of Cloud Infrastructure
• No specific requirement for the infrastructure layer
• Jelastic can be deployed on top of physical servers, a
virtualization platform, an Infrastructure-as-a-Service as long
as a public cloud provider
• This gives IT the freedom to deploy the Jelastic solution in a
way that best fits within their existing infrastructure options
Multi Clustering and Availability Zones
• Ability to set up different clusters and mange them from the same panel
• Ability to create Availability Zones, manageable from the same panel and deploy applications across these AZs to eliminate downtime in case of DC hardware failure
• Applications can be spread to the multiple availability zones and run in the following modes
Export/Import
Jelastic supports import and export of the whole
environment
• Topology
• Settings
• App & DB files
This provides a simple ability to migrate apps between
different DCs
Bridge between Public and Private Cloud
With Jelastic you can create multiple Hybrid Clouds and connect your Private Cloud with multiple Public Clouds
• Test, acceptance, and occasional usage –
testing out different kinds of products for
evaluation or acceptance purposes
• Scalability – applications that require occasional
computing power, or computing power with
uncertain upfront resource demands
• Backup in the cloud – resilience by storing
duplicates, which allows for recovery when one
(or even multiple) copies of a data object are lost
Geo-Distributed Replication & Balancing
With Jelastic it’s possible to:
• Organize geo-distributed
replication of App or DB
• Balance traffic between
different datacenters of
Availability zones within
single datacenter
Out-of-the-Box Monitoring
• Built-in Zabbix and integration
– Pre-defined triggers and alerts
– Ability to add your own
• Built-in monitoring of rapidly changing Cloud Datacenter
• Integration with Application Performance Monitoring Tools:
– DripStat
– NewRelic
– AppDynamics
Audit Logs
Jelastic audits all actions that any user or platform administrator performs
– Environment operations: Create/Delete/Deploy/Change topology, etc
– Account activity: sign-in, sign-out, password changes
– Account administration
– Cloud Cluster configuration changes
Audit log can be represented as interactive report with filtering by different criteria
Support Options
Jelastic provides support packages,
depending on your need and critical
level of your service
• 24/7
• 8/5
Support is provided by certificated
engineers
Oracle Platinum Partner Support
Jelastic has a partnership with Oracle Platinum Support
company which provides consulting on Oracle
deployment and seamless integration with Jelastic Cloud
JELASTIC VS. VMWARE
VMware vCloud Suite
• Enterprise-class IaaS-only: no PaaS
• Excellent DR
• Expensive
• Complicated
Jelastic Platform-as-Infrastructure
• PaaS + IaaS
• Simple installation: entire stack is turnkey
• Simple management of cloud
• Self-management of dev environments
• No code changes for any apps
• Granular auto-scaling
• Better performance (containers)
• At least 30% better density
• TCO savings of 90%+
• Application lifecycle management features
62
JELASTIC VS. OPENSHIFT/OPENSTACK
63
OpenShift/OpenStack• OpenStack IaaS + OpenShift PaaS• Open Source Community offering – over 17
different OpenStack distributions available• Complicated – requires third party
implementation/integration/support• Lego – building block approach to cloud
Jelastic Platform-as-Infrastructure• PaaS + IaaS• Simple installation: entire stack is turnkey• Jelastic features lead Open Standards• Simple management of cloud• Self-management of dev environments• No code changes for any apps• Granular auto-scaling• Better performance (containers)• TCO savings of 50%+• Application lifecycle management features
Thank You!