Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Web Services to Quantum Computing: The Power of Building on the Cloud

Danilo Poccia
September 17, 2020

From Web Services to Quantum Computing: The Power of Building on the Cloud

AWS Community Day Sri Lanka, September 17th, 2020

Adding new features for your customers, or creating something new from scratch, it’s much easier when you can focus on what you want to build, and not the nuts & bolts of the underlying infrastructure. With AWS, you can start with foundational services for compute, storage, and databases. From there, it’s up to you whether you want to add analytics, leverage machine learning, or understand what is coming next with quantum computing.

Danilo Poccia

September 17, 2020
Tweet

More Decks by Danilo Poccia

Other Decks in Programming

Transcript

  1. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Danilo Poccia
    Chief Evangelist (EMEA)
    @danilop
    From Web Services to Quantum Computing:
    The Power of Building on the Cloud

    View Slide

  2. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Building your ideas…

    View Slide

  3. © 2020, Amazon Web Services, Inc. or its Affiliates.
    IT often starts with a single server…
    Single
    Server

    View Slide

  4. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Your customers are happy…
    Single
    Server
    Customers

    View Slide

  5. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Your customers are happy… until they are not
    Single
    Server
    Customers

    View Slide

  6. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Separate business logic from data
    Application
    Server
    Database
    Server
    Customers

    View Slide

  7. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Scalability & availability
    2 x Application
    Servers
    Database
    Server
    Customers

    View Slide

  8. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Balancing traffic across multiple application server
    2 x Application
    Servers
    Database
    Server
    Load
    Balancer
    Customers

    View Slide

  9. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Managing failover across multiple application server
    2 x Application
    Servers
    Database
    Server
    Load
    Balancer
    Customers

    View Slide

  10. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability for the database
    2 x Application
    Servers
    Active / Standby
    Database
    Load
    Balancer
    Customers

    View Slide

  11. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability for the database
    2 x Application
    Servers
    Active / Standby
    Database
    Load
    Balancer
    Customers

    View Slide

  12. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Deploying on AWS...
    2 x Amazon EC2
    Instances
    Amazon RDS
    Database
    Application
    Load
    Balancer
    Customers

    View Slide

  13. © 2020, Amazon Web Services, Inc. or its Affiliates.
    3 it’s better than 2, elasticity is better than any number
    Amazon EC2
    Auto Scaling
    Amazon RDS
    Database
    Application
    Load
    Balancer
    Customers
    Amazon Aurora
    RDS for MySQL
    RDS for PostgreSQL
    RDS for MariaDB
    RDS for Oracle
    RDS for SQL Server

    View Slide

  14. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Scaling the database is more difficult
    Amazon EC2
    Auto Scaling
    Amazon Aurora
    Database
    Application
    Load
    Balancer
    Customers
    Amazon Aurora
    MySQL or PostgreSQL
    compatible

    View Slide

  15. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Which database to use?
    Amazon EC2
    Auto Scaling
    Amazon Aurora
    Database
    Application
    Load
    Balancer
    Customers

    View Slide

  16. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Database freedom
    Amazon Aurora
    MySQL or PostgreSQL
    compatible
    Amazon DynamoDB
    Amazon DocumentDB
    with MongoDB compatibility
    Amazon Neptune
    (Graph)
    Amazon QLDB
    (Ledger)
    Amazon Keyspaces
    (for Apache Cassandra)

    View Slide

  17. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Using containers
    Amazon Aurora
    MySQL or PostgreSQL
    compatible
    Amazon DynamoDB
    Amazon DocumentDB
    with MongoDB compatibility
    Amazon Neptune
    (Graph)
    Amazon QLDB
    (Ledger)
    Amazon Keyspaces
    (for Apache Cassandra)
    Amazon Elastic
    Container Service
    Amazon Elastic
    Kubernetes Service
    Container
    Container
    Container
    Container
    Container

    View Slide

  18. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Tasks, Pods, and Services
    Amazon Aurora
    MySQL or PostgreSQL
    compatible
    Amazon DynamoDB
    Amazon DocumentDB
    with MongoDB compatibility
    Amazon Neptune
    (Graph)
    Amazon QLDB
    (Ledger)
    Amazon Keyspaces
    (for Apache Cassandra)
    Amazon ECS
    Amazon EKS
    Task
    Pod
    Service

    View Slide

  19. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Managing containers, not clusters
    Amazon Aurora
    MySQL or PostgreSQL
    compatible
    Amazon DynamoDB
    Amazon DocumentDB
    with MongoDB compatibility
    Amazon Neptune
    (Graph)
    Amazon QLDB
    (Ledger)
    Amazon Keyspaces
    (for Apache Cassandra)
    Amazon ECS
    Amazon EKS
    Task
    Pod
    Service
    AWS Fargate

    View Slide

  20. © 2020, Amazon Web Services, Inc. or its Affiliates.
    AWS Lambda
    Function
    Function
    Function
    What about functions?
    Something
    happens!
    Event
    Any public or
    private resource

    View Slide

  21. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Using functions for web applications
    AWS Lambda
    Function
    Function
    Function
    Amazon API
    Gateway
    Application
    Load Balancer
    AWS SDK
    Lambda Invoke API
    sync/async

    View Slide

  22. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Adding storage…
    AWS Lambda
    Function
    Function
    Function
    Amazon API
    Gateway
    Application
    Load Balancer
    AWS SDK
    Lambda Invoke API
    sync/async
    Amazon S3
    Bucket
    HTML,
    CSS, JS
    Images

    View Slide

  23. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Adding storage and authentication
    AWS Lambda
    Function
    Function
    Function
    Amazon API
    Gateway
    Application
    Load Balancer
    AWS SDK
    Lambda Invoke API
    sync/async
    Amazon S3
    Bucket
    Amazon Cognito
    User
    Auth
    HTML,
    CSS, JS
    Images

    View Slide

  24. © 2020, Amazon Web Services, Inc. or its Affiliates.
    What about availability
    and scalability?

    View Slide

  25. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – AWS Global Infrastructure

    View Slide

  26. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – AWS Region
    Region

    View Slide

  27. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – Availability Zones
    Region
    Availability Zone Availability Zone Availability Zone

    View Slide

  28. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – EC2 instances
    Region
    Availability Zone Availability Zone Availability Zone

    View Slide

  29. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – EC2 Auto Scaling
    Region
    Availability Zone Availability Zone Availability Zone
    Auto Scaling group
    Auto Scaling group

    View Slide

  30. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – Containers
    Region
    Availability Zone Availability Zone Availability Zone

    View Slide

  31. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – Elastic Load Balancer
    Region
    Availability Zone Availability Zone Availability Zone

    View Slide

  32. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Availability and scalability – Fully managed services
    Region
    Availability Zone Availability Zone Availability Zone
    API Gateway
    Lambda Function
    DynamoDB Table
    S3 Bucket

    View Slide

  33. © 2020, Amazon Web Services, Inc. or its Affiliates.
    AWS operational responsibility models
    On-Premises Cloud
    Less More
    Compute Virtual Machine
    EC2 Elastic Beanstalk AWS Lambda
    Fargate
    Databases MySQL MySQL on EC2
    RDS MySQL RDS Aurora Aurora Serverless DynamoDB
    Storage Storage
    S3
    Messaging ESBs
    Amazon MQ Kinesis SQS / SNS
    Analytics
    Hadoop Hadoop on EC2 EMR Elasticsearch Service Athena

    View Slide

  34. © 2020, Amazon Web Services, Inc. or its Affiliates.
    What about Analytics?

    View Slide

  35. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Applications produce data…
    Applications

    View Slide

  36. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Applications produce data, microservices even more…
    Applications

    View Slide

  37. © 2020, Amazon Web Services, Inc. or its Affiliates.
    ?
    How to store structured and unstructured data?
    Applications

    View Slide

  38. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Object storage is much easier to manage and use
    Amazon S3
    Applications

    View Slide

  39. © 2020, Amazon Web Services, Inc. or its Affiliates.
    But this is often raw data, not easy to understand
    Raw Data
    Applications
    ?

    View Slide

  40. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Preparing the data…
    Raw Data
    AWS Glue
    Glue
    Crawler
    Glue
    Data
    Catalog
    Glue
    Job
    Prepared Data
    Extract, Transform, and Load (ETL)
    Applications

    View Slide

  41. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Preparing the data to be analyzed
    Raw Data
    AWS Glue
    Glue
    Crawler
    Glue
    Data
    Catalog
    Glue
    Job
    Prepared Data
    Amazon Athena
    Amazon Redshift
    Load / Query
    Query
    Extract, Transform, and Load (ETL) Analytics
    Applications

    View Slide

  42. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Building a Data Lake
    Amazon Athena
    Amazon Redshift
    Load / Query
    Query
    AWS Lake Formation

    View Slide

  43. © 2020, Amazon Web Services, Inc. or its Affiliates.
    What can I do with a Data Lake?
    Data Lake
    ?

    View Slide

  44. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Visualizations & business alerts
    Data Lake
    Amazon QuickSight Visualize Alerts

    View Slide

  45. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Finding hidden patterns and creating preditions
    Data Lake
    Amazon QuickSight
    Amazon SageMaker
    Visualize Alerts
    Hidden Patterns Predictions

    View Slide

  46. © 2020, Amazon Web Services, Inc. or its Affiliates.
    What about Machine Learning?

    View Slide

  47. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Supervised / Unsupervised Learning
    Data

    View Slide

  48. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Supervised / Unsupervised Learning
    Data Notebook Model
    Train
    Amazon SageMaker
    Predictions

    View Slide

  49. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Supervised / Unsupervised Learning
    Data Notebook Model
    Train
    Amazon SageMaker
    Ground Truth
    Labeled
    Data
    Amazon SageMaker
    Predictions

    View Slide

  50. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Supervised / Unsupervised Learning
    Data Notebook Model
    Train
    Amazon SageMaker
    Ground Truth
    Labeled
    Data
    Amazon SageMaker
    Predictions
    Amazon SageMaker
    Autopilot
    Amazon SageMaker
    Experiments
    Amazon SageMaker
    Debugger
    Amazon SageMaker
    Model Monitor
    Amazon SageMaker
    Studio

    View Slide

  51. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Supervised / Unsupervised Learning
    Data Notebook Model
    Train
    Amazon SageMaker
    Ground Truth
    Labeled
    Data
    Amazon SageMaker
    Predictions
    Amazon SageMaker
    Autopilot
    Amazon SageMaker
    Experiments
    Amazon SageMaker
    Debugger
    Amazon SageMaker
    Model Monitor
    Amazon SageMaker
    Neo
    Amazon SageMaker
    Studio

    View Slide

  52. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Adding human feedback to the loop
    Data Notebook Model
    Train
    Amazon SageMaker
    Ground Truth
    Labeled
    Data
    Amazon SageMaker
    Predictions
    Amazon SageMaker
    Autopilot
    Amazon SageMaker
    Experiments
    Amazon SageMaker
    Debugger
    Amazon SageMaker
    Model Monitor
    Amazon SageMaker
    Neo
    Amazon Augmented AI
    Human
    Feedback
    Amazon SageMaker
    Studio

    View Slide

  53. © 2020, Amazon Web Services, Inc. or its Affiliates.
    And Quantum Computing?

    View Slide

  54. © 2020, Amazon Web Services, Inc. or its Affiliates.
    We are used to store data in “bits” that can be 0 or 1…
    Bit #1
    Value
    It’s 0 !
    0 1

    View Slide

  55. © 2020, Amazon Web Services, Inc. or its Affiliates.
    We are used to store data in “bits” that can be 0 or 1…
    Bit #1
    Bit #2
    0 1
    Value
    Bit #3
    It’s 0 !
    It’s 1 !
    It’s 1 again !

    View Slide

  56. © 2020, Amazon Web Services, Inc. or its Affiliates.
    “Qubits” can still have 2 different states…
    Qubit #1
    Qubit #2
    | ⟩
    | ⟩

    Value
    It’s | ⟩
    0
    It’s | ⟩
    1

    View Slide

  57. © 2020, Amazon Web Services, Inc. or its Affiliates.
    “Qubits” can still have 2 different states, but they can be
    in superposition
    Qubit #1
    Qubit #2
    Value
    Qubit #3
    Qubit #4
    It’s | ⟩
    0 50% of the time, | ⟩
    1 the other 50%
    It’s | ⟩
    0 90% of the time, | ⟩
    1 the other 10%
    | ⟩
    | ⟩

    It’s | ⟩
    0
    It’s | ⟩
    1

    View Slide

  58. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Qubits also have a relative “phase”…
    Qubit #1
    Qubit #2
    Value
    Qubit #3
    Qubit #4
    | ⟩
    | ⟩

    View Slide

  59. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Qubits also have a relative “phase” that we can use when
    interacting with more than one qubit…
    Qubit #1
    Qubit #2
    Value
    Qubit #3
    Qubit #4
    | ⟩
    | ⟩

    View Slide

  60. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Qubits can be entangled, so that actions performed on
    one affect the other
    Qubit #1
    Qubit #2
    Value
    Qubit #3
    Qubit #4
    | ⟩
    | ⟩

    View Slide

  61. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Why are qubits useful?
    • Qubit express perfect randomness
    • Some problems can be solved exponentially faster
    • New algorithms are possible! For example,
    • Grover’s search algorithm – O( ) instead of O()
    • Shor’s factoring algorithm – runs in polynomial time
    • Possible applications are:
    • Molecular simulation
    • Optimization
    • Quantum Machine Learning

    View Slide

  62. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Can I use Quantum
    Computing today?

    View Slide

  63. © 2020, Amazon Web Services, Inc. or its Affiliates.
    To extend the power of a CPU…
    CPU

    View Slide

  64. © 2020, Amazon Web Services, Inc. or its Affiliates.
    To extend the power of a CPU, you can add a GPU…
    CPU GPU
    Tensorflow
    PyTorch
    . . .

    View Slide

  65. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Similarly, you can add a Quantum Computing Unit (QPU)
    CPU

    View Slide

  66. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Similarly, you can add a Quantum Computing Unit (QPU),
    and use high-level frameworks and libraries
    CPU QPU
    Higher-level
    Frameworks
    and Libraries

    View Slide

  67. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Explore and experiment with quantum computing
    using Amazon Braket, it’s easier than what you may think!
    Amazon Braket
    Gate-based superconducting qubits Gate-based ion traps Quantum annealing
    AWS Simulator
    Notebook

    View Slide

  68. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Quantum Demo J
    Grover’s search algorithm – O( ) instead of O()
    For simplicity, let’s search between 8 different values:
    111
    000
    001
    010
    011
    100
    101
    110
    111

    View Slide

  69. © 2020, Amazon Web Services, Inc. or its Affiliates.
    So what now?

    View Slide

  70. © 2020, Amazon Web Services, Inc. or its Affiliates.
    © 2020, Amazon Web Services, Inc. or its Affiliates.
    Your time is a limited resource,
    look for tools that let you focus
    on what you want to build

    View Slide

  71. © 2020, Amazon Web Services, Inc. or its Affiliates.
    Thank you!
    @danilop Please give me your feedback! J

    View Slide