SlideShare une entreprise Scribd logo
1  sur  122
Télécharger pour lire hors ligne
slack.kitura.io
kitura.io
Server-Side Swift
State of the Union
Chris Bailey
Kitura Project Lead
Swift Server Work Group (SSWG)
@Chris__Bailey
AltConf 2019 - San Jose
Why
Server-Side Swift?
?
Standalone
MBaaS
Bespoke
📱 Mobile backends
📱 Mobile backends
Fast startup Low memory Interoperability
🔬 Microservices
Progress
2015
2015 Perfect Released
November 2015
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
2015
2015 Swift released to Open Source
December 2015
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
2015
2016 Vapor Released (0.1)
January 2016
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
2016
2016
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
KITURA
Kitura Released (0.0.1)
February 2016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
2016
2016 Perfect 1.0
March 2016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
2016
Swift 3.0
September 20162016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
2016
2016 Perfect 2.0
September 2016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
2016
2016 Vapor 1.0
September 2016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
2016
2016 KITURA
Kitura 1.0
September 2016
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
2016
2016 Swift Server Work Group Formed
October 2016
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0 • Swift Server Work Group
2016
2017 Vapor 2.0
May 2017
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0 • Swift Server Work Group
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Swift Server Work Group
2017
Swift 4.0 released
September 20172017
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Swift Server Work Group
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
2017
2017 Perfect 3.0
September 2017
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
2017
2017 KITURA
Kitura 2.0
October 2017
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
2017
2018 Swift-NIO Released
February 2018
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
2018
2018 Vapor 3.0
May 2018
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
2018
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
• Vapor 3.0
• Swift NIO
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
• Vapor 3.0
• Swift NIO
Swift 5 Released
March 2019
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
• Vapor 3.0
• Swift NIO
• Swift-NIO 2.0
• Swift 5
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Swift Server Work Group
• Vapor 3.0
• Swift NIO
• Swift-NIO 2.0
• Swift 5
Swift NIO 2.0
April 2019
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
• Swift-NIO 2.0
• Swift 5
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
• Swift-NIO 2.0
• Swift 5
Rapid Innovation
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
• Swift-NIO 2.0
• Swift 5
Rapid Innovation
Swiftification
2019
KITURA
KITURA
KITURA
• Perfect 1.0
• Kitura released
• Vapor released
• Swift open sourced
• Perfect released
• Kitura 1.0
• Vapor 1.0
• Perfect 2.0
• Swift 3.0
• Vapor 2.0
• Kitura 2.0
• Perfect 3.0
• Swift 4.0
• Vapor 3.0
• Swift NIO
• Swift Server Work Group
• Swift-NIO 2.0
• Swift 5
Rapid Innovation
Swiftification
Standardization
Current Status
11,000
SwiftPM Packages
11,000
SwiftPM
11,000
SwiftPM
830,000
NPM
212500
425000
637500
850000
2011/03/19
2012/03/18
2013/03/18
2014/03/18
2015/03/18
2016/03/17
2017/03/17
2018/03/17
2019/03/17
11,000
SwiftPM
830,000
NPM
3750
7500
11250
15000
11,000
SwiftPM
14,857
NPM
Shifted for time since Swift 3.0
Swift Server Work Group (SSWG)
Pitch Proposal
Swift Server Work Group (SSWG)
Incubation Process
http://forums.swift.org/c/server/pitches
http://forums.swift.org/c/server/proposals
http://github.com/swift-server/sswg
Pitch Proposal
Sandbox
Incubating
Swift Server Work Group (SSWG)
Incubation Process
http://forums.swift.org/c/server/pitches
http://forums.swift.org/c/server/proposals
http://github.com/swift-server/sswg
Pitch Proposal
Sandbox
Incubating
Graduated
Swift Server Work Group (SSWG)
Incubation Process
http://forums.swift.org/c/server/pitches
http://forums.swift.org/c/server/proposals
http://github.com/swift-server/sswg
Swift Server Work Group (SSWG)
First Projects
Swift Server Work Group (SSWG)
First Projects
Swift Server Work Group (SSWG)
First Projects
Metrics
Swift Server Work Group (SSWG)
First Projects
Metrics
Swift Server Work Group (SSWG)
First Projects
Metrics
SwiftNIO
SwiftNIO Logging Metrics
SwiftNIO Logging Metrics
Redis
Postgres
SwiftNIO Logging Metrics
Redis
Postgres
Docker
SwiftNIO Logging Metrics
Redis
Postgres
Docker
Frameworks
SwiftNIO Logging Metrics
Redis
Postgres
Docker
Frameworks
KITURA
SwiftNIO Logging Metrics
Redis
Postgres
Docker
Frameworks
KITURA
Docker
SwiftNIO Logging Metrics
Redis
Postgres
Distributed
Tracing
Crypto
Frameworks
KITURA
KITURA
KITURAVAPOR Perfect
KITURA
KITURAVAPOR Perfect
Performance and Scalability
KITURA
KITURAVAPOR Perfect
REST APIs and Web Applications
Performance and Scalability
KITURA
KITURAVAPOR Perfect
REST APIs and Web Applications
Performance and Scalability
Authentication and Security
KITURA
KITURAVAPOR Perfect
REST APIs and Web Applications
Performance and Scalability
Authentication and Security
Persistence and Data Storage
KITURA
KITURAVAPOR Perfect
REST APIs and Web Applications
Performance and Scalability
Authentication and Security
Persistence and Data Storage
Cloud Integration
By Brian Schick
Feb 25 2019 · Article (25 mins) · Beginner
Vapor vs. Kitura: Choosing a
Server-Side Swift Framework
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
VAPOR
func getAllHandler(_ req: Request) throws -> Future<[User]> {
return User.query(on: req).all()
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
VAPOR
func getAllHandler(_ req: Request) throws -> Future<[User]> {
return User.query(on: req).all()
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
VAPOR
func getAllHandler(_ req: Request) throws -> Future<[User]> {
let user = try req.requireAuthenticated(User.self)
return User.query(on: req).all()
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
VAPOR
func userHandler(_ req: Request) throws -> Future<View> {
return try req.parameters.next(User.self)
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
func getAllHandler(_ req: Request) throws -> Future<[User]> {
let user = try req.requireAuthenticated(User.self)
return User.query(on: req).all()
}
VAPOR
func userHandler(_ req: Request) throws -> Future<View> {
return try req.parameters.next(User.self)
.flatMap(to: View.self) { user in
return try user.acronyms
.query(on: req)
.all()
}
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
func getAllHandler(_ req: Request) throws -> Future<[User]> {
let user = try req.requireAuthenticated(User.self)
return User.query(on: req).all()
}
VAPOR
func userHandler(_ req: Request) throws -> Future<View> {
return try req.parameters.next(User.self)
.flatMap(to: View.self) { user in
return try user.acronyms
.query(on: req)
.all()
.flatMap(to: View.self) { acronyms in
let context = UserContext(title: user.name, user: user, acronyms: acronyms)
return try req.view().render("user", context)
}
}
}
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
func getAllHandler(_ req: Request) throws -> Future<[User]> {
let user = try req.requireAuthenticated(User.self)
return User.query(on: req).all()
}
func getEntries(user: UserAuth, query: JournalEntryParams?,
completion: @escaping ([JournalEntry]?, RequestError?) -> Void) {
JournalEntry.findAll(matching: query, for: user, completion)
}
KITURA
https://www.raywenderlich.com/1323930-vapor-vs-kitura-choosing-a-server-side-swift-framework
🏎 Ecosystem momentum
🏁
Accelerated Linux
releases
🏎 Ecosystem momentum
🏁
Accelerated Linux
releases
🛠
More platforms
🏎 Ecosystem momentum
⌨🏁
Accelerated Linux
releases
🛠
More platforms Language Server
Protocol (LSP)
Language Server
Protocol (LSP)⌨
Language Server
Protocol (LSP)
Visual Studio Code
⌨
Language Server
Protocol (LSP)
Visual Studio Code Swift Studio
⌨
Cloud Deployments
IBM Cloud
Cloud Deployments
“But is it anyone really using it?”
KITURA
Powered by
Kitura
Record and playback API
requests and responses
KITURA
Powered by
Kitura
Imitation
Kitura based HTTP/HTTPS
server configured to run on
iOS devices and simulators
KITURA
Powered by
Kitura
Record and playback API
requests and responses
Imitation
🎓 Meetr
Meetr is a Conference Augmentation System
KITURA
Powered by
Kitura
🎓 Meetr
Meetr is a Conference Augmentation System
KITURA
Powered by
Kitura
Erwin Mazariegos
“Right, but is it anyone really using it at scale?”
🎓 onlineswiftplayground.run KITURA
Powered by
Kitura
🎓 www.agenda.com KITURA
Powered by
Kitura
🎓 www.agenda.com KITURA
Powered by
Kitura
bit.ly/swiftallegro
🎓 Case study: Allegro
Powered by
Vapor
Ask Mercedes KITURA
Powered by
Kitura
“Right, but would anyone really put money on it?”
🎓 www.bankingofthings.io KITURA
Powered by
Kitura
KITUR
Powered by
Kitura
KITUR
Powered by
Kitura
KITUR
Powered by
Kitura
KITUR
Powered by
Kitura
KITUR
Powered by
Kitura
KITUR
Powered by
Kitura
👓 Production monitoring: CPU
0.4% CPU
KITURA
Powered by
Kitura
👓 Production monitoring: RAM
25 MB
KITURA
Powered by
Kitura
SERVER-SIDE SWIFT
SERVER-SIDE SWIFT
SERVER-SIDE SWIFT
SERVER-SIDE SWIFT
SERVER-SIDE SWIFT
ServerSide.swift
Server-Side Swift Conference

30th October - 1st November 2019. Copenhagen, Denmark.
🙏 Thank you

Contenu connexe

Plus de Chris Bailey

Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesChris Bailey
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftChris Bailey
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftChris Bailey
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionChris Bailey
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesChris Bailey
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftChris Bailey
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesChris Bailey
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftChris Bailey
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesChris Bailey
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java DevelopersChris Bailey
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenChris Bailey
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFChris Bailey
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerChris Bailey
 
O'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsO'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsChris Bailey
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftChris Bailey
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App ArchitecturesChris Bailey
 
InterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring NodejsInterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring NodejsChris Bailey
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsChris Bailey
 
JavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeJavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeChris Bailey
 

Plus de Chris Bailey (20)

Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift Microservices
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack Swift
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is Swift
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the Union
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and Swift
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) Swift
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java Developers
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and When
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
 
O'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud EconomicsO'Reilly Software Architecture Conf: Cloud Economics
O'Reilly Software Architecture Conf: Cloud Economics
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with Swift
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud Economics
 
InterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring NodejsInterConnect2016 Monitoring Nodejs
InterConnect2016 Monitoring Nodejs
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
 
JavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeJavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine Code
 

Dernier

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Dernier (20)

What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

AltConf 2019: Server-Side Swift State of the Union