aws user group - survey results and building apis on aws

37
#6 - Survey Results and Building APIs on AWS 10 November 2015 Presenter: Sebastian Krueger – Co-Founder and Technical Director at API Talent

Upload: sebastian-krueger

Post on 22-Jan-2018

275 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: AWS User Group - Survey Results and Building APIs on AWS

#6 - Survey Results and Building APIs on AWS10 November 2015

Presenter: Sebastian Krueger – Co-Founder and Technical Director at API Talent

Page 2: AWS User Group - Survey Results and Building APIs on AWS

AcknowledgementsWe would like to thanks our sponsors for their help in making

AWS User Group Wellington a success.

Bronnie – OptimalPeople

Dan - OptimalBI

Buzzy – Amazon Web Services

Seb – API Talent

Page 3: AWS User Group - Survey Results and Building APIs on AWS

Agenda

• Part I: Survey Results

• Part II: Building APIs on AWS• API Overview

• API Case Study

• Server-based APIs on AWS Overview

• Server-less APIs on AWS Overview / Demo

Page 4: AWS User Group - Survey Results and Building APIs on AWS

Part I

Page 5: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Quality Rating

0

2

4

6

8

10

12

14

16

18

1 2 3 4 5 N/A

User Group Rating

User Group Rating

0

2

4

6

8

10

12

14

1 2 3 4 5 0

Num Meetups Attended

Num Meetups Attended

Page 6: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Scheduling

0

5

10

15

20

25

Monday Tuesday Wednesday Thursday Friday

Meetup Day

Meetup Day

0

5

10

15

20

25

12pm 1pm 4pm 530pm 6pm

Meetup Time

Meetup Time

0

5

10

15

20

25

Every 4weeks

Every 5weeks

Every 6weeks

Every 7weeks

Every 8weeks

Meetup Frequency

Meetup Frequency

Page 7: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Content

0

5

10

15

20

25

30

Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions

Meetup Content

Meetup Content

Page 8: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Content

0

5

10

15

20

25

30

Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions

Meetup Content

Meetup Content

0

5

10

15

20

25

30

Technical Deep Dive AWS Service Overview Generic Use Cases Wellington AWSCustomer Solutions

Meetup Content – Most Preferred

Meetup Content - The Most

Page 9: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Content – Service Category

02468

101214161820

Service Category First Choice

Service Category First Choice

Page 10: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Content – Service Category

02468

101214161820

Service Category First Choice

Service Category First Choice

0

2

4

6

8

10

12

Service Category Second Choice

Service Category Second Choice

Page 11: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Speaker Type

0

5

10

15

20

25

30

AWS Staff Enterprise AWSCustomers

Startup AWSCustomers

AWS TechnologyPartners

AWS ConsultingPartners

Speaker Type

Speaker Type

Page 12: AWS User Group - Survey Results and Building APIs on AWS

Survey: Meetup Speaker Type

0

5

10

15

20

25

30

AWS Staff Enterprise AWSCustomers

Startup AWSCustomers

AWS TechnologyPartners

AWS ConsultingPartners

Speaker Type

Speaker Type

0

2

4

6

8

10

12

14

AWS Staff Enterprise AWSCustomers

Startup AWSCustomers

AWS TechnologyPartners

AWS ConsultingPartners

Speaker Type – Most Preferred

Speaker Type - The Most

Page 13: AWS User Group - Survey Results and Building APIs on AWS

Survey: Respondents - Who are you?

0

2

4

6

8

10

12

14

16

18

CloudArchitect

DevOpsEngineer / IT

Ops

ApplicationDeveloper

Manager(Practice /

Project)

Other

Job Function

Job Function

0

5

10

15

20

Every day, all daylong

Weekly Monthly Not at all

AWS Usage Frequency

AWS Usage Frequency

0

2

4

6

8

10

12

No skills Novice /Beginner

Intermediate Advanced Expert World ClassCloud Ninja

AWS Skill Level

AWS Skill Level

Page 14: AWS User Group - Survey Results and Building APIs on AWS

Survey: Respondents – AWS Certs

0

2

4

6

8

10

12

14

Solutions Architect- Associate

Developer -Associate

SysOpsAdministrator -

Associate

Solutions Architect- Professional

DevOps Engineer -Professional

AWS Certs Completed

AWS Certs Completed

0

2

4

6

8

10

12

14

Not interested Considering it Started Studying

More Certs?

More Certs?

Page 15: AWS User Group - Survey Results and Building APIs on AWS

Survey: Cloud Vendors

0

5

10

15

20

25

30

35

40

45

Amazon WebServices

Microsoft Azure Google Compute OpenStack Other Total SurveyResponses

Using Which Cloud Vendors

Using Which Cloud Vendors

Page 16: AWS User Group - Survey Results and Building APIs on AWS

Survey Results Summary• Meetup day of the week: Tuesday

• Meetup time: 4pm or 5.30pm

• Meetup frequency: 6 weeks

• Meetup Content: • Anything goes.

• Technical deep dive preferred

• Service Categories: 1st Compute, 2nd Storage, 3rd Analytics

• Speaker type: • Anything goes

• Enterprise Customers or Startup Customers preferred

Page 17: AWS User Group - Survey Results and Building APIs on AWS

Part II

Page 18: AWS User Group - Survey Results and Building APIs on AWS

What is an API?

An Application Programming Interface (API) is a specification intended to be used as an interface by software components to communicate with each other. An API may include specifications for routines, data structures, object classes, and variables.Source: Wikipedia

Page 19: AWS User Group - Survey Results and Building APIs on AWS

An analogy: The evolution of the car industry follows the logic of APIs

Yesterday

Carmaker = craftsman

• Tailor made

• Custom design for each element of the car (wheels, seats, brakes, lights, roof, etc.)

• Restricted modularity

• No standardised processes

Source: 3Scale, What is an API?

Today

Carmaker = system integrator

• Car divided into subsystems (powertrain, brakes, steering, suspension, etc.)

• Main elements designed separately and reused in different cars

• Standardised processes

• Communication interfaces between different engineering teams

Page 20: AWS User Group - Survey Results and Building APIs on AWS

An analogy: The evolution of the car industry follows the logic of APIs

Page 21: AWS User Group - Survey Results and Building APIs on AWS

So, what is an API?

Page 22: AWS User Group - Survey Results and Building APIs on AWS

API Case Study: Fitbit API, externalising R&DFitbit is a fitness tracker that records health and fitness data.

Originally, there was only one application using the data developed by Fitbit.

In 2011, Fitbit created an API to allow third party developers to create fitness apps using Fitbithealth data such as daily steps, calories burned, food eaten and weight.

Page 23: AWS User Group - Survey Results and Building APIs on AWS

Thriving innovation based on the Fitbit API34 Apps were built on the Fitbit API creating innovative uses of fitness and health data.

Page 24: AWS User Group - Survey Results and Building APIs on AWS

What would it have cost if there were no APIs?What would it have cost if Fitbit had developed these apps themselves?

Let’s assume 1 application = $50,000

34 applications are using the fitness data from Fitbit API

Developing these apps would have cost FitBit:

$1,700,000

Page 25: AWS User Group - Survey Results and Building APIs on AWS

Even your bottle has an API!

Page 26: AWS User Group - Survey Results and Building APIs on AWS

Endless possibilities…

Page 27: AWS User Group - Survey Results and Building APIs on AWS

But…What do these APIs actually look like?APIs can be classified in several categories depending what abstraction is being described.

API Category Example Timeline

Operating System API for MS WindowsAPI for Apple Mac OS X (Cocoa)

1985-2001-

Programming Languages Java API 1995-

Application Services API for SAP (BAPI) 1990s-

Infrastructure Services Amazon Web Services API 2002-

Web Services Twitter API 2006-

Page 28: AWS User Group - Survey Results and Building APIs on AWS

REST architecture for APIsRESTFul is a style of software architecture that allows data exchange through human readable URIs.

REST language uses nouns and verbs, and has an emphasis on readability. It ultimately uses less bandwidth than other languages such as SOAP for instance.

• GET – Access a resource

• PUT – Update a resource

• POST – Create a resource

• DELETE – Delete a resource

Page 29: AWS User Group - Survey Results and Building APIs on AWS

Let’s Build an API using AWSThere are a few options:

• Roll your own (raw EC2) (could use CodeDeploy)

• OpsWorks

• Elastic Beanstalk

• API Gateway / Lambda

Use 3rd Party PaaS (on top of AWS):

• Heroku, Cloud 66, etc, etc, etc

Page 30: AWS User Group - Survey Results and Building APIs on AWS

First Up: AWS Beanstalk• EC2 - Elastic Compute Cloud

• S3 – Simple Storage Service

• ELB – Elastic Load Balancer

• Auto Scaling – starts new EC2 instances

• EBS – Elastic Block Storage; virtual hard disks

AWS Beanstalk provides a convenience layer on top of all of these services.

Page 31: AWS User Group - Survey Results and Building APIs on AWS

Elastic Beanstalk in a Nutshell• EC2 Server

• + Linux

• + OpenJDK

• + Tomcat

• Scaling Elastic Load Balancer / Auto Scaling

• Deploy artefacts on S3

• Can add database (RDS)

Page 32: AWS User Group - Survey Results and Building APIs on AWS

AWS Beanstalk Language Support

Page 33: AWS User Group - Survey Results and Building APIs on AWS

Let’s build a Java-based Web APIDEMO TIME

GET http://somewhere/hello/seb

Returns:

“Hello seb”

Page 34: AWS User Group - Survey Results and Building APIs on AWS

Amazon API Gateway and AWS Lambda

AMS Lambda + Amazon API Gateway means no infrastructure to manage - AWS does the scaling for you.

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.

Lambda functions is stateless, trigger based code execution.

Page 35: AWS User Group - Survey Results and Building APIs on AWS

A new, fully managed model

Page 36: AWS User Group - Survey Results and Building APIs on AWS

Amazon API Gateway and AWS LambdaDemo: Hello World with Name using Lambda/Python

GET http://somewhere/hello/seb

Returns:

“Hello seb”

Page 37: AWS User Group - Survey Results and Building APIs on AWS

Thanks to our Sponsors