63
JELASTIC FEATURES Ruslan Synytsky, CTO July 2014

Jelastic Features 2.x

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Jelastic Features 2.x

JELASTIC FEATURES

Ruslan Synytsky, CTO

July 2014

Page 2: Jelastic Features 2.x

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

Page 3: Jelastic Features 2.x

Jelastic Architecture

Page 4: Jelastic Features 2.x

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!

Page 5: Jelastic Features 2.x

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

Page 6: Jelastic Features 2.x

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

Page 7: Jelastic Features 2.x

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

Page 8: Jelastic Features 2.x

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

Page 9: Jelastic Features 2.x

Polyglot PaaS

Wide choice of Programming Languages and

Frameworks

• Java

• PHP

• Ruby

• Python

• Node.JS

• .Net support is coming in Q4

Page 10: Jelastic Features 2.x

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

Page 11: Jelastic Features 2.x

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.

Page 12: Jelastic Features 2.x

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

Page 13: Jelastic Features 2.x

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

Page 14: Jelastic Features 2.x

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

Page 15: Jelastic Features 2.x

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

Page 16: Jelastic Features 2.x

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

Page 17: Jelastic Features 2.x

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.

Page 18: Jelastic Features 2.x

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

Page 19: Jelastic Features 2.x

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

Page 20: Jelastic Features 2.x

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

Page 21: Jelastic Features 2.x

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

Page 22: Jelastic Features 2.x

Hot Add of Resources

Jelastic supports hot add of any resources without app

restarts:

• RAM

• CPU

• HDD storage

• Network throughput

• IOPS

Page 23: Jelastic Features 2.x

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

Page 24: Jelastic Features 2.x

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

Page 25: Jelastic Features 2.x

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

Page 26: Jelastic Features 2.x

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

Page 27: Jelastic Features 2.x

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

Page 28: Jelastic Features 2.x

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.

Page 29: Jelastic Features 2.x

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

Page 30: Jelastic Features 2.x

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

Page 31: Jelastic Features 2.x

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

Page 32: Jelastic Features 2.x

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

Page 33: Jelastic Features 2.x

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

Page 34: Jelastic Features 2.x

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

Page 35: Jelastic Features 2.x

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

Page 36: Jelastic Features 2.x

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

Page 37: Jelastic Features 2.x

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

Page 38: Jelastic Features 2.x

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

Page 39: Jelastic Features 2.x

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

Page 40: Jelastic Features 2.x

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

Page 41: Jelastic Features 2.x

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

Page 42: Jelastic Features 2.x

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

Page 43: Jelastic Features 2.x

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

Page 44: Jelastic Features 2.x

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

Page 45: Jelastic Features 2.x

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

Page 46: Jelastic Features 2.x

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

Page 47: Jelastic Features 2.x

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

Page 48: Jelastic Features 2.x

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

Page 49: Jelastic Features 2.x

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

Page 50: Jelastic Features 2.x

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

Page 51: Jelastic Features 2.x

Marketplace

• Integrated marketplace

• Geo-distributed marketplace

Page 52: Jelastic Features 2.x

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

Page 53: Jelastic Features 2.x

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

Page 54: Jelastic Features 2.x

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

Page 55: Jelastic Features 2.x

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

Page 56: Jelastic Features 2.x

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

Page 57: Jelastic Features 2.x

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

Page 58: Jelastic Features 2.x

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

Page 59: Jelastic Features 2.x

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

Page 60: Jelastic Features 2.x

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

Page 61: Jelastic Features 2.x

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

Page 62: Jelastic Features 2.x

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

Page 63: Jelastic Features 2.x

Thank You!