5. Why use a PaaS?
• Need Java J2EE hosting
• Quick start with powerful hardware
• Speed – develop apps quickly in the cloud
• Management – versioning, rollbacks &
upgrades
• Monitoring - performance, logs and uptime
• Auto-scaling – on-demand resource
6. PaaS concept
Application server
JMS
Application Application Application
7. PaaS concept
PaaS
JMS
App Server App Server App Server
8. PaaS concept
PaaS
JMS
JMS JMS JMS
App Server App Server App Server
9. Amazon Beanstalk
• Pure PaaS based on Tomcat
• It’s really cool – but no one saw it
• Pricing is same as for EC2
• You can integrate it with any of EC2 services
• Free tier for 1 year (micro-instance)
11. Red Hat in The Cloud
"OpenShift has a fully integrated development workflow,“ … "You could
code on an iPad now, because you are not doing any compilation locally
and not doing any of the runtime locally."
With OpenShift, "the developer
can focus on the application, not
the stack. They don't have to
worry about maintaining all the
infrastructure and middleware,"
Issac Roth, Red Hat PaaS master
12. Introducing OpenShift
• A free auto-scaling PaaS from Red Hat
• Announced in May 2011 (Red Hat Summit 2011)
• Acquired last November with its purchase of Makara
• Support a full JavaEE 6 stack, multiple frameworks, languages, and clouds:
Java, Python, PHP and Ruby, including Spring, Seam, Weld, CDI, Rails, Rack,
Symfony, Zend Framework, Twisted, Django and Java EE
• Freedom of Choice (supports well-known frameworks)
• Fast on-ramp to the cloud...upload code and go!
• Based on Microsoft's Hyper-V, VMware's ESX, and Red Hat's KVM hypervisor
• Supported clouds: Amazon (beta); others ( IBM SmartCloud, NTT, Savvis, and
Fujitsu clouds)
14. Overview OpenShift
• ...OpenShift is available from openshift.com and there are three
flavors available. Express, Flex and Power
15. OpenShift Power: What's Power?
• OpenShift Power can deploy applications to the cloud that are
written to Linux (i.e. written in C, or using many binary
components) and anything that builds on Linux.
• Ultimate flexibility and access at the operating system
configuration level
• Power can deploy applications which have no web front-end
• Power has an image configuration system, a scripting template
system, an image library for re-using template
16. OpenShift Express
• Express is a free & easy, cloud-based application platform
• Delivered in a shared-hosting model (running on Red Hat’s own
infrastructure cloud)
• Fastest on-ramp to the cloud
• Get Java, Ruby, PHP, Perl and Python apps in the cloud
• Multiple: MySQL & SQLite
• Easy-to-use command-line tools - with just a few commands you’ll be
able to deploy your application to the cloud
• Deploy & Update via Git – Maven, Jenkins, Git => Build-as-a-Service
17. OpenShift Flex
• The free trial includes 30 days or • Multiple: MySQL, MongoDB,
30 hours (whichever comes first) Memcached, Membase, MRG
of free cloud resources from
Amazon EC2. • Access to DB from outside
• Runs on EC2 you provide an • Cloud server provisioning
AWS account
• Application deployment,
• Browser-based UI versioning & rollback
• Java EE6 and PHP • Performance monitoring
• Shell access and Dedicated • Log management
• Jboss 7, Apache Web Server and • Auto-scaling
Tomcat,
18. OpenShift Pricing
OpenShift Express OpenShift Flex
Pricing Free and it is intended to Free to use (during developer
remain free in future also preview), but will incur additional
charges from service provider
(AWS)
The pricing is still not decide
Small: 32 BIT, 1 CORE(S), 1.66 GB
Instance cost: 62$ (0.085$ per hour)
DISK SIZE: 10GB
* OpenShift Power pricing will be announced once they release the offering
19. Limitations of OpenShift
• OpenShift Express and Flex are only available in developer preview
today
• There is no SLA or support
• Express preview supports one application per user
• OpenShift Express is accessed from command line client tools, no web
interface
• The ability to install OpenShift on your own servers is not yet supported.
Stay tuned for news of the opensource announcement!
• It is not cloud agnostic and only works with "approved" clouds (EC2)
• It doesn’t support .Net framework and Windows
20. Strengths of OpenShift
• First Java EE 6 implementation in a PaaS model, OpenShift delivers a simple way
for developers to build and deploy Java in the cloud.
• This is PAAS 2.0, It’s open choice of frameworks. It’s open choice of clouds and
it’s open choice of middleware. Open, open, open
• It will be open sourced, supports multiple languages and frameworks, and support
multiple clouds, with AWS being the first cloud supported
• No customer is locked into a cloud platform
• OpenShift Express is completely free, making it easier to drive trials and adoption
• OpenShift supports your Tools
• Shell Access
• It supports both new as well as existing applications
21. OpenShift Q&A
• Q: Can I deploy Maven + (Spring + Hibernate) Annotation + MySQL + REST?
• YES, Easily - all of this does work. PLAY WITH IT FOR FREE!
• Q: Sticky sessions?
• Flex does supports sticky sessions and multi-instance scaling. Express
doesn't have multi-instance scaling yet so it's not needed there currently.
• Q: Access to DB from outside?
• In Express it is not supported but you can use phpMyAdmin. In Flex, you have
your own instance and a public IP so you can access remotely.
• Q: Remote debugging…?
• OpenShift don't allow arbitrary binding of ports on the externally accessible IP
address. Port restriction is definitely something on their roadmap though.
22. OpenShift Q&A
• Q: Quota limits?
• 512MB block storage / 40000 files, Processes – 250, Threads - unlimited as long as in the
constraints of the other limits, Resident Memory - 300MB, Swap - 100MB
• Java memory at 128Mb of max heap, and 83Mb of permgen, so your applications need to
fit within that constraint
• Q: Save/Upload files to the file system (Express) supported?
• Yes - best practice is to use the $OPENSHIFT_DATA_DIR environment variable for a
persistent data location
• Q: Are any of Amazon services available OOTB?
• When Flex is running applications in Amazon, it takes advantage of features like the
elastic load balancer for clustering. Integration with Amazon Relational Database Service
(Amazon RDS) exists as well
• Q: Database scaling for MySQL and MongoDB?
• Sort of depends. MySQL is offered in both Express and Flex but there isn't automatic
master -> master or master -> slave scaling yet. MongoDB is in Flex and does support
replica set configuration. Replica sizes don't adjust automatically though.
23. OpenShift Q&A
• Q: Can I utilize Ant?
• You can embed ant in the pom.xml - just keep the OpenShift profile in the
pom.xml
• Q: Maven Plugin?
• They use stock Maven with the profile to specify deployment locations so no
maven plugins needed. Eclipse plugin from JBoss Tools is the answer.
• Q: Search engine? They added it to the backlog …
• Q: Can I point my own domain name at OpenShift Express hosted
application?
• “It is not currently possible... in the roadmap“
• Lack of information about MRG within OpenShift: They will try to find
something and post in the blog
24. • … Compare Features, Languages and Frameworks
26. Express Steps
1. Sign up at http://openshift.com
2. Install client tools (Install Command line or JBoss
Tools)
3. Create a Domain (rhc-create-domain)
4. Create an application (rhc-create-app)
5. Copy app into git managed directory
6. Deploy to the cloud (git push)
29. OpenShift supports your Tools
• First, OpenShift is getting integration into JBoss
Tools, their Eclipse-based Java development
environment
• Future integration is also planned for JBoss Developer
Studio.
• OpenShift Eclipse Plug-In
30. Latest OpenShift Releases
• OpenShift Express • OpenShift Flex
• Eclipse IDE integration via • Cost Visibility and Budget
JBoss Tools Control
• Continuous Integration • Zend Server (PHP
Service via Jenkins (blog and Application container)
a video)
• Support for MongoDB 2.0
• Web-based Application Setup
• MongoDB configuration
• Graphical Administration parameters accessible in the
OpenShift console
Console for Relational DB
(phpMyAdmin) • power of MongoDB logs has
been integrated into the
OpenShift dashboard
31. Sign up, it's free!
• http://www.openshift.com – click “Try it!”
• Example projects you can deploy now!
• https://www.github.com/openshift
• Help?
• IRC: freenode #openshift
• Forums: http://www.redhat.com/openshift/forums
• Email: openshift at redhat dot com
32. • Date of rollout: VMware, April,12th 2011 (Beta)
• Technologies: Tomcat 6, Java, Ruby, Node.js, Groovy,
Grails, Scala, Spring
• Supported Services: PostgreSQL, MySQL, MongoDB,
Redis, RabbitMQ
• Plugins support: Eclipse (Under construction for
IntellijIDEA)
• Advantage: easy and quick to deploy, JMS support,
scalability, sticky sessions
• Limitations: 2GB Memory, 16max Services, 20max apps, no
ability to scale DB
• Price: near 70$ per month
33.
34. • DEV basic process description:
• VMC – Console (vmc push, vmc instances app-name +10)
• Micro Cloud Foundry
• Eclipse plugin
• There is no ability to access services outside
• Feedbacks out of real experience:
• Looks simple but not easy installation process
• Console and Eclipse plugin is very cool
• Excellent support of Spring Roo
• Application based on Vaadin is working
• PaaS and IaaS synergy
35. • Date of rollout: April 2010
• Technologies: Tomcat 6, Java, Subversion, GIT, Jenkins
• Supported Services: Dev@cloud, Run@cloud, Database,
Sonar, Selenium, Real-time web monitoring, CloudWiki,
MongoHQ, Cloudant, etc.
• Plugins support: Eclipse
• Advantages: doesn’t need to be tied with Amazon, access to
the services outside, full CI support
• Disadvantages: no JMS support, partial EJB support, free
version can be used only for “hello-world” apps, limited
scalability configuration, sticky sessions feature is only going to
be released
• Price: based on selected services (can be very huge)
36.
37. • DEV basic process description:
• CloudBees Console
• Good Web UI
• Eclipse plugin
• Ability to access services outside
• Feedbacks out of real experience:
• Weren’t able to use free Jenkins service.
• Provides all services by given just 1-5Mb for free.
• Good monitoring tools and logging
• Usage of Maven is harder than Ant
• Supporting the full Java EE stack is under construction
38. Jelastic: overview
• Ukrainian/russian founders: Moskow, Tomsk, Jitomir
• New proposition on Cloud Market
• Self-made elasticity
• Vertical scaling
• Are going to provide free subsription as well
• Free cloudlet (128 MB RAM and 200Mhz CPU core)
• Now 16x4 (free beta), going to have 32x8
43. Jelastic: plans for future
2011
• Direct access to databases
• Sticky sessions
2012/13
• Pricing model
• Common JMS
• Database scaling for MySQL and MongoDb
44. Google App Engine
• 1st Java PaaS presented on 2008
• The only free PaaS
• Usage has lot of pros and cons
45. Google App Engine
• Write once, works… on GAE!
• No multithreading
• Limited Java framework support: Spring, JSF, SmartGWT
• HTTP request is limited for 30 60 seconds
• Project cant consist of more than 3000 10000 files
• No background tasks
• Poor BigTable performance (1-3 sec/req)
• Do not have sticky sessions
• No DBMS MySQL is coming (paid)
46. Google App Engine
• It’s free
• It has BigTable
• It integrates with Google Services:
GMail, image processing, memcache, task queues
• It is very scalable (1-3 sec/req on vast datasets)
Quota Limit
Emails per day 2000
Bandwidth in per day 1 GB
Bandwidth out per day 1 GB
CPU time per day (to be removed) 6.5 hours per day
Instance-hours (IH) 28 hours per day*
Data stored 1 GB
URLFetch API calls per day 657,084*
47. GAE: Raw persistence
• NoSQL storage: Google BigTable
• No search engine
• Can’t use OR on different fields
• Result set is limited for 1000 entities
• Only 100/table indexes available with no way to
delete
• You have to produce indexes
48. GAE: DataNucleus
• Solves some of your problems with GQL
• Still have OR limitation
• It doesn’t work properly with JPA
• It has no community and no documentation
49. Google App Engine
• You can use convenient Maven/Eclipse plugin
• You can emulate it with Jetty
We tried to port:
• Hibernate + Spring MVC + SmartGWT
• 10 entities
…Don’t do this ever!
50. GAE: Conclusion
Use GAE if:
• You need free Java PaaS hosting
• You are curious about it
• You want to play with BigTable
• You want to use image processing or GMail
• You need great scalability while don’t care about performance
Do not use if:
• You want to have portable Java app
• You need good performance
51. What was covered?
• Introduction to IaaS and PaaS
• Amazon EC2 and Beanstalk
• VMware OpenShift
• CloudFoundry
• CloudBees
• Jelastic
• Google App Engine
52. Summary
• Market of PaaS is under development.
CloudBees is “the only one” as for now
• 2011 - “Year of PaaS”?
• Big battle is coming
• J2EE is starting to move to the clouds
Компания Red Hat представила предварительный выпуск проекта OpenShift, в рамках которого развивается специально оптимизированное для разработчиков открытого ПО PaaS-решение (платформа как сервис), предназначенное для выполнения конечных приложений в облачных окружениях (для сравнения, IaaS-платформы обеспечивают запуск образов готовых операционных систем). Платформа предоставляет разработчикам возможность запуска приложенийи свободу выбора, написанных на языках Java, Python, PHP и Ruby, с использованием фреймворков JBoss, Spring, Seam, Weld, CDI, Rails, Rack, Symfony, Zend Framework, Twisted, Django и Java EE. Из баз данных поддерживаются MySQL, EnterpriseDB (PostgreSQL), Couchbase, и MongoDB.
Red Hat Summit 2011 in BostonСистема основана на разработках компании Makara, купленной Red Hat в ноябре прошлого года. Некоторые компоненты OpenShift пока остаются закрытыми, но со временем платформа будет полностью переведена в разряд продуктов с открытым исходным кодом. По своим функциям OpenShift напоминает открытую в прошлом месяце PaaS-платформу VMware Cloud Foundry, которая пока поддерживает запуск приложений на языках Java и Ruby. Из других существующих PaaS-платформ можно отметить Zend PHP Solution Pack, Google App Engine и Windows Azure, недостатками которых является недостаточная универсальность и необходимость использования специального API.По словам Исаака Рота (Isaac Roth) — руководителя направления PaaS в Red Hat, платформа OpenShift будет готова к середине 2012 года.
The OpenShift deployment model currently offers three user levels:OpenShift ExpressOpenShift FlexOpenShift Power (Coming soon)OpenShift предоставляет три сервиса
Power - позволяет размещать в cloud-окружениях любые приложения, работающие в Linux, включая приложения на языке Си и программы, содержащие бинарные компоненты и не привязанные к web-технологиям (например, клиент-серверные приложения, торговые системы, системы моделирования и т.п.). Архитектура рабочего окружения может быть сформирована самостоятельно, при этом пользователю предоставляется низкоуровневый доступ к конфигурации рабочего окружения на уровне операционной системы. Среди доступных пользователю функций: настройка содержимого образа виртуального окружения, система шаблонов, библиотека типовых образов и возможности по динамической генерации образов, в зависимости от типа используемой системы виртуализации.
Express - позволяет организовать выполнение приложений на языках Java,PHP, Ruby и Python. Окружение рассчитано на перенос уже разработанных приложений и позволяет запустить проекты такого уровня, как Drupal и MediaWiki. Управление производится через набор работающих в режиме командной строки утилит. всё, что вы делаете локально при создании и компиляции приложения, а именно загрузку библиотек из репозитария, разрешение зависимостей для этих библиотек, компиляцию кода, сборку приложения, и, наконец, развертывание WAR-файлов на рабочих серверах – всё это сделает за вас OpenShift автомагически.Запуск приложения сводится к регистрации аккаунта, установки пакета rhc (доступен в форматах deb и rpm), созданию rhc-домена (rhc-create-domain -n имя), регистрации в нем приложения (rhc-create-app -n phpapp -t php-5.3.2) и установки приложения (git commit -a; git push)
Flex - позволяет организовать работу в окружениях, запущенных на стороне сертифицированных провайдеров облачных окружений (например, Amazon EC2), т.е. Flex предоставляет возможность автоматизации запуска приложений в IaaS-системах, беря на себя заботы по формированию образа операционной системы. В отличие от варианта Express, управление во Flex производится через графический интерфейс пользователя, в котором реализованы функции создания, развертывания, конфигурирования, помощи в миграции и мониторинга. Поддерживаются языки PHP и Java (JBoss, Java EE6), web-сервер Apache, серверы приложений JBoss AS, Tomcat, базы данных MySQL, MongoDB и Memcached.
Once you have this the workflow for OpenShift is as simple as Write Code, commit and push - go back to writingcode…And to make this less abstract then let me just show you how simple it actually is.
OpenShift Express Here's a recap of the rest of exciting features announced this month. Eclipse IDE integration via JBoss Tools: Let the cloud come to you! OpenShift is now integrated with Eclipse via JBoss Tools. Grant has a nice step-by-step blog and a video that shows you how easy it is. Continuous Integration Service via Jenkins: In our journey to provide you with a platform that covers the entire application development life cycle management (ADLM) we just added continuous integration in OpenShift with support for Jenkins. Check out Mike's technical overview blog or David Blado's how-to blog and video learn more. Totally Web-based Application Setup: As an alternative to the command line, it is now possible to setup your OpenShift Express applications in seconds from the web-based OpenShift control panel. Graphical Administration Console for Relational DBs: As it was previously detailed in David's blog, OpenShift Express now provides a phpMyAdmin web console for managing you MySQL instances on OpenShift. Want to see the latest and greatest OpenShift features in action? Then register for our webinar on Nov. 21st with Mark Little, Max Andersen and myself.--------------------------What's New in OpenShift Flex Cost Visibility and Budget Control Do you want to get a handle on your AWS charges when using dedicated servers on OpenShift? Would you like to see what you've consumed and also get a projection on how much you may consume the rest of the month? Do you want to set a budget for the month and periodically track spending against your budget? Look no further, OpenShift Flex now has this functionality built into the UI. Zend Server: One of the most popular ways to get Enterprise-grade features in you PHP application is by using Zend Server as an application container. Your unmodified PHP/Zend Server application can run now in OpenShift with support for version 5.5. Support for MongoDB 2.0Three powerful MongoDB features have been included in this release: We've upgraded the cartridge to the latest and greatest 2.0 version. We've also made MongoDB configuration parameters accesible in the OpenShift console. And finally, the convenience and power of MongoDB logs has been integrated into the OpenShift dashboard.