What we accomplished in 2019

IBM Developer NA West team had a great 2019, the team accomplished a lot. A big thank you to the team 💙. I want to share some of the highlights of what the team did in 2019. You can also check out the cool infographic below.

Continue reading “What we accomplished in 2019”

Build your first serverless function in 10 minutes

My teammate Upkar Lidder published a great tutorial on how to create your first serverless function very fast ⚡️. I wanted to give it a try and share the step with you here. There is nothing to download, install or configure. You can finish this tutorial in under 10 minutes ⏳.

Tutorial steps

You will complete the following steps:

  1. Create a new IBM Cloud account or sign into an existing account
  2. Create a new cloud functions
  3. Test the function
  4. Invoking as a REST API

Let’s go!🏃🏻‍♀️🏃🏻‍♂️

Sign-up for an IBM Cloud account

In this first step you will sign-up for a new account or log-in into an existing account.

serverless-helloworld-signin

  1. Sign-up for an IBM Cloud account or sign-in into an existing account
    • You will get a completely free account where you can try and use cloud 40 services. You can keep it forever. That’s pretty nice!
  2. That’s it

Continue reading “Build your first serverless function in 10 minutes”

Build a mobile app with language translator service without coding

I recorded a 3-part video that shows how to build a mobile application without any code. I’m very passionate about Low Code/No Code platforms. I think there is a resurgence of Low Code/No Code tools. As demand for more applications is only going to grow, Low Code tooling can help technical people (and non-technical) to build applications much faster.

In this 3-part video you will learn:

  1. How to create a Watson Language Translator service on the IBM Cloud
  2. How to create a backend with the Language Translator service using Appery.io API Express
  3. How to build a mobile app using Appery.io App Builder

All three videos together are under 17 minutes – so it’s very quick if you want to give it a try.

If you would like to build this application you will need:

  1. A free IBM Cloud account. Sign up for an account (or sign into an existing account)
  2. Appery.io account. Sign up for a free trial account here

Click the menu-icon in the upper-left corner to see all videos in the playlist.

Let me know if you have any question. I will be publishing more videos like this.

How to Pass Parameters to a Cloud Function

In my previous blog post I showed how to invoke an external REST API from a cloud function. The API that I used returns a random (Chuck Norris 💪) joke. In this blog post I want to show you to how pass a parameter to the cloud function. We can pass a joke number to the API and get that particular joke back 🤣.

Using the code from the previous blog post:

var request = require("request");

function main(params) {
   var options = {
      url: "https://api.icndb.com/jokes/random",
      json: true
   };

   return new Promise(function (resolve, reject) {
      request(options, function (err, resp) {
         if (err) {
            console.log(err);
            return reject({err: err});
         }
      return resolve({joke:resp.body.value.joke});
      });
   });
}

to get a particular joke number, change the URL to look like this:

url: "https://api.icndb.com/jokes/" + params.joke

params – passed to main function is a JSON object that holds parameters (input) to this cloud function.

Continue reading “How to Pass Parameters to a Cloud Function”

How to Invoke an External REST API from a Cloud Function

In a previous blog post I showed how to create your first cloud function (plus a video). It’s very likely that your cloud function will need to invoke an external REST API. The following tutorial will show you how to create such function (it’s very easy).

  1. Sign into an IBM Cloud account
  2. Click Catalog
  3. Remove the label:lite filter and type functions
  4. Click on Functions box
  5. Click Start Creating button
  6. Click Create Action
  7. For Action Name enter ajoke and click the Create button.  A new cloud function will be created with Hello World message
  8. Replace the function code with the following code which invokes a 3rd party REST API which returns a random joke:
    var request = require("request");
    
    function main(params) {
       var options = {
          url: "https://api.icndb.com/jokes/random",
          json: true
       };
    
       return new Promise(function (resolve, reject) {
          request(options, function (err, resp) {
             if (err) {
                console.log(err);
                return reject({err: err});
             }
          return resolve({joke:resp.body.value.joke});
          });
       });
    }
    
    • The code is simple. It uses the request Node.js package to connect to an external REST API
    • The external REST API returns a random joke
    • A JavaScript Promise is used for invoking the REST API
    • At the end the cloud function returns a response in JSON format
  9. Now click the Save button to save the code. Once the code is saved the button will change to Invoke. Click the button to invoke the function. In the right-hand panel you should see output with a random joke:
    {
      "joke": "Project managers never ask Chuck Norris for estimations... ever."
    }
    

This is how it looks inside the IBM Cloud Functions editor:

cloudfunctions-invoke-restapi
Cloud function code

Of course you can also build and test a cloud function using the CLI. I’ll cover that in another blog post.

Continue reading “How to Invoke an External REST API from a Cloud Function”

6-Part Online Meetup Series On How Technology Can Help With Natural Disasters

We are launching a 6-part online meetup series where we will cover technologies and solutions that can greatly help before, during and after a natural disaster. In fact, this webinar series is a part of Call for Code initiative headed by IBM, The Linux Foundation, UN Human Rights, and American Red Cross.

The online meetups are only 30 minutes. If you are up to answering the call and would like to participate in the challenge, the online meetups will cover available resources to help you get started fast and build a solution. Join our online meetups regardless as they fun and educational.

  • Evaluate Person’s Pulse Data with Machine Learning 
    • Wednesday, August 8, 9:30am Pacific Time
    • Register
  • Learn How to Create and Analyze Charts, Graphs, and Maps
    • Thursday, August 9, 9:30am Pacific Time
    • Register
  • Learn How to Add Visual Recognition to an iOS App
    • Wednesday, August 15, 9:30am Pacific Time
    • Register
  • Translate Written Communications to Improve Information Sharing
    • Wednesday, August 22, 9:30am PT
    • Register
  • Build a cellular IoT Asset Tracker with Blockchain
    • Thursday, August 29, 9:30am Pacific Time
    • Register
  • Build Financial Networks with Blockchain to Execute Secure Transactions
    • Wednesday, September 5, 9:30am Pacific Time
    • Register

Video: Build Your First Cloud Function

Last week I showed you how to build your first cloud function using IBM Cloud Functions. I also recorded a 5-minute video that shows how to build your first function and a number of ways to invoke it via a REST API. Check it out below and let me know what you think.

Build a Serverless “Hello World” Function

Serverless, Function as a Service (FaaS) or just cloud functions allows you to write code that will run in the cloud. You can use a number of different languages such as JavaScript (Node.js), Swift, Python, Java, PHP and others to write the function code.  What’s nice is that you don’t need to worry about servers, containers, deployment, etc. You write the code and a cloud platform will make sure it executes!

In this blog post you will learn how to build a Hello World function. You will use IBM Cloud Functions to build and run the function (more information about this at the end). For now, let’s jump to creating your first function.

Continue reading “Build a Serverless “Hello World” Function”

4-part Webinar Series: Containers, Docker, Kubernetes and Istio

Marek Sadowski and Maya Reyes from the IBM San Francisco City Team hosted a 4-part webinar series on Containers. They covered Containers, Docker, Kubernetes and Istio.  The sessions are short, about 30-minutes. Check out the recordings below.

  1. Introduction to Containers
  2. Introduction to Docker
  3. Introduction to Kubernetes
  4. Introduction to Istio

Check out our upcoming events on Blockchain, Machine Learning, Watson AI, Serverless and more.

How to Create a Cluster on the IBM Cloud to Run Containerized Applications

If you are planning to run containerized applications on the IBM Cloud, here are the steps to upgrade your account and create a cluster:

  1. Please register for an IBM Cloud account (it’s free!). You can also login if you have an existing account
  2. Once you register, click on Catalog (top right menu)
  3. Remove the label:lite filter (the X top right on the ribbon above the menu)
  4. From the left-hand side menu, click on Containers
  5. Click on IBM Cloud Kubernetes Service
  6. In order to create a cluster click Upgrade and enter your billing information. Here is why you need to upgrade your account:
    1. Entering a credit card will activate a Lite (free) tier for Containers
    2. Your credit card will not be charged
    3. A credit card is needed to prevent fraud (such as using the cluster to do cryptocurrency mining)
    4. You will also get 512 Mb of memory
    5. $200 credit toward any paid services
    6. Continued access to the Lite plan
  7. Once your account is upgraded, select Free (Cluster type) and click Create Cluster
  8. The last step is to test your Docker installation
    1. Download or update Docker
    2. Run the following command to test the installation:
      $docker run ubuntu echo Hello World
    3. You should see Hello World text displayed in the terminal (after some initial downloads of Ubuntu images)
  9. Have fun 😎

If you want to learn how to build and deploy containerized applications in face-to-face hands-on sessions, you should come to one of our events.