Rachel Roumeliotis

Rachel Roumeliotis, a Strategic Content Director at O'Reilly Media, Inc., leads an editorial team that covers a wide variety of programming topics ranging from full-stack, to open source in the enterprise, to emerging programming languages. She is a Programming Chair of OSCON and O'Reilly's Software Architecture Conference. She has been working in technical publishing for 10 years, acquiring content in many areas including mobile programming, UX, computer security, and AI.

3 easy reasons why you’ll move your business to the cloud

Migrating to cloud-native application architectures leads to innovation.

Editor’s note: this is an advance excerpt from Chapter 1 of the forthcoming Migrating to Cloud-Native Application Architectures by Matt Stine. This report examines how the cloud enables innovation and the changes an enterprise must consider when adopting cloud-native application architectures. Also, Matt will be conducting a two-day intensive training on the fundamentals of cloud-native applications at our Software Architecture Conference happening March 16-19 in Boston.

Available 2/25/2015

Available 3/18/2015

Let’s examine the common motivations behind moving to cloud-native application architectures.

Speed

It’s become clear that speed wins in the marketplace. Businesses that are able to innovate, experiment, and deliver software-based solutions quickly are outcompeting those that follow more traditional delivery models.

In the enterprise, the time it takes to provision new application environments and deploy new versions of software is typically measured in days, weeks, or months. This lack of speed severely limits the risk that can be taken on by any one release, because the cost of making and fixing a mistake is also measured on that same timescale.

Internet companies are often cited for their practice of deploying hundreds of times per day. Why are frequent deployments important? If you can deploy hundreds of times per day, you can recover from mistakes almost instantly. If you can recover from mistakes almost instantly, you can take on more risk. If you can take on more risk, you can try wild experiments—the results might turn into your next competitive advantage.

The elasticity and self-service nature of cloud-based infrastructure naturally lends itself to this way of working. Provisioning a new application environment by making a call to a cloud service API is faster than a form-based manual process by several orders of magnitude. Deploying code to that new environment via another API call adds more speed. Adding self-service and hooks to teams’ continuous integration/build server environments adds even more speed. Eventually we can measure the answer to Lean guru Mary Poppendick’s question, “How long would it take your organization to deploy a change that involves just one single line of code?” in minutes or seconds.

Imagine what your team… what your business… could do if you were able to move that fast!

Read more…

Comment

Variations in event-driven architecture

Find out if mediator or broker topology is right for you.

Editor’s note: this is an advance excerpt from Chapter 2 of the forthcoming Software Architecture Patterns by Mark Richards. This report looks at the patterns that define the basic characteristics and behavior of highly scalable and highly agile applications, and will be made available to download in advance of our Software Architecture Conference happening March 16-19 in Boston.

Coming soon.

Available now!

The event-driven architecture pattern is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. It is also highly adaptable and can be used for both small and large, complex applications. The pattern is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events. 

The event-driven architecture pattern consists of two main topologies, the mediator and the broker. The mediator topology is commonly used when you need to orchestrate multiple steps within an event through a central mediator, whereas the broker topology is used when you want to chain events together without the use of a central mediator. Because the architecture characteristics and implementation strategies differ between these two topologies, it is important to understand each one to know which is best suited for your particular situation.

Read more…

Comment

Software engineers must continuously learn and integrate

Four ways programmers can thrive in their careers.

Software engineers: themes to watch in software architecture, open source culture and code, data, mobile and the Internet of Things

As O’Reilly continues to build and assess our programming content ecosystem — now more than 30 years in the making — we have gone from covering a few key languages, operating systems, and concepts to a diversification of topics that would have made an editor’s head spin in the 1980s. Our goal, however, remains the same: to continue to provide practical content from experts who help you do your job. An important piece of that goal is to keep you informed as we interpret the trends on the horizon. What follows are a few of the core themes we are focusing on at the moment. Expect these to evolve and change with the speed of innovation.

You can also stay in the loop on the latest analysis and developments through our weekly Programming newsletter.

Actually be a software engineer

The term “full-stack” first emerged in a 2008 blog post (no longer readable as the link is dead), and perhaps reached its canonical definition in a post by Facebook engineer Carlos Bueno. He wrote:

“A ‘full-stack programmer’ is a generalist, someone who can create a non-trivial application by themselves. People who develop broad skills also tend to develop a good mental model of how different layers of a system behave.“

Whether you are striving to be a full-stack programmer, a T-shaped engineer, or you choose to rebuff those terms entirely as mere marketing, what now floats around as a “full-stack developer” definition is incomplete. Read more…

Comments: 2

Polyglot Programming with Neal Ford

Neal Ford, the author of The Productive Programmer, discusses the benefits of polyglot programming and the impact it’s had on software development.

Comment

The Power of Code for Social Innovation

Help by doing what you love

Vanessa Hurst (@dbness), is a programmer that does good. She started CodeMontage, helps to guide Developers for Good and WriteSpeakCode and co-founded Girl Develop It . We sat down to talk about how coding and coders can truly make a different when it comes to social innovation.

Key highlights include:

  • What exactly is Social Innovation? [Discussed at 0:14]
  • The impact open source can have on social innovation is huge – [Discussed at 0:43]
  • Developers for Good – So you don’t have $10,000 to hand to your favorite charity, what about helping them redesign their website. [Discussed at 1:57]
  • How can you actually get involved? Check out Developers for Good, CodeMontage, or Social Coding for Good. [Discussed at 3:03]

You can view the full interview here:

Read more…

Comment

The Internet of Things Needs the Laws of Robotics

How will our connected world navigate ethics and morality?

Joshua Marinacci (@joshmarinacci), is a researcher at Nokia, author, and speaker. We sat down recently to talk about the quickly growing internet of things and what the future might hold in terms of consequences both foreseen and unexpected.

Key highlights include:

  • And the internet of things is not actually so clearly defined [Discussed at 0:20]
  • The good, bad, and ugly of the internet of things [Discussed at 1:12]
  • Having every single thing connected is a risk [Discussed at 2:14]
  • The origin of The Laws of Robotics [Discussed at 3:24]
  • Should we be paying closer attention to The Laws as we populate the world with more and more robotics? [Discussed at 4:49]

You can view the full interview here:

Read more…

Comment: 1

Dealing with Data in the Hadoop Ecosystem

Hadoop, Sqoop, and ZooKeeper

Kathleen Ting (@kate_ting), Technical Account Manager at Cloudera, and our own Andy Oram (@praxagora) sat down to discuss how to work with structured and unstructured data as well as how to keep a system up and running that is crunching that data.

Key highlights include:

  • Misconfigurations consist of almost half of the support issues that the team at Cloudera is seeing [Discussed at 0:22]
  • ZooKeeper, the canary in the Hadoop coal mine [Discussed at 1:10]
  • Leaky clients are often a problem ZooKeeper detects [Discussed at 2:10]
  • Sqoop is a bulk data transfer tool [Discussed at 2:47]
  • Sqoop helps to bring together structured and unstructured data [Discussed at 3:50]
  • ZooKeep is not for storage, but coordination, reliability, availability [Discussed at 4:44]

You can view the full interview here:

Read more…

Comment

The Programming Industry: Not a Woman’s World – Yet

A Frank Talk about Women in Programming with the Founder of CodeChix

Rupa Dachere (@rdachere), Founder and President of CodeChix, and I had a chance to talk programming and open source community culture at OSCON 2013. She brings up some great points about the specific problems that arise for women, talks about why she brought CodeChix to life, and what we can all do to make the programming community more diverse.

Key highlights include:

  • Women face unique challenges: Time, Resources, and Support [Discussed at 0:18]
  • And, there is support, for instance, CodeChix has refresher courses and tech talks [Discussed at 0:50]
  • The CodeChix origin story [Discussed at 2:36]
  • Cultivating positivity [Discussed at 4:02]
  • Eighteen month outlook – some companies are talking but others need to join the conversation [Discussed at 4:57]

You can view the full interview here:

Read more…

Comment

Django Is Python’s Most Mature Web Framework

Testing, Python 3, and Dealing with Technical Debt

Nathan Yergler (@nyergler), Principal Engineer at Eventbrite, and I had a chance to talk Django at OSCON 2013. We talk about why Django is the go-to choice for Pythonistas and about the growing technical debt that each programmer has to deal with on Python projects and beyond.

Key highlights include:

  • Django is mature and feature complete amidst many Python frameworks [Discussed at 0:15]
  • Testing in Django leads to straightforward code that the next programmer can read as well as you can [Discussed at 1:02]
  • Dare we discuss Django’s weaknesses like: Is Django too monolithic? [Discussed at 2:43]
  • Django at long last supports Python 3! Check out Django 1.5 [Discussed at 4:06]
  • Dealing with technical debt while programming [Discussed at 5:36]

You can view the full interview here:

Read more…

Comment

Raspberry Pi Tips

Simon Monk, full-time author of open source hardware books, talks to me about getting started with the Raspberry Pi.

Comment