Tag Archives: oracle

Getting Started with Oracle Container Cloud Service

Oracle Cloud Container Logo

Oracle Container Cloud Service is Oracle’s entry into the the world of managed container service. There are plenty of existing options:

This blog will explain how to get started with Oracle Container Cloud Service. A comparison of different managed services is started at Managed Container Service.

Before we jump into all the details, let’s try to clarify a couple of things about this offering from Oracle.

First, a bit about the name. “Oracle Cloud Container Service” seems more natural and intuitive since its a Container Service in Oracle Cloud. Wonder why is it called “Oracle Container Cloud Service”? Is it because “Oracle Container” is Oracle’s container orchestration framework and its a Cloud Service? Could that mean other orchestration frameworks be offered as a service as well?

Second, don’t confuse it with Oracle Application Container Cloud Service that allows to build cloud-native 12-factor applications using polyglot platform. Now, that confuses me further. Can the Container Service not be used to build 12-factor apps? Are cloud-native and containers mutually exclusive?

Anyway, this is causing more confusion than clarification :) Let’s move on!

One last thing before we dig in. Many thanks to Bruno Borges (@brunoborges) for pushing the buttons for cloud service activation. I don’t know the normal time for the free trial to be activated otherwise. And a much bigger thank to Mike Raab (@mikeraab) for helping me understand the details of Container Service.

Let’s get started!

  1. Get a Free Trial for Oracle Cloud. It takes a few days for the trial to be activated. The trial time bombs after 30 days so make sure you’ve time planned for evaluation. Each free trial comes with 6 OC3 nodes. OC3 is one of the compute node types available on Oracle Cloud. OC3 particularly is 1 OCPU (think vCPU on Amazon Web Services) and 7.5 GB RAM.
  2. Once the account is activated, you get an email as shown:oracle-cloud-welcome-emailThe important piece of information is username, temporary password, identity domain and My Services URL. The My Account URL link is only for account administration.
  3. Click on My Service URL, login using the values from email:oracle-cloud-services-login
    You get an opportunity to change your password afterwards
  4. Oracle Cloud dashboard shows up after logging in:oracle-cloud-services-dashboardA default set of services and their status is shown. The dashboard can also be customized by clicking on Customize Dashboard button on the top right.
  5. Getting to Oracle Container Cloud Service Console is a bit non-intuitive but you get it once you know it. Select Container Cloud Service tab, click on top-right corner and select Open Service Console:oracle-cloud-container-service-console-accessOr you can directly click on the link for Oracle Container Cloud Service Console in the welcome email. Service console looks like:oracle-cloud-container-service-console
  6. Click on Create Service:oracle-cloud-container-service-definitionOracle Container Container Service Instance Details provide more details about each of the field.What is a worker node? We’ll talk about it a bit later. But essentially this is where the container runs. We are asking for only one worker node.

    Its worth noting different capacities for the worker node:
    Oracle Cloud CPUs

    Confirm all the settings:

    oracle-cloud-container-service-definition-confirmation

    and click on Create> to start the service creation.

  7. Wait for about 30 minutes for the service to be created. After that the Service Console looks like:
    oracle-cloud-container-service-console-with-serviceWait, we asked for  one worker node and how come two OCPUs are being consumed.Each Oracle Container Cloud Service has at least two nodes – a manager node and one or more worker nodes. Manager node is responsible for administration of all the workers and and orchestrate containers on different worker nodes. Worker nodes can be organized in different resource pools to meet different workflow needs.

    And, so ~30 minutes are spent provisioning two nodes and installing container service components on each node. This is also evident in the service logs shown in Service Create and Delete History shown in the main Console page:

    No timestamp in the activity feels a bit too clean.

  8. One main question that I kept wondering all along is “when am I ready to deploy the containers?“. Apparently, not yet!A couple of more steps so hang in there …

    In your service, click on the top-right icon to select another menu:
    oracle-cloud-container-console-open

    Select Container Console.  So, now you are transitioning from Oracle Container Cloud Service Console to Container Console. Make sure to use the right terminology otherwise it gets confusing fast.

  9. This attempts to open Container Console but prompts the usual warningoracle-cloud-container-console-open-warning

    Just click on Proceed link. In a typical production setup, this will setup correctly using certificates and so this warning would not happen.

  10. This brings up a login screen:oracle-cloud-container-console-login
  11. Use the username and password specified during service creation earlier. Click on Login to see Container Console:oracle-cloud-container-console-default

Are we there yet?

Yes, now is the time to deploy containers. But we’ll cover that in a subsequent blog!

Just to recap on what is needed to get started with Oracle Container Cloud Service …

  1. Register for Oracle Cloud trial
  2. Login to main Oracle Cloud Dashboard
  3. Create a Oracle Container Cloud Service Instance
  4. Oracle Container Cloud Service Instance Console
  5. Container Console

All the steps need to be done once but a console inside a console inside a dashboard feels like Inception. The good thing is that the IP address of Container Console is a public IP address served by Oracle Cloud and can be used from anywhere.

Oracle Container Cloud Service Docs have lot more details about building and deploying applications using this Console.

In the next blog, we’ll see what it takes to run a Couchbase container using this console? Possibly a cluster of Couchbase across multiple hosts?

Want to learn more about running Couchbase in containers?

Source: https://blog.couchbase.com/2017/february/getting-started-oracle-container-cloud-service

Webinar Replay and Q&A Transcript: WildFly/JBoss EAP instead of GlassFish/WebLogic

jan8-2014-webinar-banner

Replay of the webinar “WildFly for Innovation and Red Hat JBoss EAP for commercial support” is now available.

If you already registered then click on “Already Registered” in the left navigation bar of registration page otherwise register and watch the replay instantly.

The webinar was very well attended with hundreds of viewers and there were lot of questions asked. I’ve captured some of those here:

  • Is it safe (or very bad idea) to develop on WildFly and run in production on EAP?

    The recommended model is to use JBoss EAP for development, testing, and production for an application. There are always differences between WildFly and EAP with former offering bleeding-edge technologies and latter providing a lot more stability with bugfixes and patches. WildFly would be appropriate only for development/evaluation/contribution of new innovative features such as Java EE 7 in the upstream project.

  • If you develop on Wildfly and deploy on EAP  is there a risk Wildfly will move ahead too quickly and EAP will fall behind in capabilities supported?

    WildFly is focused on innovation and moves at a rapid pace. This allows WildFly to easily implement new technologies and provide a platform for enterprise developers to try them out. New features can be added or older features may be removed to provide a better experience for that particular release. There is no requirement to provide a patch release and any support is only through community.

    JBoss EAP is derived from a particular WildFly release and is focused on long term stability and predictability. It is battle tested on a variety of operating systems, JDK, and databases. It goes through rigorous performance testing, regression testing, scalability testing, and other means to ensure that a military-grade product is delivered. API level compatibility is guaranteed across different versions of EAP, this is not a requirement for WildFly. Enterprises that want stability and predictability should look at JBoss EAP. Developers that want bleeding edge technology should look at WildFly.

  • Isn’t JBoss EAP an open source product as well ?

    Yes, JBoss EAP binaries and source code are made available under open source licenses.

  • When will JBoss EAP provide support for Java EE 7 full platform ?

    We’re currently in the planning stages for EAP 7. More details and the roadmap will be presented at Red Hat Summit in San Francisco, April 14-17.

  • EAP 6 would be supporting JEE7?

    EAP 6 will not be fully certified for Java EE 7. Although some selective features, such as WebSocket, may be backported. We’ll have more detail on that at Red Hat Summit in April.

  • Is EAP an alternative to WebSphere?  Why or why not?

    Absolutely. JBoss EAP is a compelling alternative to WebSphere. https://engage.redhat.com/forms/jboss-v-websphere provides all the details. And don’t just take Red Hat’s word for it – JBoss EAP has been a leader (along with WebLogic and WebSphere) in Gartner’s Enterprise Application Server Magic Quadrant for the last five years and many customers have made the migration to JBoss from more expensive proprietary alternatives like WebSphere and WebLogic. You could also reference Get Unstuck with JBoss if appropriate. It contains quite a few resources on this topic.

  • How do you compare Wildfly with alternative open source servers such as  VMWare VFabric  and wso2 app server ?

    Red Hat EWS (Red Hat | JBoss Web Server) is vanilla Tomcat and fully supported by Red Hat. This offering is very comparable to tcServer. VMWare vFabric is optimized for running Spring applications. Spring is one of the technologies supported by WildFly, in addition to many others. WSO 2 supports many Java EE technologies but not a Java EE compliant app sever. WildFly provides full Java EE 7 compliance and EAP 7 will provide commercial support for that in future.

  • So if I recompile the EAP sources I can do whatever I want with the compiled binary ?

    No – you can’t do “whatever”. The open source licenses governing JBoss EAP source code, principally the LGPL, grant you certain permissions subject to conditions that you must comply with. In addition, you may not brand your recompiled EAP sources as “JBoss” or any other Red Hat-owned trademark. This means, for example, that if you distribute or publicly deploy your recompiled binary you must first remove all JBoss and other Red Hat branding, such as logo files. Any recompilation of EAP sources is not JBoss EAP and must not be presented as being a Red Hat or JBoss product.

  • We are using JBoss 5 EAP. Is there any guide for migrating to WildFly or EAP version?

    EAP 5 is based on Java EE 5. WildFly is a Java EE 7 compliant container. Application would need to be manually ported by learning the new Java EE 7 programming capabilities. Migration Guide provides complete details on how to migrate your applications from EAP 5.x to 6.x. JBoss Migration Center offer additional tools that provide configuration migration across different versions of EAP. We strongly encourage you to locate a Red Hat partner and work with them on this.

  • Do Red Hat Engineers commit new features into WildFly before committing into EAP  e.g. WebSockets?

    WildFly is the upstream project which JBoss EAP is based on. All features are committed into WildFly first and allow developers to try the cutting-edge technologies in their development cycles. A version of WildFly is the basis for JBoss EAP, where all the features are battle tested for production deployments.

  • Are no extra ports (random) used for EJB communication and what about hornetQ ports?

    Only two ports are exposed: 8080 for application and 9990 for management in the default profile. All other technologies will handshake over these two ports.

  • Will it support Scala?

    WildFly and JBoss are polyglot application server. Scala (just as many other languages Ruby, Clojure, etc.) can easily be incorporated with Java applications, and even standalone Scala applications are possible on JBoss. There is a number of frameworks that could be useful for developers using JBoss and having a need for building applications using Scala. For example, Escalante is a Scala application server based on JBoss AS 7. Spray provides a REST/HTTP-based integration layer over Scala and Akka and supports any Servlet 3.0 compliant container.

  • Does undertow allow session management using Infinispan ?

    Yes, it does.

  • Where can we see approximate price-list for EAP production deployments in numbers?

    Contact Red Hat sales at http://www.redhat.com/contact/sales for a price list of JBoss EAP.

  • Why has JBoss performance metrics never been published to SpecJ?

    We do performance benchmark testing in our regular test suite and really care about it. We are planning to submit SPECjEnterprise 2010 benchmark numbers on a fully open source stack in future.

  • How CentOS relates to JBoss EAP?

    CentOS is not related to JBoss EAP. CentOS is a community project providing a distribution of Linux, while JBoss EAP is an enterprise-class application server product provided by Red Hat. Red Hat is involved in and contributes to a wide range of open source communities including CentOS and JBoss.org. Complete list of JBoss supported configurations can be found here.

  • When EAP will support websockets as WildFly does

    We are investigating back porting WebSocket support to EAP 6.x. EAP 7 is planned to be Java EE 7 compatible and will support WebSocket. Stay tuned for more details at Red Hat Summit.

  • Is it possible to have a customized JBoss EAP version  that addresses a specific need?

    You can customize the JBoss EAP by manipulating subsystems in configuration files. But we recommend talking to sales so that they can understand your needs better and offer a comprehensive solution.

  • Which version of JBoss EAP 6.x.x will be based on Wildfly 8 ?

    JBoss EAP 6.x will continue to be derived from JBoss AS 7.x.x. We are considering backporting some features of WildFly to EAP 6.x. JBoss EAP 7 will be derived from a future version of WildFly.

  • What will be approximate cost for 8 processor single instance deployment? for EAP 6.2?

    Contact sales for an exact quote.

  • We are moving some of application servers from WL to JBoss. But i find it hard to do it  is there is seamless process which can help in migration ?

    Red Hat has recognized the importance of supporting a first-class program around migration that kicked off in 2013. One of the key enablers in our migration story is Windup, which we are working with several customers and partners to enhance in order to have a more effective and streamlined migration process. More details about migration tools is available here.

  • Does EAP use standard JPA artifacts??

    Yes, JBoss EAP is Java EE 6 compliant and so provides support for JPA 2.

  • Will Tomcat still be supported in WildFly 8?  If not  does Undertow support the AJP Connector interface? Or will it have a different connector interface?

    Undertow is the new web server for WildFly 8 and Tomcat will not be supported in WildFly 8. AJP Connector is already supported.

  • Is it easy to migrate from JBoss AS 7.1.1 to JBoss eap 6.2?

    As a general rule, we provide seamless migration from upstream projects to corresponding products. Migrating from AS 7.1.x to JBoss EAP 6.2 should be very straight forward. Guides are provided across major versions, for example Migration Guide from EAP 5.x to EAP 6.2 is here. You should also look at JBoss Migration Center for additional tools in this area.

  • Are Wildfly and EAP different installations?  i.e. How to go from Dev evaluation to Production with support?

    Yes, you can’t automagically update a WildFly installation to become EAP – they are separate installations. You need to redeploy your applications and recreate your resources from community projects like WildFly to products like JBoss EAP.

  • Can we pay less for licensing  if we don’t want any support  only right to deploy and documentation?

    Red Hat only charges for subscriptions, there is no licensing cost.

  • OEM licensing? Can we deploy wildfly & EAP depending on customer paying or not paying for EAP?

    Contact sales for an exact quote.

  • Please elaborate: Red Hat JBoss BRMS

    Red Hat JBoss BRMS is a comprehensive platform for business rules management and complex event processing. More details here.

  • Is there a good quickstart for migrating glassfish to EAP from a JMS perspective??  like setting up JMS ConnectionFactory

    Stay tuned, a white paper is coming soon on this topic.

  • How about WildFly with eclipse?

    http://blog.arungupta.me/2013/12/getting-started-jboss-tools-wildfly-techtip-5 shows WildFly and Eclipse integration.

  • paper on JBOSS Clustering vs. Weblogic Clustering. Some module to use on Apache for three tier implementation  like we have mod_weblogic similar for jboss ?

    mod_cluster is a cluster-aware plugin for Apache HTTPD that can be used to provide software-based load balancing for clustered JBoss EAP deployments.

  • What is next for WildFly?

    WildFly 9 feature set and scope is still being discussed. If there are any particular features that you need then please file issues in JIRA. You can also follow the community at @WildFlyAS. We’ll provide more details at JUDCon and Red Hat Summit.

  • Can JBoss EAP be used for evaluation and development without buying a license
    ?

    JBoss EAP is licensed royalty-free. In particular, JBoss EAP can be downloaded from jboss.org and used for evaluation and development without payment of a license fee. If you download JBoss EAP from jboss.org and use it in production you are obligated to purchase a subscription — otherwise you are in breach of the agreement covering the download.

  • What major companies are using EAP currently?

    Mitsubishi, E*Trade, Sprint, GEICO and many others listed here.

  • Are all the features in JBoss 7.1.2 in wildfly 8?

    This is generally true. However the specifications pruned by Java EE (JAX-RPC (JSR 101), JAXR (JSR 93), EJB Entity Beans (part of JSR 153), and Java EE Application Deployment (JSR 88)) are removed from WildFly. Also, JBoss Web is now replaced by Undertow as the web server.

  • If you use WildFly for dev and EAP for production  how do you make sure that the JEE versions are compatible?

    First of all, there is no such thing as “JEE” :-)

    JBoss EAP 5.x is downstream from JBoss AS 5.x and both are Java EE 5 compliant. JBoss EAP 6.x is downstream of JBoss AS 7.x and both are java EE 6 compliant. JBoss EAP 7 will be based on a future version of WildFly and both will be Java EE 7 compliant. Java EE N+1 compliant application server will support Java EE N applications as well. So make sure to choose your development and deployment environments accordingly.

  • Does a subscription for JBoss EAP 6 include the ‘JBoss Enterprise SOA Platform’ or similar SOA Platform?

    A subscription for any individual JBoss Enterprise Middleware product includes development use for all of the products in the JBoss Enterprise Middleware portfolio. Please refer to the Red Hat JBoss Subscription Guide for details.

 

Notes from Java EE meetup at Devoxx

Devoxx provides a great opportunity for the key Java EE players to meet and discuss topics of interest. With the recently released Java EE 7 platform this year’s Birds of Feather session goal was to collect feedback on Java EE 7, ideas and wishes for Java EE 8, and any thing else that would encourage wider participation from the community.

David Delabassee (Oracle), David Blevins (Tomitribe), Peter Pilgrim (independent), Johan Vos (Lodgon), several JUG leaders, and other interested community members were present in this meetup. And of course I was there too!

Here are my notes from the discussion:

  • Feedback on Java EE 7: JCP 2.9 allowed different Java EE 7 JSRs to run transparently. Each project had a xxx-spec.java.net project (e.g. javaee-spec.java.net) and encouraged participation from the wider Java community. Interim spec drafts and API jar files were made available on the project Downloads area (e.g. javaee-spec downloads). Adopt-a-JSR allowed 20+ JUGs around the world to help shape up Java EE 7 platform.
  • API and Specification source: The source files of the API classes and source of the specification needs to be checked into the workspace. This will enable interested members to play with the API classes and provide alternative proposals. A text-based format (e.g. AsciiDoc) for the specification source is strongly preferred. This will allow community members to provide concrete proposals for specific sections from the specification. This will also help the specification lead to easily merge the submitted proposals in the existing specification. A git-based repository is strongly preferred as it enables and encourages collaboration. For example, source code for CDI API classes is available here and the text-based specification here. If  git-based repository cannot be created then a mirror between the existing repository and git must be established.
  • TCK should be open-sourced: A JSR consists of three components: Specification, Reference Implementation, and TCK. The specification is released under a fairly standard license. However as discussed above the source for API classes and specification needs to be made more publicly available. The Reference Implementations are released under an OSI-approved license. IBM led JSR 352 and the TCK is available under Apache License 2.0. Similarly Red Hat led JSR 346 and 349 and the TCK is available under Apache License 2.0. However TCKs for Oracle-led JSRs are available under this license (similar ones for other specifications). Open sourcing the TCK has been discussed multiple times in the past and Oracle already offers TCK to non-profits like Apache and Eclipse Foundation at no charge. However this still seems a last bit of “closed” piece in the otherwise fairly open and transparent process. TCK tests can also serve as extremely valuable resource for the developers to learn the technology. Adam Bien’s SmokeTests and Java EE 7 samples are turning out valuable resources for the developers and container implementors in lack of an open source TCK.A later discussion with David Blevins (founder of Tomitribe) revealed that it is very important to have TCK from the very beginning in order to implement the container and pass compliance eventually. Otherwise significant parts of the container need to be rewritten, as was done for Apache Geronimo, to get compliance. Open sourcing the TCK would certainly allow Tomitribe to work towards Java EE 7 compliance as well.
  • Testing: 90% of the attendees were using Arquillian for testing their apps against single/multiple containers. There was no need felt to file a JSR and standardize it as that could possibly stunt the innovation in this area.
  • Making contributions easier: Steps to contribute a patch to the Reference Implementation should be clearly listed. This is not restricted to but can typically include how to checkout and build workspace, high-level package overview, run smoke tests, steps to add new tests.
  • Potential topics for Java EE 8: Simpler security, standalone CDI, Action-based framework, Event-driven system, standard way of achieving high availability on application server, ability to generate native mobile apps with a Java EE backend.

All in all, Hildeberto Mendonça summarized in three words “Because we care” on why the attendees showed up for the 7pm BoF. If you do care, get involved!

WildFly 8 is getting dressed and Candidate Release 1 is now anyday!

 

Farewell from Oracle, Starting at Red Hat

14 years at Sun/Oracle gave me some excellent friendships and I plan and hope to stay connected with them. This made the farewell from Oracle last week very emotional.

To begin with, here is a limerick created by a wonderful friend:

A long time ago while at Sun,
I met a young man, full of fun.
I watched in delight
As he took off in flight
And circled the globe on a run.

The talks that he gave were fantastic.
And his passion, enthusiastic.
He loved Java EE
And shared it with glee
With geeks from RedHat and Jelastic.

Arun, we are just a bit blue,
And for certain, we’re gonna miss you.
But the future’s wide open,
And you’ve said, and I’m hopin’ …
You have “miles to go” ‘fore you’re through!

Thank you Alexandra for this! I’ve thoroughly enjoyed our friendship all these years and it truly means a lot to me.

Completely blessed with all the wishes received on twitter …

Just want to call out some of them …

@noah_white: Congrats on the new position, good luck and keep on advocating EE!
@jjviana: Wow, this news is sure to rock the Java world. All the best in your new adventures Arun!
@majabali: tremendous loss for us at Oracle but all the best with your new “Hat”
@pbakker: That’s great news for my friends at RedHat. Best of luck with your new position!
@svenpet: You did a great job at Oracle! #RedHat is lucky
@BertErtman: congrats on the new job Arun! Thanks for all you’ve done at Oracle. What a gain for Red Hat!
@Sander_Mak: wow, that’s exciting news. Good luck at Red Hat!
@vsenger: sad *= 100000000000.
@IanSkerrett: Wow congratulations. Red Hat is a great company and definitely lucky to have you.
@yoshioterada: Arun-san Thank You so much!! I’m very glad to work with You.
@stevengharris: Wow, great catch by Red Hat. Enjoy the change!
@jenseckels: You will definitely be missed, friend. Take good care
@johanvos: Good luck, thanks for all your work on Glassfish, and enjoy your miles!
@MKHeck: RH got one of the best on the planet. Congrats to all involved!
@hazems: We had really enjoyed your great contributions in the Java EE space. Have the best of luck in your new journey.
@sjmaple: congratulations man! RedHat are very lucky to have you :) enjoy your new role and challenges!
@vsenger: I never met someone else more committed with a company than @arungupta. He is a working machine. Big lost for Oracle and us!
@sivalabs: congratulations to RedHat for having such a gr8 man :-)
@sharat_chander: Congrats to @arungupta for joining #RedHat. Wishing you continued success in making the future #Java.
@lucasjellema: I’m a litle sad to see @arungupta leave Oracle. Wishing him all the best at RedHat. I am sure Java EE will continue to benefit from him
@pvdevoor: Have fun @redhat You did a fantastic and inspiring job all these years!
@peppertech: #JavaEE couldn’t have a better ambassador and now #RedHat is better for having you in their employ. Big Congrats!
@rajashridash: While Oracle will miss you, RedHat will be cherished. We still will get your updates :)

and many more!

I’m just changing companies but the commitment to Java or Java EE is not going to be less in any sense. You’ll hear the latest and greatest about different Red Hat technologies and products.

Please come and meet where ever you see me. I’ve always been very accessible and will continue to keep it that way. Luxmbourg JUG, JAX London, JFall, Transylvania JUG, and Devoxx are coming up soon. Hope to see you there!

And finally a wrap up:

Many thanks to @mwessendorf, @nmcl, @lightguardjp, @aslakknutsen, @maxandersen, @AlRubinger, @anilsaldhana, @lazarotti, @mpiech, @nmcl, @gegastaldi, @msfm, @neugens, @antoine_sd, @lincolnthree, @heiko_braun, and several others for a warm welcome to Red Hat.

Now looking forward to start with the new hire orientation tomorrow!

 

Welcome to “Miles to go” 2.0

After having authored ~1400 blogs at blogs.oracle.com/arungupta (titled “Miles to go” and hence 2.0 in the title here), this blog cannot really start with “Hello Blogsphere” unlike my first blog on Aug 2, 2005. This blog would rather be a continuation of all the entries posted there until now. All the great content that you’ve seen on blogs.oracle.com/arungupta will stay there, but any new content will now be exclusively published on this blog.

I heartily welcome you to this blog!

I’ll mostly be blogging about Java, Java EE, application servers, cloud, PaaS, tooling options, my travels/conferences around the world, community building, running, and some more.

I’m starting a new job at Red Hat on Oct 21, 2013 as Director, Developer Advocacy and you’ll definitely hear about their technologies and products as well. I’d love to hear what else would you like me to blog about.

As always, feel free to leave a comment on the blog or ping me on twitter at @arungupta if you want to reach out.

This blog title is inspired by this lovely poem by Robert Frost …

The woods are lovely, dark, and deep,
But I have promises to keep,
And miles to go before I sleep…

And my version …

There are a tons of cities/countries to visit…
Plenty of User Groups to spread the fever …
Lots of conferences to speak at …
And miles to go before I sleep …