Understanding Amazon Aurora HA strategies

If you are reading this, you have probably heard of Amazon Aurora. As you know, Amazon Aurora is a PaaS service provided by AWS as part of the RDS suite of services. It provides a fully managed relational database management system (RDBMS) that comes in two flavors, MySQL and Postgres, while maintaining wire compatibility with both. But, how does this impact your high availability strategies and options?

Read More

AWS App Mesh - A first look

AWS App Mesh is the latest addition to the AWS product potfolio. To quote AWS: “AWS App Mesh makes it easy to monitor and control microservices running on AWS.” AWS App Mesh is in public preview as of this post, and we will take a brief look at it.

Why do you need a service mesh

With increased adoption of microservices, some challenges have surfaced for which a mesh is a solution. A microservice architecture consisting of 50 components may help agility with respect to development, rate of change and the overall flexibility, but with it comes a lack of observability which makes troubleshooting harder. The increased complexity with several hundred services talking to each other also makes management harder. A Service mesh helps manage the complexity of these deployments. It helps improve visibility of the connections between services and, in doing so helps with troubleshooting, management, and security. Service mesh uses network proxies to govern the flow of traffic. By placing itself in the path for all connections in your microservices architecture, it can apply control policies & collect metrics. Service meshes also decouples the application logic from the operational logic by adding a layer that is responsible for how the services connect to each other.

Read More

AWS security hub - An overview

AWS Security Hub was announced in Andy Jassy’s re:Invent 2018 Keynote(46:23) and pitched as “a place to centrally manage security and compliance across your whole AWS environment (applause)” and then went on to announce an array of partners who were part of the initial integration effort (muted applause). While this announcement enjoyed just 3 minutes on centre stage, this is a significant development.

Read More

AWS Lambda custom runtime for PHP: A practical example

This year’s AWS re:Invent was a nonstop, high-powered firehose of exciting new features and products. Native PHP support on Lambda wasn’t one of those features, but the new AWS Lambda runtime API and layers capabilities gives us the ability to build a clean, supportable implementation of PHP on Lambda of our own. In this post, we’ll take a brief look at the overall workflow and runtime lifecycle, and then I will show you one way to build a PHP runtime to start powering your PHP applications on AWS Lambda.

Read More

Back up Oracle with Amazon Simple Storage Service

This blog post reviews how to use Amazon Simple Storage Service (S3), as storage for an Oracle® Database backup. Amazon Web Services (AWS) was the first cloud vendor that Oracle partnered with to enable database backup in the cloud. S3 is the main storage offering of AWS.

Read More

Containers and cloud portability

One of the benefits of containers is the promise of portability. The Docker® mantra is to build, ship, and run. Containers also promise the ability to, with few changes, move from a developer’s laptop to a production environment and, in the same vein, the ability to move from a data center to the cloud or to many clouds. However, adopting containers alone does not guarantee this. At the core, containers are just a better way of packaging your applications. While they ensure a degree of technical compatibility across many clouds, they don’t ensure complete portability by themselves. In this post, we will look at some of the many considerations from the portability lens.

Read More

Developing an effective monitoring strategy

Modern application environments can be complex and include many discrete elements that can all affect the end user’s experience. Because of this, it can be challenging to develop an effective monitoring strategy that allows you to be alerted during potential performance problems and also to use these metrics from a variety of systems to proactively address potential bottlenecks and slow points before they cause end user impact. In this article, we’ll be discussing several best practices for ensuring that your environment is effectively monitored.

Read More

A Tutorial on Application Development Using Vagrant with the PyCharm IDE

I have spent the majority of my career as a Java developer. As a result, I learned to be more productive using an IDE instead of an editor like Vi. Even though Vi is still my editor of choice when I’m in a Linux shell, I don’t believe it’s practical when managing large Java projects.

Read More

Docker, Elastic Beanstalk and Git: a useful trinity for agile development? Part II

I - Introduction

In Part I of this series, we depicted a fictional scenario for agile development using a simple “Hello World” application composed of just a single UI layer. During this fanciful (albeit contrived) exposition, we glossed over many of the underlying details for the sake of brevity. In this article, we will take a little peek under the covers and explain in more depth how we achieved rapid, automated deployments of immutable application containers to remote test environments.

Read More

OpenStack Orchestration in depth, Part I: Introduction to Heat

With this article I begin a series of hands-on developer oriented blog posts that explore OpenStack orchestration using Heat.

To make the most of this article, I recommend that you have an OpenStack installation where you can run the examples I present below. You can use our Rackspace Private Cloud distribution, DevStack, or any other OpenStack distribution that includes Heat.

Read More