February 6, 2019 By Carlos Santana 2 min read

What’s happening with IBM Cloud Functions and Swift?

I’m excited to announce that IBM Cloud Functions officially supports Swift 4.2, which has been optimized for latency and local caching.

The new Swift 4.2 runtime leverages a new web proxy built with Go that replaces the previous Python web proxy. The web proxy allows action invocations to respond faster by providing lower latency for blocking calls. In addition, the web proxy provides some local caching on container re-use when hitting a warm invocation. Since the Swift program doesn’t exit after the invocation returns the result, the next invocation can take advantage of local caching such as global instances in memory or connections pools.

Ready to try it out?

Swift 4 offers the ability to use Codable types for input and output. In this example, the function takes a Codable “Input” and responds with a Codable “Output.”

  1. Create the following Swift file.

    struct Input: Codable {
    let name: String?
    }
    struct Output: Codable {
    let body: String
    }
    func main(param: Input, completion: (Output?, Error?) -> Void) -> Void {
    let result = Output(body: "Hello \(param.name ?? "IBM Cloud")!")
    completion(result, nil)
    }
  2. Create the helloSwift action.ibmcloud fn action update helloSwift main.swift --kind swift:4.2 --web true

  3. Invoke the action.

    ibmcloud fn action invoke helloSwift -r
    {
    "body": "Hello IBM Cloud!"
    }
  4. Get the URL for the web action.

    ibmcloud fn action get helloSwift --url

Using a single file is recommended only for the development of quick demos. For production, it is better to pre-compile your Swift action as this avoids large latency on cold starts. It also allows you to compile your code and leverage any third-party libraries and dependencies.

How much faster is Swift 4.2?

Swift 4.2 is much faster than Swift 3.1.1 or Swift 4.1 as you can see in the graph below comparing warm invocation performance. Start new projects using Swift 4.2 or migrate any existing actions.

How do I learn more?

To set up a project and compile your Swift 4.2 Actions, check out the IBM Cloud Functions documentation.

More from Announcements

IBM Hybrid Cloud Mesh and Red Hat Service Interconnect: A new era of app-centric connectivity 

2 min read - To meet customer demands, applications are expected to be performing at their best at all times. Simultaneously, applications need to be flexible and cost effective, and therefore supported by an underlying infrastructure that is equally reliant, performant and secure as the applications themselves.   Easier said than done. According to EMA's 2024 Network Management Megatrends report only 42% of responding IT professionals would rate their network operations as successful.   In this era of hyper-distributed infrastructure where our users, apps, and data…

IBM named a Leader in Gartner Magic Quadrant for SIEM, for the 14th consecutive time

3 min read - Security operations is getting more complex and inefficient with too many tools, too much data and simply too much to do. According to a study done by IBM, SOC team members are only able to handle half of the alerts that they should be reviewing in a typical workday. This potentially leads to missing the important alerts that are critical to an organization's security. Thus, choosing the right SIEM solution can be transformative for security teams, helping them manage alerts…

IBM and MuleSoft expand global relationship to accelerate modernization on IBM Power 

2 min read - As companies undergo digital transformation, they rely on APIs as the backbone for providing new services and customer experiences. While APIs can simplify application development and deliver integrated solutions, IT shops must have a robust solution to effectively manage and govern them to ensure that response times and costs are kept low for all applications. Many customers use Salesforce’s MuleSoft, named a leader by Gartner® in full lifecycle API management for seven consecutive times, to manage and secure APIs across…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters