A Must-Have Mindset to Successfully use Machine Learning by Google

Key message

What is Machine Learning ?

How to build Machine Learning ?

What Machine Learning can do ?


A Quick Review to Design Cost-Optimized Architectures

Part 4 : Design Cost-Optimized Architectures (18% of exam)

  • Identify cost-optimized solutions for Compute, Storage, Database & Network.

1. A company is regularly processing steady workloads every night on their on-premises data center. The CTO has decided to move their IT infrastructure to AWS to save cost and to improve the scalability.

As the Solutions Architect, how can you implement a cost-effective architecture in AWS for their financial system?

Use Scheduled Reserved Instances, which provide compute capacity that is always available on the specified recurring schedule.

Scheduled Reserved Instances enable you to purchase capacity reservations that recur on a daily, weekly, or monthly basis, with a specified start time and duration, for a one-year term. You reserve the capacity in advance, so that you know it is available when you need it. You pay for the time that the instances are scheduled, even if you do not use them.

https://aws.amazon.com/blogs/aws/new-scheduled-reserved-instances/

2. A company has several Reserved EC2 instances hosting a web application that has been decommissioned last week. To save costs, you need to stop incurring charges for the Reserved instances as soon as possible.

What cost-effective steps will you take in this circumstance ?

Terminate the Reserved instances as soon as possible to avoid…


A Quick Review to Design Secure Applications and Architectures

Part 3 : Design Secure Applications and Architectures (24% of exam)

  • Design secure access to AWS resources.
  • Design secure Application tiers.
  • Design appropriate Data Security.

1. The EC2 instances with IPv4 addresses launched in a private subnet.

Which AWS service that can provide a highly available solution to safely fetch the software patches from the Internet but prevent outside network from initiating a connection ?

NAT Gateway — AWS-managed NAT services with high availability & bandwidth, IPv4 supported.

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html

2. A company launched a EC2 instance in private subnet that uses IPv6. Due to the financial data that the server contains, the system should be secured to prevent any unauthorized access and to meet the regulatory compliance requirements.

In this scenario, which VPC feature allows the EC2 instance to communicate to the Internet but prevents inbound traffic?

Egress-only Internet Gateway — a horizontally scaled, redundant, and highly available VPC component that allows outbound communication over IPv6 from instances in your VPC to the internet, and prevents the internet from initiating an IPv6 connection with your instances.

https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html

3. A Solutions Architect created a new IAM User with a default setting using AWS CLI. This is intended to be used to send API requests to Amazon S3, DynamoDB, Lambda, and other AWS resources of the company’s cloud infrastructure.

Which of the following must be done to allow the user to make API calls to the AWS resources ?

Create Access Key for IAM User with necessary permissions.

When you use the AWS Management Console to create a user, you must choose to at least include a console password or access…


A Quick Review to Design High-Performing Architectures

Part 2 : Design High-Performing Architectures (28% of exam)

  • Identify high-performing solutions for Compute, Storage, Database & Network.

1. A global news network created AWS CloudFront distribution for their web application. However, you noticed that the application’s origin server is being hit for each request instead of the Edge Locations, which serve the cached objects. The issue occurs even for the commonly requested objects.

What could be a possible cause of this issue ?

The value of Cache-Control max-age or TTL (Time To Live) is set to zero.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html

2. You are required to set up a distributed session management layer that will provide a scalable and shared data storage for the user sessions.

What would be the best choice to meet the requirement while still providing sub-millisecond latency for the users ?

Amazon ElastiCache

For sub-millisecond latency caching, ElastiCache is the best choice. In order to address scalability and to provide a shared data storage for sessions that can be accessed from any individual web server, you can abstract the HTTP sessions from the web servers themselves. A common solution for this is to leverage an In-Memory Key/Value store such as Redis and Memcached.

https://aws.amazon.com/caching/session-management/

3. A Solutions Architect designed a real-time data analytics system based on Kinesis Data Stream and Lambda. A week after the system has been deployed, the users noticed that it performed slowly as the data rate increases. The Architect identified that the performance of the Kinesis Data Streams is causing this problem.

What should the Architect do to improve performance ?

Increase the number of shards of the Kinesis Data Stream

Amazon Kinesis Data…


A Quick Review to Design Resilient Architectures

Part 1 : Design Resilient Architectures (30% of exam)

  • Design Multi-tier architectures.
  • Design High-available & Fault-tolerance architectures.
  • Design Decoupling mechanisms using AWS services.

1. A system of IoT sensors sends real-time monitoring data to an Amazon Kinesis Stream that is configured with default settings. It then sends the data to an Amazon S3 bucket every 3 days. When you checked the data in S3 on the 3rd day, only the data for the last day is available.

What is the most likely cause of this issue ?

By default, records of a stream are accessible for up to 24 hours from the time they are added to the stream.

You can raise this limit to up to 7 days by enabling extended data retention or up to 365 days by enabling long-term data retention.

https://aws.amazon.com/kinesis/data-streams/faqs/

2. A web application hosted in a Docker container. You want to easily migrate that web application to AWS Cloud which can automatically handle all the tasks such as load-balancing, auto-scaling and monitoring.

Which AWS services can be used to fulfill this requirement?

AWS Elastic Beanstalk.

AWS Elastic Beanstalk makes it even easier for developers to quickly deploy and manage applications in the AWS Cloud. …


Part 5 of Design Pattern series

Common Concepts in Design Pattern

Delegation & Composition

  • Composite
  • Decorator
  • Command
  • Strategy

Abstraction, New Interface

  • Adapter
  • Bridge
  • Facade
  • Mediator

Enhancement

  • Chain of Responsibility
  • Decorator
  • Proxy
  • Visitor

Limit Object Creation, Save Resource

  • Singleton
  • Flyweight
  • Proxy

Undo, Rollback

  • Command
  • Memento

Copy, Clone

  • Prototype
  • Memento

Input at Runtime

  • Chain of Responsibility
  • Command
  • Observer
  • State
  • Strategy

Recursion

  • Composite
  • Decorator
  • Chain of Responsibility
  • Command
  • Iterator

Step of Process

  • Builder
  • Template Method

Creational Design Pattern

  • Sometimes creational patterns are competitors: there are cases when either Prototype or Abstract Factory could be used.
  • At other times they are complementary: Abstract Factory might store a set of Prototypes from which to clone and return product objects. Abstract Factory, Builder, and Prototype can use Singleton in their implementation.

Abstract Factory

  • Abstract Factory can be used as an alternative to Facade to hide…


Part 4 of Design Pattern series

image

1. Chain of Responsibility

  • Keyword — middleware, handler.
  • Link several handlers in specific order of chain. While passing a request to the chain, each handler is asked whether it can process it.

Pros

  • Handler can decide not to pass the request to the chain and effectively stop any further processing.

Cons

  • Some requests may not reach the end of the chain.
  • Others may reach the end of the chain unhandled.

Example


Part 3 of Design Pattern series

image

1. Adapter

  • Create an intermediary abstraction that make two incompatible interfaces work together.
  • Use Case — Universal electrical adapter in our daily life.

Pros

  • Adapter lets you create a middle-layer class between your code to legacy class, 3rd-party class or any other class which you can’t change.

Cons

  • The complexity of the code increases because you need to create & maintain new interfaces and classes. If possible, it’s often simpler just to change the target class so that it matches the rest of your code.

Example


Part 2 of Design Pattern series

image

1. Abstract Factory

  • Produce families of related objects without specifying their concrete classes.
  • Client works with factories and products using abstract interfaces. It makes the same client code working with many product variants, depending on the type of factory object.

Pros

  • You can extract the product creation code into one place, making the code easier to support.
  • You can introduce new variants of products without breaking existing client code.

Cons

  • The code may become more complicated because a lot of new interfaces and classes are introduced.

Example

  • Abstract Factory defines an interface for creating buttons and checkboxes. …

Part 1 of Design Pattern series

What is Design Pattern ?

  • In software engineering, Design Pattern is a general repeatable solution to a common problem in software design.

Benefits of Design Pattern

  • Design Pattern can speed up the development process by providing tested, proven development paradigms.
  • Effective software design requires considering issues that might become visible in development process.
  • In addition, Design Pattern allow developers to communicate using well-known names of common problems.
  • Design Pattern can be improved over time, making them…

Pisit J.

A Software Engineer in Machine Learning world 🤖

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store